示例#1
0
        public ActionResult getHomePrdItem(int prdId)
        {
            ReturnMessage rm = new ReturnMessage();

            try
            {
                string type     = User.Claims.FirstOrDefault(p => p.Type == "type").Value;
                string tenantId = User.Claims.FirstOrDefault(p => p.Type == "tenantId").Value;
                int    memberId = -1;
                if (!UserType.GUEST.Equals(type))
                {
                    memberId = int.Parse(User.Claims.FirstOrDefault(p => p.Type == "jti").Value);
                }
                TenantGrade tenantGrade     = DataManager.tenantDao.GetTenantGrade(Guid.Parse(tenantId));
                string      tenantGradeType = "團媽";
                if (tenantGrade != null)
                {
                    tenantGradeType = tenantGrade.tenantGrade;
                }
                TenantPrd prd = DataManager.tenantPrdDao.getTenandPrd(prdId);
                rm.code = MessageCode.SUCCESS;
                rm.data = CTenantPrdManager.getPrdItem(prd, type, memberId, tenantGradeType);
            }
            catch (Exception e)
            {
                rm.code = MessageCode.ERROR;
                rm.data = e.Message;
            }
            return(Ok(rm));
        }
示例#2
0
        public ActionResult getHomePrdList()
        {
            ReturnMessage rm = new ReturnMessage();

            try
            {
                string type     = User.Claims.FirstOrDefault(p => p.Type == "type").Value;
                string tenantId = User.Claims.FirstOrDefault(p => p.Type == "tenantId").Value;
                int    memberId = -1;
                if (!UserType.GUEST.Equals(type))
                {
                    memberId = int.Parse(User.Claims.FirstOrDefault(p => p.Type == "jti").Value);
                }
                List <TenantPrd> data = DataManager.tenantPrdDao.getHomePrds(Guid.Parse(tenantId), memberId);
                IEnumerable <Dictionary <string, object> > prds = CTenantPrdManager.getPrdList(data, type, memberId);
                rm.code = MessageCode.SUCCESS;
                rm.data = prds;
            }
            catch (Exception e)
            {
                rm.code = MessageCode.ERROR;
                rm.data = e.Message;
            }
            return(Ok(rm));
        }
        public ActionResult Put([FromBody] ShopCartRequest value)
        {
            ReturnMessage rm = new ReturnMessage();

            try
            {
                string type     = User.Claims.FirstOrDefault(p => p.Type == "type").Value;
                int    memberId = int.Parse(User.Claims.FirstOrDefault(p => p.Type == "jti").Value);
                string sepc     = value.sepc;
                Guid   tenantId = Guid.Parse(User.Claims.FirstOrDefault(p => p.Type == "tenantId").Value);
                Guid   itemId   = Guid.NewGuid();

                TenantPrd prd      = DataManager.tenantPrdDao.getTenandPrd(value.productId);
                PrdPrice  prdPrice = CTenantPrdManager.getPrdPrice(prd, type, memberId);

                if (!string.IsNullOrEmpty(sepc))
                {
                    sepc = (string)JObject.Parse(sepc).GetValue("code");
                }
                ShopCart shopCart = DataManager.shopCartDao.getShopCartPrd(tenantId, memberId, value.productId, sepc);

                if (shopCart == null)
                {
                    shopCart                = new ShopCart();
                    shopCart.id             = itemId;
                    shopCart.memberId       = memberId;
                    shopCart.productId      = value.productId;
                    shopCart.createTime     = DateTime.Now;
                    shopCart.count          = value.count;
                    shopCart.amount         = prdPrice.price * value.count;
                    shopCart.type           = prdPrice.type;
                    shopCart.tenantId       = tenantId;
                    shopCart.prdSepc        = value.sepc;
                    shopCart.prdCustPriceId = prdPrice.custPriceGradeId;
                    shopCart.priceGradeType = prdPrice.priceGradeType;
                    DataManager.shopCartDao.addItem(shopCart);
                }
                else
                {
                    itemId          = shopCart.id;
                    shopCart.count += value.count;
                    shopCart.amount = prdPrice.price * shopCart.count;
                    DataManager.shopCartDao.updateItem(shopCart);
                }
                rm.code = MessageCode.SUCCESS;
                rm.data = itemId;
            }
            catch (Exception e)
            {
                rm.code = MessageCode.ERROR;
                rm.data = e.Message;
            }
            return(Ok(rm));
        }
示例#4
0
        public ActionResult getPrdByCatId(long id, [FromQuery] SortTypeRequest request)
        {
            ReturnMessage rm = new ReturnMessage();

            try
            {
                string tenantId = User.Claims.FirstOrDefault(p => p.Type == "tenantId").Value;
                string type     = User.Claims.FirstOrDefault(p => p.Type == "type").Value;
                int    memberId = -1;
                if (!UserType.GUEST.Equals(type))
                {
                    memberId = int.Parse(User.Claims.FirstOrDefault(p => p.Type == "jti").Value);
                }
                PrdPageQuery query = new PrdPageQuery(request);
                query.tnenatId = Guid.Parse(tenantId);
                query.catId    = id;
                query.userType = type;


                int totalCount = CTenantPrdManager.getTenantPrdCount(Guid.Parse(tenantId), id, memberId);
                int maxPage    = totalCount % request.count == 0 ? totalCount / request.count : totalCount / request.count + 1;
                maxPage = totalCount <= request.count ? 1 : maxPage;

                PrdPageResponse response = new PrdPageResponse();
                response.page    = request.page;
                response.maxPage = maxPage;
                response.result  = CTenantPrdManager.getPrdListByCat(query, memberId);
                rm.code          = MessageCode.SUCCESS;
                rm.data          = response;
            }
            catch (Exception e)
            {
                rm.code = MessageCode.ERROR;
                rm.data = e.Message;
            }
            return(Ok(rm));
        }