示例#1
0
 public CustSpcPrice getSpcTenantPrdPrice(Guid tenantId, int prdId, int gradeId)
 {
     using (CrazyBuyDbContext dbContext = ContextInit())
     {
         var sql = @" select * from [TenantPrdCustPrice] s ";
         sql += @" left join [TenantCustPriceGrade] g on g.id = s.custPriceGradeId ";
         sql += @" where s.prdId = {0} and s.custPriceGradeId = {1} and s.status = N'正常' ";
         sql += @" and g.status = N'正常' and g.tenantId = '{2}' ";
         sql  = string.Format(sql, prdId, gradeId, tenantId);
         CustSpcPrice spc = dbContext.Database.SqlQuery <CustSpcPrice>(sql).SingleOrDefault();
         return(spc);
     }
 }
示例#2
0
        //畫面呈現價格
        public static List <PrdPrice> getPrdPrices(TenantPrd prd, string userType, int userId, string tenantGrade)
        {
            List <PrdPrice> prices = new List <PrdPrice>();

            switch (userType)
            {
            case LoginType.LOGIN_USER:
                TenantMember tenantMember = DataManager.tenantMemberDao.getTenantMemberByMemberId(userId);
                PrdPrice     prdPriceUser = new PrdPrice();
                prdPriceUser.price            = prd.fixedprice == null ? 0 : (int)prd.fixedprice;
                prdPriceUser.type             = CHType.PRICE_NORMAL;
                prdPriceUser.priceGradeType   = "";
                prdPriceUser.custPriceGradeId = 0;
                prices.Add(prdPriceUser);

                prdPriceUser                  = new PrdPrice();
                prdPriceUser.price            = prd.memberPrice == null ? 0 : (int)prd.memberPrice;
                prdPriceUser.type             = CHType.PRICE_MEMBER;
                prdPriceUser.priceGradeType   = "";
                prdPriceUser.custPriceGradeId = 0;
                prices.Add(prdPriceUser);

                if (UserGradeType.TRANS.Equals(tenantMember.gradeType))
                {
                    prdPriceUser                  = new PrdPrice();
                    prdPriceUser.price            = prd.transferPrice == null ? 0 : (int)prd.transferPrice;
                    prdPriceUser.type             = CHType.PRICE_NTRANS;
                    prdPriceUser.priceGradeType   = "轉批價";
                    prdPriceUser.custPriceGradeId = 0;
                    prices.Add(prdPriceUser);
                }
                break;

            case UserType.ADMIN:
                PrdPrice prdPriceAdmin = new PrdPrice();
                prdPriceAdmin.price            = prd.fixedprice == null ? 0 : (int)prd.fixedprice;
                prdPriceAdmin.type             = CHType.PRICE_NORMAL;
                prdPriceAdmin.priceGradeType   = "";
                prdPriceAdmin.custPriceGradeId = 0;
                prices.Add(prdPriceAdmin);

                prdPriceAdmin                  = new PrdPrice();
                prdPriceAdmin.price            = prd.memberPrice == null ? 0 : (int)prd.memberPrice;
                prdPriceAdmin.type             = CHType.PRICE_MEMBER;
                prdPriceAdmin.priceGradeType   = "";
                prdPriceAdmin.custPriceGradeId = 0;
                prices.Add(prdPriceAdmin);
                Debug.WriteLine("[CMemberManager-addMember] error:" + tenantGrade);
                if (tenantGrade != "轉批媽" && tenantGrade != "批發商")
                {
                    break;
                }
                prdPriceAdmin                  = new PrdPrice();
                prdPriceAdmin.price            = prd.transferPrice == null ? 0 : (int)prd.transferPrice;
                prdPriceAdmin.type             = CHType.PRICE_NTRANS;
                prdPriceAdmin.priceGradeType   = "轉批價";
                prdPriceAdmin.custPriceGradeId = 0;
                prices.Add(prdPriceAdmin);
                break;

            default:
                if (userType.StartsWith(UserType.SPC_MEMBER))
                {
                    string   custGrade         = userType.Split(":")[1];
                    PrdPrice prdPriceSPCMember = new PrdPrice();
                    prdPriceSPCMember.price            = prd.fixedprice == null ? 0 : (int)prd.fixedprice;
                    prdPriceSPCMember.type             = CHType.PRICE_NORMAL;
                    prdPriceSPCMember.priceGradeType   = "";
                    prdPriceSPCMember.custPriceGradeId = 0;
                    prices.Add(prdPriceSPCMember);

                    prdPriceSPCMember                  = new PrdPrice();
                    prdPriceSPCMember.price            = prd.memberPrice == null ? 0 : (int)prd.memberPrice;
                    prdPriceSPCMember.type             = CHType.PRICE_MEMBER;
                    prdPriceSPCMember.priceGradeType   = "";
                    prdPriceSPCMember.custPriceGradeId = 0;
                    prices.Add(prdPriceSPCMember);

                    CustSpcPrice spc_price = DataManager.tenantPrdDao.getSpcTenantPrdPrice(prd.tenantId, prd.id, int.Parse(custGrade));
                    if (spc_price != null)
                    {
                        prdPriceSPCMember                  = new PrdPrice();
                        prdPriceSPCMember.price            = spc_price.price;
                        prdPriceSPCMember.type             = spc_price.name;
                        prdPriceSPCMember.priceGradeType   = "自訂價";
                        prdPriceSPCMember.custPriceGradeId = spc_price.id;
                        prices.Add(prdPriceSPCMember);
                    }
                }
                break;
            }
            return(prices);
        }