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); } }
//畫面呈現價格 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); }