示例#1
0
 //DELETE FROM CART DE-11 TASK 5
 public bool DeleteProductFromCart(string idcart, string idUser)
 {
     Framework.encryptdecrypt en = new encryptdecrypt();
     try
     {
         int id = Convert.ToInt32(en.DesEncriptar(idcart));
         using (var db = new dekkOnlineEntities())
         {
             var addCart = new ShoppingCart();
             var d       = db.ShoppingCart.Where(x => x.Id == id).FirstOrDefault();
             if (d != null)
             {
                 var promocodeused = db.PromoCodeUsed.Where(s => s.idUser == idUser && s.Used == false).FirstOrDefault();
                 if (promocodeused != null)
                 {
                     var percent = db.PromotionCode.Where(s => s.IdCode == promocodeused.PromoCode).Select(s => s.PercentCode).FirstOrDefault();
                     percent = percent / 100;
                     promocodeused.TotalPrice      = promocodeused.TotalPrice - d.Price;
                     promocodeused.TotalPriceFinal = promocodeused.TotalPrice - (percent * (promocodeused.TotalPrice));
                     db.Entry(promocodeused).State = EntityState.Modified;
                 }
                 db.ShoppingCart.Remove(d);
                 db.SaveChanges();
                 var user = db.ShoppingCart.Where(s => s.IdUser == idUser && s.Status == false).FirstOrDefault();
                 if (user != null)
                 {
                     return(true);
                 }
                 else if (user == null)
                 {
                     var promocodeused2 = db.PromoCodeUsed.Where(s => s.idUser == idUser && s.Used == false).FirstOrDefault();
                     if (promocodeused2 != null)
                     {
                         db.PromoCodeUsed.Remove(promocodeused2);
                         db.SaveChanges();
                         return(true);
                     }
                     else
                     {
                         return(true);
                     }
                 }
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
     }
     catch (Exception ex)
     {
         //_Error = ex;
         return(false);
     }
 }
示例#2
0
        //PRODUCTS IN CART DE-11 TASK 1 cambios
        public List <ResultAllCart> ProductsInCart(string User)//
        {
            var    ivapor  = System.Configuration.ConfigurationManager.AppSettings["ivapre"];
            int    ivpre   = Convert.ToInt32(ivapor);
            double ivapor2 = Convert.ToDouble((double)ivpre / 100);
            List <ResultShoppingCartProduct> products = null;
            List <ResultAllCart>             allcart  = null;

            try
            {
                using (var db = new dekkOnlineEntities())
                {
                    Framework.encryptdecrypt en = new encryptdecrypt();
                    products = (from pro in db.products
                                join cart in db.ShoppingCart on pro.proId equals cart.proId
                                where cart.IdUser.Equals(User) && cart.Status == false
                                select new ResultShoppingCartProduct
                    {
                        IdUser = cart.IdUser,
                        proId = cart.proId,
                        Image = pro.proImage,
                        Name = pro.proName,
                        Description = pro.proDescription,
                        quantity = cart.quantity,
                        totalpriceprod = Math.Truncate((double)cart.Price),
                        cartid = cart.Id.ToString(),
                        UnitPrice = Math.Truncate((double)pro.proSuggestedPrice),
                        proDimensionprofile = pro.proDimensionProfileDP.ToString(),
                        proDimensionWidth = pro.proDimensionWidthDP.ToString(),
                        proDimensionDiameter = pro.proDimensionDiameterDP.ToString()
                    }).ToList();


                    //var promocode1 = ""; //LoadPromoCodeFomUser(User);
                    //var promocode1 = LoadPromoCodeFomUser(User);
                    var points1 = LoadPointsPerUser(User);

                    var    promocodeused = db.PromoCodeUsed.Where(s => s.idUser == User && s.Used == false).FirstOrDefault();
                    double?subtotal1     = products.Select(p => p.totalpriceprod).Sum();
                    subtotal1 = subtotal1 == null ? 00 : subtotal1;

                    foreach (var item in products)
                    {
                        //subtotal1 += Convert.ToDecimal(item.totalpriceprod);
                        item.cartid = en.Encriptar(item.cartid);
                    }
                    if (promocodeused == null)
                    {
                        var subtotal2 = subtotal1;
                        var iva       = subtotal2 * ivapor2;//TAX
                        subtotal2 = subtotal2 + iva;
                        subtotal2 = (int)Math.Floor((decimal)subtotal2);
                        allcart   = new List <ResultAllCart> {
                            new ResultAllCart {
                                cart     = products,
                                subtotal = (decimal)subtotal1,
                                //promocode = promocode1,
                                promocode    = null,
                                points       = points1,
                                total        = (decimal)subtotal1,
                                promocodeapp = false,
                                tax          = (Math.Truncate((double)iva)).ToString()
                            }
                        };
                    }
                    else
                    {
                        var promocode = db.PromotionCode.Where(s => s.IdCode == promocodeused.PromoCode).FirstOrDefault();
                        var promodis  = promocode.PercentCode;
                        promodis = promodis / 100;
                        var disc = subtotal1 * (double)promodis;
                        disc = Math.Truncate((double)disc);
                        var dissub    = (double)subtotal1 - (double)disc;
                        var subtotal2 = subtotal1;
                        var iva       = subtotal2 * ivapor2;//TAX
                        subtotal2 = subtotal2 + iva;
                        allcart   = new List <ResultAllCart> {
                            new ResultAllCart {
                                cart         = products,
                                subtotal     = (decimal)subtotal1,
                                promocode    = promocodeused.PromoCode,
                                points       = points1,
                                total        = (decimal)Math.Truncate(dissub),
                                promocodeapp = true,
                                tax          = (Math.Truncate((double)disc).ToString())//DESCUENTO
                            }
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                return(allcart);
            }
            return(allcart);
        }
示例#3
0
 public string IncreaseProductFromCart(string idcart, int qty, string idUser)
 {
     Framework.encryptdecrypt en = new encryptdecrypt();
     try
     {
         int id = Convert.ToInt32(en.DesEncriptar(idcart));
         using (var db = new dekkOnlineEntities())
         {
             var d = db.ShoppingCart.Where(x => x.Id == id).FirstOrDefault();
             //var e = db.products.Where(x => x.proId == d.proId).FirstOrDefault();
             //if (e.proInventory > qty)
             //{
             //    if (d != null)
             //    {
             //        d.Price = ((d.Price / d.quantity) * qty);
             //        d.quantity = qty;
             //        db.SaveChanges();
             //        return true;
             //    }
             //    else
             //    {
             //        return false;
             //    }
             //}
             //else
             //{
             //    if (d != null)
             //    {
             //        d.Price = ((d.Price / d.quantity) * e.proInventory);
             //        d.quantity = e.proInventory;
             //        db.SaveChanges();
             //        return true;
             //    }
             //    else
             //    {
             //        return false;
             //    }
             //}
             if (d != null)
             {
                 var final = ((d.Price / d.quantity) * qty);
                 d.Price    = final;
                 d.quantity = qty;
                 var promocodeused = db.PromoCodeUsed.Where(s => s.idUser == idUser && s.Used == false).FirstOrDefault();
                 if (promocodeused != null)
                 {
                     var percent = db.PromotionCode.Where(s => s.IdCode == promocodeused.PromoCode).Select(s => s.PercentCode).FirstOrDefault();
                     percent = percent / 100;
                     promocodeused.TotalPrice      = promocodeused.TotalPrice + (final - promocodeused.TotalPrice);
                     promocodeused.TotalPriceFinal = promocodeused.TotalPrice - (percent * (promocodeused.TotalPrice));
                     db.Entry(promocodeused).State = EntityState.Modified;
                     db.Entry(d).State             = EntityState.Modified;
                 }
                 db.SaveChanges();
                 var qtyfinal = db.ShoppingCart.Where(s => s.Id == id).Select(s => s.Price).FirstOrDefault();
                 qtyfinal = (decimal)Math.Truncate((double)qtyfinal);
                 return(qtyfinal.ToString());
             }
             else
             {
                 return(null);
             }
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }