/// <summary> /// 微小店 上架商品 /// </summary> public ResultDTO UpdateMicroshopComExt(Guid microshopComId, Guid microshopId) { var result = new ResultDTO { isSuccess = false }; var microshopCom = MicroshopCom.ObjectSet().FirstOrDefault(t => t.CommodityId == microshopComId && t.MicroshopId == microshopId && !t.IsDel); if (microshopCom == null) { result.isSuccess = true; result.Message = "获取数据失败"; return(result); } microshopCom.ModifiedOn = DateTime.Now; microshopCom.IsDel = true; microshopCom.EntityState = EntityState.Modified; ContextFactory.CurrentThreadContext.SaveObject(microshopCom); int mcCount = ContextFactory.CurrentThreadContext.SaveChanges(); if (mcCount > 0) { result.isSuccess = true; result.Message = "上架成功"; } else { result.Message = "上架失败"; } return(result); }
/// <summary> /// 微小店 下架商品 /// </summary> public ResultDTO SaveMicroshopComExt(MicroshopComDTO microshopComDto) { var result = new ResultDTO { isSuccess = false }; var mc = new MicroshopCom { Id = Guid.NewGuid(), SubTime = DateTime.Now, ModifiedOn = DateTime.Now, CommodityId = microshopComDto.CommodityId, MicroshopId = microshopComDto.MicroshopId, IsDel = false, EntityState = EntityState.Added }; ContextFactory.CurrentThreadContext.SaveObject(mc); int mcCount = ContextFactory.CurrentThreadContext.SaveChanges(); if (mcCount > 0) { result.isSuccess = true; result.Message = "添加成功"; } else { result.Message = "添加失败"; } return(result); }
/// <summary> /// 获取某微小店的所有下架商品Id /// </summary> /// <param name="microshopId"></param> /// <returns></returns> public List <Guid> GetMicroshopOfflineCommodityIdsExt(Guid microshopId) { var strMicroshopId = microshopId; var commodityIds = MicroshopCom.ObjectSet() .Where(x => x.MicroshopId == strMicroshopId) .Select(x => x.CommodityId) .ToList(); return(commodityIds); }
/// <summary> /// 获取分销商微小店信息 /// </summary> /// <param name="appId"></param> /// <param name="userId"></param> /// <returns></returns> public DistributionMicroShopDTO GetDistributionMicroShopExt(Guid appId, Guid userId) { DistributionMicroShopDTO distributionMicroShopDto = new DistributionMicroShopDTO(); try { var temp = (from ms in Microshop.ObjectSet() where ms.AppId == appId && ms.UserId == userId select new DistributionMicroShopDTO { Id = ms.Id, SubTime = ms.SubTime, ModifiedOn = ms.ModifiedOn, AppId = ms.AppId, UserId = ms.UserId, Logo = ms.Logo, QRCodeUrl = ms.QRCodeUrl, Name = ms.Name, Url = ms.Url, Type = (MicroshopTypeEnum)ms.Type.Value, Key = ms.Key }); distributionMicroShopDto = temp.FirstOrDefault(); if (distributionMicroShopDto != null) { //获取下架商品 var commodityIds = MicroshopCom.ObjectSet().Where(t => !t.IsDel && t.MicroshopId == distributionMicroShopDto.AppId).Select(c => c.CommodityId).Distinct().ToArray(); var dc = (from cd in CommodityDistribution.ObjectSet() join c in Commodity.ObjectSet() on cd.Id equals c.Id where commodityIds.Contains(c.Id) select new CommodityVM { Id = c.Id, Name = c.Name, Price = c.Price, MarketPrice = c.MarketPrice, Pic = c.PicturesPath, L1Percent = Math.Round((decimal)(cd.L1Percent * c.Price), 2), L2Percent = Math.Round((decimal)(cd.L2Percent * c.Price), 2), L3Percent = Math.Round((decimal)(cd.L3Percent * c.Price), 2) }); List <CommodityVM> commodityVmsD = new List <CommodityVM>(); foreach (var commodityVm in dc) { if (commodityVm.L1Percent == null || commodityVm.L2Percent == null || commodityVm.L3Percent == null) { var model = AppExtension.ObjectSet().FirstOrDefault(t => t.Id == appId); commodityVm.L1Percent = Math.Round((decimal)(model.DistributeL1Percent * commodityVm.Price), 2); commodityVm.L2Percent = Math.Round((decimal)(model.DistributeL2Percent * commodityVm.Price), 2); commodityVm.L3Percent = Math.Round((decimal)(model.DistributeL3Percent * commodityVm.Price), 2); } commodityVmsD.Add(commodityVm); } distributionMicroShopDto.DownCommodityDtos = commodityVmsD.ToList(); //获取符合条件的上架商品 var uc = (from cd in CommodityDistribution.ObjectSet() join c in Commodity.ObjectSet() on cd.Id equals c.Id where c.AppId == appId && !c.IsDel && c.CommodityType == 0 && c.State == 0 && !commodityIds.Contains(c.Id) select new CommodityVM { Id = c.Id, Name = c.Name, Price = c.Price, MarketPrice = c.MarketPrice, Pic = c.PicturesPath, L1Percent = Math.Round((decimal)(cd.L1Percent * c.Price), 2), L2Percent = Math.Round((decimal)(cd.L2Percent * c.Price), 2), L3Percent = Math.Round((decimal)(cd.L3Percent * c.Price), 2) }); List <CommodityVM> commodityVmsU = new List <CommodityVM>(); foreach (var commodityVm in uc) { if (commodityVm.L1Percent == null || commodityVm.L2Percent == null || commodityVm.L3Percent == null) { var model = AppExtension.ObjectSet().FirstOrDefault(t => t.Id == appId); commodityVm.L1Percent = Math.Round((decimal)(model.DistributeL1Percent * commodityVm.Price), 2); commodityVm.L2Percent = Math.Round((decimal)(model.DistributeL2Percent * commodityVm.Price), 2); commodityVm.L3Percent = Math.Round((decimal)(model.DistributeL3Percent * commodityVm.Price), 2); } commodityVmsU.Add(commodityVm); } distributionMicroShopDto.UpCommodityDtos = commodityVmsU.ToList(); } } catch (Exception ex) { LogHelper.Error(ex.ToString()); } return(distributionMicroShopDto); }