Ejemplo n.º 1
0
        public void Create(DefaultProduct entity)
        {
            using (var context = new ListItContext())
            {
                var result = context.Set <DefaultProduct>().Add(entity);

                try
                {
                    context.SaveChanges();
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException e)
                {
                    StringBuilder builder = new StringBuilder();
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        builder.Append("Entity of type " + eve.Entry.Entity.GetType().Name
                                       + " in state " + eve.Entry.State + " has the following" +
                                       " validation errors:");
                        foreach (var ve in eve.ValidationErrors)
                        {
                            builder.Append("Property: " + ve.PropertyName + ", Error: " + ve.ErrorMessage);
                        }
                    }
                    throw new Exception(builder.ToString());
                }
            }
        }
Ejemplo n.º 2
0
        public ActionResult Index()
        {
            User user;
            int  c = 0, f = 0, p = 0, car = 0;
            List <DefaultProduct> d_products = new List <DefaultProduct> {
            };
            List <CustomProduct> c_products  = new List <CustomProduct> {
            };

            using (UserContext db = new UserContext())
            {
                user = db.Users.FirstOrDefault(x => x.Email == User.Identity.Name);
            }
            if (user.Sex == null || user.Height == null || user.Weight == null)
            {
                return(HttpNotFound());
            }
            var daybook = dbDaybook.Daybooks.Where(x => x.UserId == user.UserId);

            foreach (var item in daybook)
            {
                if (item.Custom == false)
                {
                    DefaultProduct defaultProduct = dbDefaultProduct.DefaultProducts.Find(item.ProductId);
                    c   += defaultProduct.Calories * (item.Gram / 100);
                    f   += defaultProduct.Fats * (item.Gram / 100);
                    p   += defaultProduct.Protein * (item.Gram / 100);
                    car += defaultProduct.Carbs * (item.Gram / 100);
                    d_products.Add(defaultProduct);
                }
                else
                {
                    CustomProduct customProduct = dbCustomProduct.CustomProducts.Find(item.ProductId);
                    c   += customProduct.Calories * (item.Gram / 100);
                    f   += customProduct.Fats * (item.Gram / 100);
                    p   += customProduct.Protein * (item.Gram / 100);
                    car += customProduct.Carbs * (item.Gram / 100);
                    c_products.Add(customProduct);
                }
            }
            ViewBag.c        = c;
            ViewBag.f        = f;
            ViewBag.p        = p;
            ViewBag.car      = car;
            ViewBag.dp       = d_products;
            ViewBag.cp       = c_products;
            ViewBag.Daybook  = daybook;
            ViewBag.Calories = (int)((user.Weight * 10 + (user.Height * 6.25) -
                                      ((DateTime.UtcNow.Month < user.BirthDate.Month || (DateTime.UtcNow.Month == user.BirthDate.Month && DateTime.UtcNow.Day < user.BirthDate.Day)) ?
                                       (DateTime.UtcNow.Year - user.BirthDate.Year) : (DateTime.UtcNow.Year - user.BirthDate.Year) - 1) +
                                      (user.Sex == true ? 5 : -161)) * 1.2 - c);

            ViewBag.DefaultProducts = dbDefaultProduct.DefaultProducts.ToList().ToList();
            ViewBag.CustomProducts  = dbCustomProduct.CustomProducts.Where(x => x.UserId == user.UserId).ToList();
            return(View());
        }
