Пример #1
0
        // 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);
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
 public void UpdateUserDetail(User_Detail detail) => _db.Update(detail);