//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); } }
//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); }
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); } }