Ejemplo n.º 3
0
        public ActionResult DeleteProduct()
        {
            User user;
            int  allCalories = 0, fats = 0, protein = 0, carbs = 0;

            using (UserContext db = new UserContext())
            {
                user = db.Users.FirstOrDefault(x => x.Email == User.Identity.Name);
            }
            string         id             = Request.QueryString["id"];
            DaybookProduct daybookProduct = dbDaybook.Daybooks.Find(Convert.ToInt32(id));

            dbDaybook.Daybooks.Remove(daybookProduct);
            dbDaybook.SaveChanges();

            var daybook = dbDaybook.Daybooks.Where(x => x.UserId == user.UserId);

            foreach (var item in daybook)
            {
                if (item.Custom == false)
                {
                    DefaultProduct defaultP = dbDefaultProduct.DefaultProducts.Find(item.ProductId);
                    allCalories += defaultP.Calories * (item.Gram / 100);
                    fats        += defaultP.Fats * (item.Gram / 100);
                    protein     += defaultP.Protein * (item.Gram / 100);
                    carbs       += defaultP.Carbs * (item.Gram / 100);
                }
                else
                {
                    CustomProduct customP = dbCustomProduct.CustomProducts.Find(item.ProductId);
                    allCalories += customP.Calories * (item.Gram / 100);
                    fats        += customP.Fats * (item.Gram / 100);
                    protein     += customP.Protein * (item.Gram / 100);
                    carbs       += customP.Carbs * (item.Gram / 100);
                }
            }

            int caloriesNeeded = (int)((user.Weight * 10 + (user.Height * 6.25) -
                                        ((DateTime.UtcNow.Month < user.BirthDate.Month || (DateTime.UtcNow.Month == user.BirthDate.Month && DateTime.UtcNow.Day < user.BirthDate.Day)) ?
                                         (DateTime.UtcNow.Year - user.BirthDate.Year) : (DateTime.UtcNow.Year - user.BirthDate.Year) - 1) +
                                        (user.Sex == true ? 5 : -161)) * 1.2) - allCalories;

            return(Json(new
            {
                caloriesNeeded,
                allCalories,
                fats,
                protein,
                carbs
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 4
0
 public static DefaultProductDto StaticDBToDto(DefaultProduct defaultProduct)
 {
     return(new DefaultProductDto
     {
         Id = defaultProduct.Id,
         //Name = defaultProduct.Name,
         Currency_Id = defaultProduct.Currency_Id,
         Unit_Id = defaultProduct.UnitType_Id,
         Price = defaultProduct.Price,
         //Category_Id = defaultProduct.Category_Id,
         //ProductTypeId = from ProductTable
         ProductId = (int)defaultProduct.Product_Id
     });
 }
Ejemplo n.º 5
0
 public static ProductDto StaticDBToDto(Product product, DefaultProduct defaultProduct, ShoppingListEntry entry, TranslationOfProduct translation, LinkDefaultProductToCategory category)
 {
     return(new ProductDto
     {
         Id = entry.Id,
         ProductTypeId = product.ProductType_Id,
         Name = translation.Translation,
         Currency_Id = (int)defaultProduct.Currency_Id,
         Unit_Id = (int)defaultProduct.UnitType_Id,
         Quantity = (int)entry.Quantity,
         Price = (decimal)defaultProduct.Price,
         ProductId = product.Id,
         Category_Id = category.CategoryId
     });
 }
Ejemplo n.º 6
0
 public static DefaultProductDto StaticDBToDto(DefaultProduct defaultProduct, TranslationOfProduct translation, LinkDefaultProductToCategory category)
 {
     if (defaultProduct == null || translation == null || category == null)
     {
         return(null);
     }
     return(new DefaultProductDto
     {
         Id = defaultProduct.Id,
         Name = translation.Translation,
         Currency_Id = defaultProduct.Currency_Id,
         Unit_Id = defaultProduct.UnitType_Id,
         Price = defaultProduct.Price,
         Category_Id = category.CategoryId,
         ProductTypeId = 1,      //= DefaultProduct
         ProductId = (int)defaultProduct.Product_Id
     });
 }
Ejemplo n.º 7
0
        public static IProduct GetProduct(DimProduct dimProduct)
        {
            IProduct product;

            switch (dimProduct.ProductKey)
            {
            case 0:
                product = new DefaultProduct();
                break;

            default:
                product = new Product();
                break;
            }

            product.Fill(dimProduct);

            return(product);
        }
Ejemplo n.º 8
0
        public void Create(DefaultProductDto dto, int langId)
        {
            var product = new Product
            {
                Id             = dto.ProductId,
                Timestamp      = DateTime.Now,
                ProductType_Id = dto.ProductTypeId
            };
            var prodId = _prodRepository.CreateProduct(product);

            var defaultProduct = new DefaultProduct
            {
                Id          = dto.Id,
                Product_Id  = prodId,
                Currency_Id = dto.Currency_Id,
                UnitType_Id = dto.Unit_Id,
                Price       = dto.Price,
            };

            _prodRepository.Create(defaultProduct);

            // Save name
            var translation = new TranslationOfProduct
            {
                Language_Id = langId,
                Product_Id  = prodId,
                Translation = dto.Name
            };

            _prodRepository.SaveDefaultProductName(translation);

            // Link category
            var categoryrelation = new LinkDefaultProductToCategory
            {
                DefaultProductId = prodId,
                CategoryId       = (int)dto.Category_Id
            };

            _prodRepository.SaveDefaultProductCategory(categoryrelation);
        }
Ejemplo n.º 9
0
        public void Create(DefaultProductDto dto)
        {
            var product = new Product
            {
                Id             = dto.ProductId,
                Timestamp      = DateTime.Now,
                ProductType_Id = dto.ProductTypeId
            };
            var prodId = _prodRepository.CreateProduct(product);

            var defaultProduct = new DefaultProduct
            {
                Id          = dto.Id,
                Product_Id  = prodId,
                Currency_Id = dto.Currency_Id,
                UnitType_Id = dto.Unit_Id,
                Price       = dto.Price,
            };

            _prodRepository.Create(defaultProduct);

            // Link category
        }
Ejemplo n.º 11
0
        public ActionResult AddProduct()
        {
            User user;
            int  id;
            int  allCalories = 0, fats = 0, protein = 0, carbs = 0;

            using (UserContext db = new UserContext())
            {
                user = db.Users.FirstOrDefault(x => x.Email == User.Identity.Name);
            }

            string selectId = Request.QueryString["id"];
            string product  = Request.QueryString["product"];
            int    gram     = Convert.ToInt32(Request.QueryString["g"]);

            if (Convert.ToBoolean(product))
            {
                CustomProduct customProduct;
                using (CustomProductContext dbCustomProduct = new CustomProductContext())
                {
                    customProduct = dbCustomProduct.CustomProducts.Find(Convert.ToInt32(selectId));
                }
                using (DaybookContext dbDaybook = new DaybookContext())
                {
                    DaybookProduct daybookProduct = new DaybookProduct {
                        UserId = user.UserId, ProductId = customProduct.Id, Custom = Convert.ToBoolean(product), Gram = gram
                    };
                    dbDaybook.Daybooks.Add(daybookProduct);
                    dbDaybook.SaveChanges();
                    id = daybookProduct.Id;
                }

                var daybook = dbDaybook.Daybooks.Where(x => x.UserId == user.UserId);
                foreach (var item in daybook)
                {
                    if (item.Custom == false)
                    {
                        DefaultProduct defaultP = dbDefaultProduct.DefaultProducts.Find(item.ProductId);
                        allCalories += defaultP.Calories * (item.Gram / 100);
                        fats        += defaultP.Fats * (item.Gram / 100);
                        protein     += defaultP.Protein * (item.Gram / 100);
                        carbs       += defaultP.Carbs * (item.Gram / 100);
                    }
                    else
                    {
                        CustomProduct customP = dbCustomProduct.CustomProducts.Find(item.ProductId);
                        allCalories += customP.Calories * (item.Gram / 100);
                        fats        += customP.Fats * (item.Gram / 100);
                        protein     += customP.Protein * (item.Gram / 100);
                        carbs       += customP.Carbs * (item.Gram / 100);
                    }
                }

                int caloriesNeeded = (int)((user.Weight * 10 + (user.Height * 6.25) -
                                            ((DateTime.UtcNow.Month < user.BirthDate.Month || (DateTime.UtcNow.Month == user.BirthDate.Month && DateTime.UtcNow.Day < user.BirthDate.Day)) ?
                                             (DateTime.UtcNow.Year - user.BirthDate.Year) : (DateTime.UtcNow.Year - user.BirthDate.Year) - 1) +
                                            (user.Sex == true ? 5 : -161)) * 1.2) - allCalories;

                return(Json(new
                {
                    addId = id,
                    addName = customProduct.Name,
                    addCalories = customProduct.Calories * gram / 100,
                    addFats = customProduct.Fats * gram / 100,
                    addProtein = customProduct.Protein * gram / 100,
                    addCarbs = customProduct.Carbs * gram / 100,
                    caloriesNeeded,
                    allCalories,
                    fats,
                    protein,
                    carbs
                }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                DefaultProduct defaultProduct;
                using (DefaultProductContext dbDefaultProduct = new DefaultProductContext())
                {
                    defaultProduct = dbDefaultProduct.DefaultProducts.Find(Convert.ToInt32(selectId));
                }
                using (DaybookContext dbDaybook = new DaybookContext())
                {
                    DaybookProduct daybookProduct = new DaybookProduct {
                        UserId = user.UserId, ProductId = defaultProduct.Id, Custom = Convert.ToBoolean(product), Gram = gram
                    };
                    dbDaybook.Daybooks.Add(daybookProduct);
                    dbDaybook.SaveChanges();
                    id = daybookProduct.Id;
                }

                var daybook = dbDaybook.Daybooks.Where(x => x.UserId == user.UserId);
                foreach (var item in daybook)
                {
                    if (item.Custom == false)
                    {
                        DefaultProduct defaultP = dbDefaultProduct.DefaultProducts.Find(item.ProductId);
                        allCalories += defaultP.Calories * (item.Gram / 100);
                        fats        += defaultP.Fats * (item.Gram / 100);
                        protein     += defaultP.Protein * (item.Gram / 100);
                        carbs       += defaultP.Carbs * (item.Gram / 100);
                    }
                    else
                    {
                        CustomProduct customP = dbCustomProduct.CustomProducts.Find(item.ProductId);
                        allCalories += customP.Calories * (item.Gram / 100);
                        fats        += customP.Fats * (item.Gram / 100);
                        protein     += customP.Protein * (item.Gram / 100);
                        carbs       += customP.Carbs * (item.Gram / 100);
                    }
                }

                int caloriesNeeded = (int)((user.Weight * 10 + (user.Height * 6.25) -
                                            ((DateTime.UtcNow.Month < user.BirthDate.Month || (DateTime.UtcNow.Month == user.BirthDate.Month && DateTime.UtcNow.Day < user.BirthDate.Day)) ?
                                             (DateTime.UtcNow.Year - user.BirthDate.Year) : (DateTime.UtcNow.Year - user.BirthDate.Year) - 1) +
                                            (user.Sex == true ? 5 : -161)) * 1.2) - allCalories;

                return(Json(new
                {
                    addId = id,
                    addName = defaultProduct.Name,
                    addCalories = defaultProduct.Calories * gram / 100,
                    addFats = defaultProduct.Fats * gram / 100,
                    addProtein = defaultProduct.Protein * gram / 100,
                    addCarbs = defaultProduct.Carbs * gram / 100,
                    caloriesNeeded,
                    allCalories,
                    fats,
                    protein,
                    carbs
                }, JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 12
0
 protected ProductDto ConvertDefaultProductDBToDto(Product entity, DefaultProduct defaultProduct, ShoppingListEntry entry, TranslationOfProduct translation, LinkDefaultProductToCategory category)
 {
     return(StaticDBToDto(entity, defaultProduct, entry, translation, category));
 }
Ejemplo n.º 13
0
 protected DefaultProductDto ConvertDBToDto(DefaultProduct entity, TranslationOfProduct translation, LinkDefaultProductToCategory productToCategory)
 {
     return(StaticDBToDto(entity, translation, productToCategory));
 }
Ejemplo n.º 14
0
 protected DefaultProductDto ConvertDBToDto(DefaultProduct entity, TranslationOfProduct translation)
 {
     return(StaticDBToDto(entity, translation));
 }