public async Task <ActionResult> AddToCart(int productId, int?times)
        {
            if (!times.HasValue)
            {
                times = 1;
            }
            bool   added = false;
            CartVM cart  = null;

            if (Session["Cart"] != null)
            {
                cart = (CartVM)Session["Cart"];

                foreach (var p in cart.Products)
                {
                    if (p.ProductId == productId)
                    {
                        added       = true;
                        p.Quantity += times.Value;
                    }
                }
            }
            else
            {
                cart          = new CartVM();
                cart.Products = new List <SaleDetailVM>();
                Session.Add("Cart", cart);
            }

            if (!added)
            {
                var product = await _ps.Get(productId);

                SaleDetailVM detail = new SaleDetailVM()
                {
                    Price       = (Session["IsBP"] == null || !(bool)Session["IsBP"]) ? product.Price : product.Price * 0.77M,
                    ProductId   = productId,
                    Discount    = 0,
                    ProductName = product.Name,
                    Quantity    = times.Value,
                    Weight      = product.Weight
                };
                cart.Products.Add(detail);
            }
            return(Json("ok", JsonRequestBehavior.AllowGet));
        }
Exemple #2
0
        public ActionResult RemoveProduct(int productId)
        {
            CartVM       cart = (CartVM)Session["Cart"];
            SaleDetailVM p    = null;

            foreach (var d in cart.Products)
            {
                if (d.ProductId == productId)
                {
                    p = d;
                    break;
                }
            }
            if (p != null)
            {
                cart.Products.Remove(p);
            }
            return(Json("ok", JsonRequestBehavior.AllowGet));
        }
        public async Task <MyTeamReportVM> GetMyTeamReport(int siteUserId)
        {
            MyTeamReportVM rec = new MyTeamReportVM();
            var            myp = await db.vMyTeamReports.FirstOrDefaultAsync(p => p.SiteUserId == siteUserId);

            if (myp != null)
            {
                rec.MyResult = new PyramidResultVM()
                {
                    NB    = myp.FromOthers,
                    PBV   = myp.PBV,
                    Sales = myp.total.HasValue ? myp.total.Value : 0
                }
            }
            ;
            else
            {
                rec.MyResult = new PyramidResultVM();
                rec.Team     = new List <TeamReportVM>();
                rec.Sales    = new List <SaleVM>();
                return(rec);
            }
            List <TeamReportVM> lMem = new List <TeamReportVM>();

            foreach (vMyTeamReport pir in db.vMyTeamReports.Where(p => p.PyramidParentId == myp.PyramidId))
            {
                TeamReportVM member = new TeamReportVM()
                {
                    BPName = pir.BPName,
                    eMail  = pir.EMail
                };
                member.Result = new PyramidResultVM()
                {
                    NB    = pir.FromOthers,
                    PBV   = pir.PBV,
                    Sales = pir.total.HasValue ? pir.total.Value : 0
                };
                lMem.Add(member);
            }
            rec.Team = lMem;
            List <SaleVM> lSales = new List <SaleVM>();

            foreach (vSalesTotal sal in db.vSalesTotals.Where(p => p.SiteUserId == siteUserId))
            {
                SaleVM oneSale = new SaleVM()
                {
                    CustomerName = sal.CustomerName,
                    OnDate       = sal.OnDate,
                    SaleId       = sal.SaleId,
                    Total        = sal.Total.HasValue ? sal.Total.Value : 0,
                    SaleDetails  = new List <SaleDetailVM>()
                };
                foreach (SaleDetail sd in db.SaleDetails.Where(s => s.SaleId == sal.SaleId))
                {
                    SaleDetailVM sdvm = new SaleDetailVM()
                    {
                        ProductName  = sd.Product.Name,
                        Price        = sd.Price,
                        Quantity     = sd.Quantity,
                        SaleDetailId = sd.SaleDetailId
                    };
                    oneSale.SaleDetails.Add(sdvm);
                }
                lSales.Add(oneSale);
            }
            rec.Sales = lSales;
            return(rec);
        }