public Status UpdateFoodNutrionInfo(TFoodNutrition datas) { this._logger.LogWarning("The server execute UpdateFoodNutrionInfo Fuction --" + DateTime.Now.ToString()); EFHelper <TFoodNutrition> eFHelper = new EFHelper <TFoodNutrition>(); try { eFHelper.Update(datas); Status status = new Status() { StatusCode = 200, Message = "修改成功", ReturnTime = DateTime.Now }; return(status); } catch (Exception ex) { this._logger.LogWarning("The server execute AddNutrition Fuction --" + ex.Message + DateTime.Now.ToString()); Status status = new Status() { StatusCode = 0, Message = "修改失败", ReturnTime = DateTime.Now }; return(status); } }
public Status DeleteFoodNutrionInfo(int id) { this._logger.LogWarning("The server execute DeleteFoodNutrionInfo Fuction --" + DateTime.Now.ToString()); EFHelper <TFoodNutrition> eFHelper = new EFHelper <TFoodNutrition>(); try { TFoodNutrition result = eFHelper.getList(a => a.Id == id).FirstOrDefault(); if (result == null) { this._logger.LogWarning("This object is null "); throw new Exception(); } else { eFHelper.Delete(result); Status status = new Status() { StatusCode = 200, Message = "删除成功", ReturnTime = DateTime.Now }; return(status); } } catch (Exception ex) { this._logger.LogWarning("The server execute DeleteNutritionInfo Fuction --" + ex.Message + DateTime.Now.ToString()); Status status = new Status() { StatusCode = 0, Message = "删除失败", ReturnTime = DateTime.Now }; return(status); } }
public Task <ResultWrapper <UpdateSupplierFoodOutput> > Handle(UpdateSupplierFoodCommand request, CancellationToken cancellationToken) { ResultWrapper <UpdateSupplierFoodOutput> updateFoodResult = new ResultWrapper <UpdateSupplierFoodOutput>(); if (!request.FoodNutritions.Any()) { updateFoodResult.Status = false; updateFoodResult.Message = "please enter nutiritions!"; return(Task.FromResult(updateFoodResult)); } try { using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.RequiresNew)) { TFood tFood = _dbContext.TFood .Include(x => x.TFoodNutritions) .FirstOrDefault(x => x.Id == request.Id); if (tFood == null) { updateFoodResult.Status = false; updateFoodResult.Message = "this food doesn't exists!"; return(Task.FromResult(updateFoodResult)); } tFood.Title = request.Title; tFood.Image = request.Image; tFood.Tags = request.Tags; tFood.Price = request.Price; tFood.Enabled = request.Enabled; tFood.TFoodTypeId = request.FoodTypeId; _dbContext.TFood.Update(tFood); _dbContext.SaveChanges(); List <TReference> tRefrences = _dbContext.TReference.Where(x => tFood.TFoodNutritions.Select(x => x.TReferenceId).Contains(x.Id)).ToList(); _dbContext.TFoodNutrition.RemoveRange(tFood.TFoodNutritions); _dbContext.TReference.RemoveRange(tRefrences); _dbContext.SaveChanges(); foreach (var nutrition in request.FoodNutritions) { TFoodNutrition tFoodNutrition = new TFoodNutrition() { Amount = nutrition.Amount, Enabled = true, Created = DateTime.Now, TFoodId = tFood.Id, TNutritionId = nutrition.Id, TNutritionUnitId = nutrition.UnitId, TReference = new TReference() { Enabled = true, RecordType = ReferenceRecordTypeEnum.FOOD_NUTIRTION } }; _dbContext.TFoodNutrition.Add(tFoodNutrition); } _dbContext.SaveChanges(); foreach (TFoodNutrition foodNutrition in tFood.TFoodNutritions) { foodNutrition.TReference.RecordId = foodNutrition.Id; _dbContext.TReference.Update(foodNutrition.TReference); } _dbContext.SaveChanges(); // Food Diets List <TFoodDiet> foodDiets = _dbContext.TFoodDiet.Where(x => x.TFood.Id == tFood.Id).ToList(); _dbContext.TFoodDiet.RemoveRange(foodDiets.Where(x => !request.Diets.Contains(x.TDietId))); int selectedDietsCount = _dbContext.TDiet.Where(x => request.Diets.Contains(x.Id)).Count(); if (selectedDietsCount != request.Diets.Count) { updateFoodResult.Status = false; updateFoodResult.Message = "Selected diets are invalid!"; return(Task.FromResult(updateFoodResult)); } foreach (int dietId in request.Diets.Where(x => !foodDiets.Any(z => z.TDietId == x))) { _dbContext.TFoodDiet.Add(new TFoodDiet() { TFoodId = tFood.Id, TDietId = dietId }); } // Food Allergies List <TFoodAllergy> foodAllergies = _dbContext.TFoodAllergy.Where(x => x.TFood.Id == tFood.Id).ToList(); _dbContext.TFoodAllergy.RemoveRange(foodAllergies.Where(x => !request.Allergies.Contains(x.TAllergyId))); int selectedAllergiesCount = _dbContext.TAllergy.Where(x => request.Allergies.Contains(x.Id)).Count(); if (selectedAllergiesCount != request.Allergies.Count) { updateFoodResult.Status = false; updateFoodResult.Message = "Selected Allergies are invalid!"; return(Task.FromResult(updateFoodResult)); } foreach (int AllergyId in request.Allergies.Where(x => !foodAllergies.Any(z => z.TAllergyId == x))) { _dbContext.TFoodAllergy.Add(new TFoodAllergy() { TFoodId = tFood.Id, TAllergyId = AllergyId }); } // Food Deficiencies List <TFoodDeficiency> foodDeficiencies = _dbContext.TFoodDeficiency.Where(x => x.TFood.Id == tFood.Id).ToList(); _dbContext.TFoodDeficiency.RemoveRange(foodDeficiencies.Where(x => !request.Deficiencies.Contains(x.TDeficiencyId))); int selectedDeficienciesCount = _dbContext.TDeficiency.Where(x => request.Deficiencies.Contains(x.Id)).Count(); if (selectedDeficienciesCount != request.Deficiencies.Count) { updateFoodResult.Status = false; updateFoodResult.Message = "Selected Deficiencies are invalid!"; return(Task.FromResult(updateFoodResult)); } foreach (int DeficiencyId in request.Deficiencies.Where(x => !foodDeficiencies.Any(z => z.TDeficiencyId == x))) { _dbContext.TFoodDeficiency.Add(new TFoodDeficiency() { TFoodId = tFood.Id, TDeficiencyId = DeficiencyId }); } // Food NutritionCondition List <TFoodNutritionCondition> userNutritionConditions = _dbContext.TFoodNutritionCondition.Where(x => x.TFood.Id == tFood.Id).ToList(); _dbContext.TFoodNutritionCondition.RemoveRange(userNutritionConditions.Where(x => !request.NutritionConditions.Contains(x.TNutritionConditionId))); int selectedNutritionConditionsCount = _dbContext.TNutritionCondition.Where(x => request.NutritionConditions.Contains(x.Id)).Count(); if (selectedNutritionConditionsCount != request.NutritionConditions.Count) { updateFoodResult.Status = false; updateFoodResult.Message = "Selected nutrition Conditions are invalid!"; return(Task.FromResult(updateFoodResult)); } foreach (int NutritionConditionId in request.NutritionConditions.Where(x => !userNutritionConditions.Any(z => z.TNutritionConditionId == x))) { _dbContext.TFoodNutritionCondition.Add(new TFoodNutritionCondition() { TFoodId = tFood.Id, TNutritionConditionId = NutritionConditionId }); } _dbContext.SaveChanges(); SqlParameter foodId = new SqlParameter("@FoodID", tFood.Id); _dbContext.Database.ExecuteSqlRaw("EXEC spCalculateFoodRefrence @FoodID", foodId); transaction.Complete(); updateFoodResult.Status = true; updateFoodResult.Result = new UpdateSupplierFoodOutput() { Id = tFood.Id }; } } catch (SqlException ex) { updateFoodResult.Status = false; updateFoodResult.Message = ex.ToJsonString(); } catch (Exception ex) { updateFoodResult.Status = false; updateFoodResult.Message = ex.ToJsonString(); } return(Task.FromResult(updateFoodResult)); }
public Status AddFoodNutrionInfo(string foodname, string nutritionalingredient, string introduce, List <IFormFile> files) { TFoodNutrition foodNutrition = new TFoodNutrition() { FoodName = foodname, Introduce = introduce, NutritionalIngredient = nutritionalingredient }; List <string> filenames = new List <string>(); string resultfilename = string.Empty; bool flag = false; this._logger.LogWarning("The server execute AddFoodNutrionInfo Fuction --" + DateTime.Now.ToString()); using (DietaryNutritionContext dbcontext = new DietaryNutritionContext()) { try { if (foodNutrition.FoodName != "") { flag = FileSave(files, foodNutrition.FoodName, out filenames); } else { flag = FileSave(files, DateTime.Now.ToString(), out filenames); } if (!flag) { Status status = new Status { StatusCode = 0, Message = "上传图片失败", ReturnTime = DateTime.Now, }; return(status); } filenames.Sort(); resultfilename = string.Join("", filenames.ToArray()); foodNutrition.Images = resultfilename; dbcontext.Add(foodNutrition); int result = dbcontext.SaveChanges(); if (result > 0) { Status status = new Status { StatusCode = 200, Message = "添加成功", ReturnTime = DateTime.Now, }; return(status); } else { Status status = new Status { StatusCode = 0, Message = "添加失败", ReturnTime = DateTime.Now, }; return(status); } } catch (Exception) { Status status = new Status { StatusCode = 0, Message = "添加失败", ReturnTime = DateTime.Now, }; return(status); } } }