public void Delete(int id, string email)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                FoodTruck item = db.FoodTruck.Find(id);

                FuncionarioBusiness funcionarioBusiness = new FuncionarioBusiness(db);

                var funcionario = funcionarioBusiness.GetFuncionarioByEmail(email);
                if (funcionario == null)
                {
                    throw new ExceptionBusiness("Ocorreu um erro ao salvar o FoodTruck favor tente mais tarde, caso o erro continue entre em contato a área responsável pelo sistema.");
                }

                if (funcionario.FoodTruckFuncionario.Count <= 1)
                {
                    throw new ExceptionBusiness("Você deve possuir ao menos um FoodTruck cadastrato.");
                }

                foreach (var itemFF in item.FoodTruckFuncionario.ToList())
                {
                    itemFF.Funcionario = null;
                    itemFF.FoodTruck   = null;
                    db.FoodTruckFuncionario.Remove(itemFF);
                }

                db.FoodTruck.Remove(item);
                db.SaveChanges();
                scope.Complete();
            }
        }
        public void Update(FoodTruck foodTruck)
        {
            VerificarFoodTruckExiste(foodTruck);

            FuncionarioBusiness funcionarioBusiness = new FuncionarioBusiness(db);
            var funcionario = funcionarioBusiness.GetFuncionarioByEmail(foodTruck.EmailFuncionario);

            if (funcionario == null)
            {
                throw new ExceptionBusiness("Ocorreu um erro ao salvar o FoodTruck favor tente mais tarde, caso o erro continue entre em contato a área responsável pelo sistema.");
            }

            FoodTruck foodTruckOriginal = db.FoodTruck.Find(foodTruck.Id);

            db.Entry(foodTruckOriginal).CurrentValues.SetValues(foodTruck);
            db.SaveChanges();
        }
        public void Insert(FoodTruck foodTruck)
        {
            VerificarFoodTruckExiste(foodTruck);
            FuncionarioBusiness funcionarioBusiness = new FuncionarioBusiness(db);

            if (!string.IsNullOrEmpty(foodTruck.EmailFuncionario))
            {
                var funcionario = funcionarioBusiness.GetFuncionarioByEmail(foodTruck.EmailFuncionario);
                if (funcionario == null)
                {
                    throw new ExceptionBusiness("Ocorreu um erro ao salvar o FoodTruck favor tente mais tarde, caso o erro continue entre em contato a área responsável pelo sistema.");
                }

                foodTruck.FoodTruckFuncionario = new List <FoodTruckFuncionario>();
                foodTruck.FoodTruckFuncionario.Add(new FoodTruckFuncionario()
                {
                    IdFuncionario = funcionario.Id
                });
            }

            db.FoodTruck.Add(foodTruck);
            db.SaveChanges();
        }