I'm trying to list my reservations by different admins. However, the way I did, he lists all the reservations.
This is the method I'm using:
public ActionResult Index()
{
Administrador administrador = db.Administradores.FirstOrDefault(a => a.Email == User.Identity.Name);
if (administrador != null)
{
return View(db.Reservas.ToList());
}
else
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
}
Reserve Class:
public class Reserva
{
[Key]
public int ReservaID { get; set; }
[Required(ErrorMessage = "Preencha o horário para reserva")]
[DisplayName("Horário")]
[DataType(DataType.Time)]
public string Horario { get; set; }
[Required(ErrorMessage = "Preencha o limite de pedidos/hora")]
[DisplayName("Limite de Pedidos/Hora")]
public int LimitePedidos { get; set; }
[Required(ErrorMessage = "Preencha a mesa")]
[DisplayName("Mesa")]
[StringLength(10, MinimumLength = 1, ErrorMessage = "A mesa deve ter no máximo 10 caracteres")]
public string Mesa { get; set; }
[Required(ErrorMessage = "Preencha o valor da reserva")]
[DisplayName("Valor")]
public double Valor { get; set; }
public virtual ICollection<Restaurante> Restaurantes { get; set; }
}
Restaurant Class:
public abstract class Restaurante
{
[Key]
public int RestauranteID { get; set; }
[Required(ErrorMessage = "Preencha o nome do Restaurante")]
[DisplayName("Restaurante")]
[StringLength(50, MinimumLength = 5, ErrorMessage = "O nome do restaurante deve ter entre 5 e 50 caracteres.")]
public string Nome { get; set; }
[Required(ErrorMessage = "Preencha o tipo de cozinha")]
[DisplayName("Cozinha")]
public int CozinhaID { get; set; }
public virtual Cozinha Cozinha { get; set; }
[Required(ErrorMessage = "Preencha o telefone")]
[DisplayName("Telefone")]
[StringLength(12, MinimumLength = 10, ErrorMessage = "O número de telefone deve haver 12 caracteres.")]
public string Telefone { get; set; }
[Required(ErrorMessage = "Preencha o CNPJ")]
[DisplayName("Cnpj")]
[StringLength(18, MinimumLength = 18, ErrorMessage = "O CNPJ deve haver no máximo, 18 caracteres.")]
public string Cnpj { get; set; }
[Required(ErrorMessage = "Preencha o CEP")]
[DisplayName("CEP")]
[StringLength(9, MinimumLength = 8, ErrorMessage = "O CEP deve haver no máximo 9 caracteres.")]
public string Cep { get; set; }
[Required(ErrorMessage = "Preencha a Cidade")]
[DisplayName("Cidade")]
[StringLength(50, MinimumLength = 5, ErrorMessage = "A cidade deve ter entre 5 e 50 caracteres.")]
public string Cidade { get; set; }
[Required(ErrorMessage = "Preencha o Estado")]
[DisplayName("Estado")]
[StringLength(2, MinimumLength = 2, ErrorMessage = "A sigla do estado deve haver 2 caracteres.")]
public string Estado { get; set; }
[Required(ErrorMessage = "Preencha o Bairro")]
[DisplayName("Bairro")]
[StringLength(50, MinimumLength = 5, ErrorMessage = "O bairro deve ter entre 5 e 50 caracteres.")]
public string Bairro { get; set; }
[Required(ErrorMessage = "Preencha a Rua")]
[DisplayName("Rua")]
[StringLength(50, MinimumLength = 5, ErrorMessage = "A rua deve ter entre 5 e 50 caracteres.")]
public string Rua { get; set; }
[Required(ErrorMessage = "Preencha a número do estabelecimento")]
[DisplayName("Número")]
public int NumRua { get; set; }
[Required(ErrorMessage = "Preencha o nome do responsável pelo estabelecimento")]
[DisplayName("Nome")]
[StringLength(50, MinimumLength = 5, ErrorMessage = "O nome do responsável deve ter entre 5 e 50 caracteres.")]
public string NomeResp { get; set; }
[Required(ErrorMessage = "Preencha o sobrenome do responsável pelo estabelecimento")]
[DisplayName("Sobrenome")]
[StringLength(50, MinimumLength = 5, ErrorMessage = "O sobrenome do responsável deve ter entre 5 e 50 caracteres.")]
public string SobrenomeResp { get; set; }
[Required(ErrorMessage = "Preencha o Email")]
[DisplayName("Email")]
[DataType(DataType.EmailAddress)]
[EmailAddress(ErrorMessage = "E-mail inválido")]
[StringLength(255, MinimumLength = 3, ErrorMessage = "O email deve ter entre 3 e 255 caracteres.")]
public string Email { get; set; }
[Required(ErrorMessage = "Preencha o Celular")]
[DisplayName("Telefone")]
[StringLength(15, MinimumLength = 10, ErrorMessage = "O número de celular deve haver entre 10 e 15 caracteres.")]
public string Celular { get; set; }
[Required(ErrorMessage = "Preencha a senha")]
[DisplayName("Senha")]
[StringLength(50, MinimumLength = 3, ErrorMessage = "A senha deve ter entre 3 e 50 caracteres.")]
[DataType(DataType.Password)]
public string Senha { get; set; }
public virtual Usuario Usuario { get; set; }
[DisplayName("Foto")]
public string Foto { get; set; }
public virtual Reserva Reserva { get; set; }
public virtual Produto Produto { get; set; }
}
Restaurant is abstract
, as the Administrator class inherits all fields from it. But it's empty.