public ErrorModel AddDishToMenu(AddDishModel model) { var errors = new ErrorModel(); if (model == null) { errors.Messages.Add("Invalid data."); return(errors); } var dish = model.DishToAdd; if (dish == null) { errors.Messages.Add("No dish found to add."); return(errors); } var provider = DbContext.GetProviders().SingleOrDefault(p => p.ProviderId == model.ProviderId); if (provider == null || provider.ProviderStatus != ProviderStatus.Verified) { errors.Messages.Add("Cannot add dish for any address not verified provider."); return(errors); } var newDish = dish.ToEntity(); newDish.ProviderId = model.ProviderId; newDish.Available = true; try { DbContext.SaveDishes(new List <DishEntity> { newDish }); return(errors); } catch (Exception ex) { errors.Messages.Add(ex.Message); return(errors); } }