// values public async Task <bool> Check__Modify_Save(MealViewModel date, string userId) { // dodać sprawdzanie userId-- chyba dodoane //divide model beetween two list List <ValuesViewModel> withid_should_be_exist, withoutid_should_create; withid_should_be_exist = date.Values.Where(t => t.Nutritional_Values_Meal_Id != 0).ToList();// should exist because have Id withoutid_should_create = date.Values.Where(t => t.Nutritional_Values_Meal_Id == 0).ToList(); //var var db_querry = await _db.Meal__Nutritional_Values.Where(t => t.MealId == date.Meal.Id).ToListAsync(); List <Meal__Nutritional_Value> for_delete = new List <Meal__Nutritional_Value>(); List <Meal__Nutritional_Value> for_modify = new List <Meal__Nutritional_Value>(); foreach (var exist_in_db in db_querry) { var meal_values = withid_should_be_exist.Where(t => t.Nutritional_Values_Meal_Id == exist_in_db.Id).FirstOrDefault(); if (meal_values == null) { for_delete.Add(exist_in_db); } else if (meal_values.Grams != exist_in_db.Quantity_grams) { exist_in_db.Quantity_grams = (short)meal_values.Grams; for_modify.Add(exist_in_db); } } foreach (var delete_item in for_delete) { _db.Meal__Nutritional_Values.Remove(delete_item); } foreach (var create_item in withoutid_should_create) { await _db.Meal__Nutritional_Values.AddAsync(new Meal__Nutritional_Value() { Id = create_item.Nutritional_Values_Meal_Id, MealId = date.Meal.Id, Nutritional_ValuesId = create_item.Value_Id, Quantity_grams = (short)create_item.Grams }); } foreach (var modify_item in for_modify) { _db.Update(modify_item); } //update meal_model //Dictionary<string,decimal> dict = Calculate_makro(date); //await Upadate_Meal(id:date.Meal.Id, calc:(int)dict["Calc"], carbo:(int)dict["Carbo"], prot:(int)dict["Prot"], fat:(int)dict["Fat"]); return(true); }
public void SaveActualSizes(Size size) { // tu trzeba porpoawić żeby zapisaywało historie -- do sprawdzenia var a = GetActualSize(size.UserId).Result; bool c = a?.My_Equal(size) ?? false; //bool c = (a != null) ? a.My_Equal(size) : false ; size.Kind_Of_Sizes = Kind_of_Sizes.Actual; size.Create_Date = DateTime.Now; if (a != null && !c) { a.Kind_Of_Sizes = Kind_of_Sizes.Story; _db.Update(a); } if (!c) { _db.Sizes.Add(size); } }
public void UpdateUserDetail(User_Detail detail) => _db.Update(detail);