示例#1
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            if (string.IsNullOrEmpty(args.Name))
            {
                throw new ArgumentNullException("Name");
            }
            if (string.IsNullOrEmpty(args.Flag))
            {
                args.Flag = System.Guid.NewGuid().ToString();
            }
            var model = db.Query <ShopBrandCommodityParameter>()
                        .Where(m => m.Id == args.Id)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }

            //在获取后检查是否拥有管理权限
            CheckShopBrandActor(model.ShopBrandId, ShopBrandActorType.超级管理员);

            model.Name = args.Name;

            db.SaveChanges();
            return(Success());
        }
示例#2
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            if (string.IsNullOrEmpty(args.Name))
            {
                throw new ArgumentNullException("Name");
            }
            if (string.IsNullOrEmpty(args.Flag))
            {
                args.Flag = System.Guid.NewGuid().ToString();
            }
            if (!args.Status.HasValue)
            {
                args.Status = ShopBrandStatus.正常;
            }

            var model = db.Query <ShopBrand>()
                        .Where(m => m.Id == args.Id)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }
            model.Flag    = args.Flag;
            model.Name    = args.Name;
            model.Status  = args.Status.Value;
            model.Detail  = args.Detail;
            model.Address = args.Address;
            db.SaveChanges();
            return(Success());
        }
示例#3
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            if (!args.Id.HasValue)
            {
                throw new ArgumentNullException("Id");
            }
            CheckShopBrandActor(args.Id.Value, ShopBrandActorType.超级管理员);

            if (string.IsNullOrEmpty(args.Name))
            {
                throw new ArgumentNullException("Name");
            }
            var model = db.Query <ShopBrand>()
                        .Where(m => !m.IsDel)
                        .Where(m => m.Id == args.Id.Value)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }

            model.Address = args.Address;
            model.Detail  = args.Detail;
            model.Name    = args.Name;
            model.Cover   = args.Cover;
            model.Logo    = args.Logo;

            db.SaveChanges();
            return(Success());
        }
示例#4
0
 public APIResult Update([FromBody] UpdateArgsModel args)
 {
     try
     {
         var model = memberDb.QueryMember()
                     .Where(m => m.Id == args.Id)
                     .FirstOrDefault();
         if (model == null)
         {
             throw new Exception("数据库记录不存在");
         }
         if (model.Email != args.Email)
         {//如果Email有改变,则需要判断一下email有没有被使用
             if (memberDb.MemberEmailIsUsed(model.Email))
             {
                 throw new Exception("Email is Used");
             }
         }
         model.Truename     = args.Truename;
         model.Email        = args.Email;
         model.EmailIsValid = args.EmailIsValid;
         model.Status       = args.Status;
         memberDb.SaveChanges();
         return(Success());
     }
     catch (Exception ex)
     {
         return(Error(ex.Message));
     }
 }
示例#5
0
 public APIResult SetingBannerUpdate([FromBody] UpdateArgsModel model)
 {
     try
     {
         var viewModel = _db.BannerConfiguration.Find(model.Id);
         //_db.Query<BannerConfiguration>().Where(m => m.Id == model.Id.Value).FirstOrDefault();
         if (viewModel == null)
         {
             return(Error("未找到BannerConfiguration"));
         }
         if (string.IsNullOrEmpty(model.Name))
         {
             return(Error("请填写广告图名称"));
         }
         viewModel.Name    = model.Name;
         viewModel.Url     = model.Url;
         viewModel.Link    = model.Link;
         viewModel.IsShow  = model.IsShow;
         viewModel.IsDel   = model.IsDel;
         viewModel.Sorting = model.Sorting;
         //此处映射出错
         // var banner = _mapper.Map<BannerSetingAPIModels,BannerConfiguration>(model);
         //_db.Update(banner);
         _db.SaveChanges();
         return(Success());
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
示例#6
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            var model = db.Query <ShopBrandCommodityCategory>()
                        .Where(m => m.Id == args.Id)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }
            //在获取后检查是否拥有管理权限
            CheckShopBrandActor(model.ShopBrandId, ShopBrandActorType.超级管理员);

            if (model.Id == args.PId)
            {
                throw new Exception("自己的父类不能是自己");
            }
            if (model.PId != args.PId && args.PId.HasValue)
            {//说明父类有变更,并且不是在根下,那么需要判定一下旧的类别是否是当前新的类别的父类
                List <int>   ids            = new List <int>();
                Action <int> getChildrenIds = null;
                getChildrenIds = id =>
                {
                    var chidrenIds = db.Query <ShopBrandCommodityCategory>().Where(m => m.PId == id).Select(m => m.Id).ToList();
                    ids.AddRange(chidrenIds);
                    foreach (var item in chidrenIds)
                    {
                        getChildrenIds(item);
                    }
                };
                getChildrenIds(model.Id);
                if (ids.Contains(args.PId.Value))
                {
                    throw new Exception("不能放在自己的子目录下面");
                }
            }
            model.PId         = args.PId;
            model.Name        = args.Name;
            model.OrderWeight = args.OrderWeight;
            model.Detail      = args.Detail;
            //有值才修改,没有值不修改
            if (!string.IsNullOrEmpty(model.Flag))
            {
                model.Flag = args.Flag;
            }
            model.Ico         = args.Ico;
            model.Tags        = args.Tags;
            model.Keywords    = args.Keywords;
            model.Description = args.Description;
            db.SaveChanges();
            return(Success());
        }
示例#7
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            if (string.IsNullOrEmpty(args.Name))
            {
                throw new ArgumentNullException("Name");
            }
            if (string.IsNullOrEmpty(args.Flag))
            {
                args.Flag = System.Guid.NewGuid().ToString();
            }
            var model = db.Query <Shop>()
                        .Where(m => m.Id == args.Id)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }

            var brand = db.GetSingle <ShopBrand>(args.ShopBrandId);

            if (brand == null)
            {
                throw new Exception("指定的商铺品牌不存在");
            }
            model.ShopBrand = brand;

            model.Flag          = args.Flag;
            model.Address       = args.Address;
            model.AddressGuide  = args.AddressGuide;
            model.Detail        = args.Detail;
            model.Latitude      = args.Latitude;
            model.Longitude     = args.Longitude;
            model.Name          = args.Name;
            model.OpenTime      = args.OpenTime;
            model.ScoreValue    = args.ScoreValue;
            model.Tel           = args.Tel;
            model.UsePerUser    = args.UsePerUser;
            model.Logo          = args.Logo;
            model.IsShowApplets = args.IsShowApplets;
            model.Phone         = args.Phone;
            if (model.Latitude.HasValue && model.Longitude.HasValue)
            {
                model.GeoHash = Geohash.Encode(model.Latitude.Value, model.Longitude.Value);
            }
            else
            {
                model.GeoHash = string.Empty;
            }
            db.SaveChanges();
            return(Success());
        }
示例#8
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            var model = db.Query <ShopCallingQueueProduct>()
                        .Where(m => m.Id == args.Id)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }
            model.Detail = args.Detail;
            model.Title  = args.Title;
            model.Status = args.Status;

            db.SaveChanges();
            return(Success());
        }
示例#9
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            var model = db.Query <ShopPart>()
                        .Where(m => m.Id == args.Id)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }
            //在获取后检查是否拥有管理权限
            CheckShopActor(model.ShopId, ShopActorType.超级管理员);

            model.Title  = args.Title;
            model.Detail = args.Detail;
            db.SaveChanges();
            return(Success());
        }
示例#10
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            var model = db.Query <ShopCommodityStock>()
                        .Where(m => m.Id == args.Id)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }
            model.Stock       = args.Stock;
            model.CostPrice   = args.CostPrice;
            model.SalePrice   = args.SalePrice;
            model.MarketPrice = args.MarketPrice;

            db.SaveChanges();
            return(Success());
        }
示例#11
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            if (string.IsNullOrEmpty(args.Name))
            {
                throw new ArgumentNullException("Name");
            }
            if (string.IsNullOrEmpty(args.Flag))
            {
                args.Flag = System.Guid.NewGuid().ToString();
            }
            if (!args.Status.HasValue)
            {
                args.Status = CommercialDistrictStatus.正常;
            }

            var model = db.Query <CommercialDistrict>()
                        .Where(m => m.Id == args.Id)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }
            model.Flag      = args.Flag;
            model.Name      = args.Name;
            model.Status    = args.Status.Value;
            model.Detail    = args.Detail;
            model.Address   = args.Address;
            model.Longitude = args.Longitude;
            model.Latitude  = args.Latitude;
            if (model.Latitude.HasValue && model.Longitude.HasValue)
            {
                model.GeoHash = Geohash.Encode(model.Latitude.Value, model.Longitude.Value);
            }
            else
            {
                model.GeoHash = string.Empty;
            }
            db.SaveChanges();
            return(Success());
        }
示例#12
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            try
            {
                var model = wechatCoreDb.QueryRobotMessage()
                            .Where(m => m.Id == args.Id)
                            .FirstOrDefault();
                if (model == null)
                {
                    throw new Exception("数据库记录不存在");
                }

                model.Answer = args.Answer;
                wechatCoreDb.SaveChanges();
                return(Success());
            }
            catch (Exception ex)
            {
                return(Error(ex.Message));
            }
        }
示例#13
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            if (string.IsNullOrEmpty(args.Name))
            {
                throw new ArgumentNullException("Name");
            }
            if (string.IsNullOrEmpty(args.Flag))
            {
                args.Flag = System.Guid.NewGuid().ToString();
            }
            var model = db.Query <ShopBrandCommodity>()
                        .Where(m => m.Id == args.Id)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }

            var category = db.GetSingle <ShopBrandCommodityCategory>(args.CategoryId);

            if (category == null)
            {
                throw new Exception("店铺商品类别不存在");
            }

            model.Category      = category;
            model.Detail        = args.Detail;
            model.Name          = args.Name;
            model.Cover         = args.Cover;
            model.IsRecommand   = args.IsRecommand;
            model.Price         = args.Price;
            model.SalesForMonth = args.SalesForMonth;
            model.Summary       = args.Summary;
            model.Unit          = args.Unit;
            model.Upvote        = args.Upvote;

            db.SaveChanges();
            return(Success());
        }
示例#14
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            var model = db.Query <ShopCallingQueueProduct>()
                        .Where(m => m.Id == args.Id)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }

            //获取到订单后判断是否拥有指定的店铺的权限
            CheckShopActor(model.ShopId, ShopActorType.超级管理员);

            model.Detail = args.Detail;
            model.Title  = args.Title;
            model.Name   = args.Name;
            model.Status = args.Status;

            db.SaveChanges();
            return(Success());
        }
示例#15
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            var commodity = db.GetSingle <ShopBrandCommodity>(args.CommodityId.Value);

            if (commodity == null)
            {
                throw new Exception("商品纪录不存在");
            }
            var parameterIds = args.ParameterIds;

            //套餐商品只能添加一个规格
            if (commodity.CategoryId == 0)
            {
                if (args.ParameterIds.Count > 1)
                {
                    throw new Exception("套餐只能添加单个规格");
                }
                if (args.ParameterIds.Count != 0)
                {
                    var pvListCount = db.Query <ShopBrandCommodityParameterValue>()
                                      .Where(m => !m.IsDel)
                                      .Where(m => parameterIds.Contains(m.ParameterId))
                                      .Count();
                    if (pvListCount != 1)
                    {
                        throw new Exception("套餐只能添加单个规格");
                    }
                }
            }

            //在获取后检查是否拥有管理权限
            CheckShopBrandActor(commodity.ShopBrandId, ShopBrandActorType.超级管理员);

            //获取到旧的skuParameter
            var skus = db.Query <ShopBrandCommoditySku>()
                       .Where(m => !m.IsDel)
                       .Where(m => m.CommodityId == args.CommodityId)
                       .ToList();

            //删掉原来的
            foreach (var sku in skus)
            {
                sku.IsDel = true;
            }
            var skuIds = skus.Select(m => m.Id).ToList();

            //删掉原来的
            var skuItems = db.Query <ShopBrandCommoditySkuItem>()
                           .Where(m => !m.IsDel)
                           .Where(m => skuIds.Contains(m.SkuId))
                           .ToList();

            foreach (var skuItem in skuItems)
            {
                skuItem.IsDel = true;
            }

            var oldParameterIds = skuItems.Select(m => m.ParameterId).Distinct().ToList();

            //判定新的跟旧的是否一样,如果一样,则不需要修改
            //判定的方法是获得并集,如果两个集的长度相等并且合并后长度还是等于新的长度,则表示是一样的
            if (oldParameterIds.Count == args.ParameterIds.Count && oldParameterIds.Union(args.ParameterIds).Count() == args.ParameterIds.Count)
            {
                throw new Exception("当前数据跟提交数据一样,不需要修改");
            }
            //需要判定一下是否sku已经在使用,如果在使用,则不能删除
            var usedSkuCount = db.Query <ShopCommodityStock>()
                               .Where(m => !m.IsDel)
                               .Where(m => skuIds.Contains(m.SkuId))
                               .Count();

            if (usedSkuCount > 0)
            {
                throw new Exception("原规格还在使用中,不能修改");
            }


            var paramterCount = db.Query <ShopBrandCommodityParameter>()
                                .Where(m => !m.IsDel)
                                .Where(m => parameterIds.Contains(m.Id))
                                .Count();

            if (parameterIds.Count != paramterCount)
            {
                throw new Exception("参数有误,请刷新重试");
            }

            var paramterValues = db.Query <ShopBrandCommodityParameterValue>()
                                 .Where(m => !m.IsDel)
                                 .Where(m => parameterIds.Contains(m.ParameterId))
                                 .Select(m => new
            {
                ParameterId    = m.ParameterId,
                Id             = m.Id,
                ParameterName  = m.Parameter.Name,
                ParameterValue = m.Value
            })
                                 .OrderBy(m => m.Id)
                                 .ToList();

            //得到新的sku列表
            var newSkus = new List <List <int> >();

            newSkus.Add(new List <int> {
                commodity.Id
            });
            foreach (var parameterId in parameterIds)
            {
                var values = paramterValues.Where(m => m.ParameterId == parameterId).Select(m => m.Id).ToList();
                newSkus = CombineArray(newSkus, values);
            }

            foreach (var newSkuItems in newSkus)
            {
                var sku = new ShopBrandCommoditySku()
                {
                    CommodityId = commodity.Id,
                    Flag        = string.Join('_', newSkuItems.AsQueryable().OrderBy(m => m)),
                    Summary     = string.Empty
                };

                db.Add <ShopBrandCommoditySku>(sku);

                for (int i = 1; i < newSkuItems.Count; i++)
                {//0位为parameterId,这里从1开始
                    var parameterValueId = newSkuItems[i];
                    var paramValue       = paramterValues.Where(m => m.Id == parameterValueId).First();
                    db.Add(new ShopBrandCommoditySkuItem()
                    {
                        ParameterId      = paramValue.ParameterId,
                        ParameterValueId = parameterValueId,
                        Sku = sku
                    });
                    sku.Summary += $"{paramValue.ParameterName}:{paramValue.ParameterValue},";
                }

                sku.Summary = sku.Summary.TrimEnd(',');
            }
            db.SaveChanges();

            return(Success());
        }
示例#16
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            if (!args.Id.HasValue)
            {
                throw new ArgumentNullException("Id");
            }
            CheckShopActor(args.Id.Value, ShopActorType.超级管理员);

            if (string.IsNullOrEmpty(args.Name))
            {
                throw new ArgumentNullException("Name");
            }
            var model = db.Query <Shop>()
                        .Where(m => !m.IsDel)
                        .Where(m => m.Id == args.Id.Value)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }

            model.Address      = args.Address;
            model.AddressGuide = args.AddressGuide;
            model.Detail       = args.Detail;
            model.Name         = args.Name;
            model.OpenTime     = args.OpenTime;
            model.Tel          = args.Tel;
            model.UsePerUser   = args.UsePerUser;
            model.Logo         = args.Logo;
            model.Cover        = args.Cover;
            model.Longitude    = args.Longitude;
            model.Latitude     = args.Latitude;
            model.AreaCode     = args.AreaCode;
            model.AreaText     = args.AreaText;
            List <BannerModel> bannermodel = new List <BannerModel>();
            string             bannerjson  = string.Empty;

            try
            {
                if (args.Banners != null && args.Banners != "")
                {
                    var banners = args.Banners.Split(",");
                    for (int i = 0; i < banners.Length; i++)
                    {
                        bannermodel.Add(new BannerModel()
                        {
                            Id = i + 1, Name = banners[i], Url = "http://91huichihuihe.oss-cn-shenzhen.aliyuncs.com/" + banners[i], Sorting = i + 1, IsShow = true
                        });
                    }

                    bannerjson = JsonConvert.SerializeObject(bannermodel);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            model.Banners = bannerjson;
            db.SaveChanges();
            return(Success());
        }
示例#17
0
        public APIResult Update([FromBody] UpdateArgsModel args)
        {
            if (string.IsNullOrEmpty(args.Name))
            {
                throw new ArgumentNullException("Name");
            }
            if (string.IsNullOrEmpty(args.Flag))
            {
                args.Flag = System.Guid.NewGuid().ToString();
            }
            var model = db.Query <ShopBrandCommodity>()
                        .Where(m => !m.IsDel)
                        .Where(m => m.Id == args.Id)
                        .FirstOrDefault();

            if (model == null)
            {
                throw new Exception("数据库记录不存在");
            }

            //在获取后检查是否拥有管理权限
            CheckShopBrandActor(model.ShopBrandId, ShopBrandActorType.超级管理员);

            ShopBrandCommodityCategory category;

            if (args.CategoryId == 0)
            {
                category = null;
            }
            else
            {
                category = db.GetSingle <ShopBrandCommodityCategory>(args.CategoryId);
                if (category == null)
                {
                    throw new Exception("店铺商品类别不存在");
                }
            }

            model.Category       = category;
            model.Detail         = args.Detail;
            model.Name           = args.Name;
            model.Cover          = args.Cover;
            model.IsRecommand    = args.IsRecommand;
            model.Price          = args.Price;
            model.SalesForMonth  = args.SalesForMonth;
            model.Summary        = args.Summary;
            model.Unit           = args.Unit;
            model.IsTakeout      = args.IsTakeout;
            model.IsScanCode     = args.IsScanCode;
            model.IsSelfOrder    = args.IsSelfOrder;
            model.Upvote         = args.Upvote;
            model.UseMemberPrice = args.UseMemberPrice;
            //model.DiningWay = args.DiningWay;

            if (args.CategoryId == 0) //套餐
            {
                foreach (var commodityId in args.CommodityIds)
                {
                    db.Query <ShopOrderComboItem>()
                    .Where(m => !m.IsDel && m.Pid == model.Id)
                    .ToList()
                    .ForEach(m => m.IsDel = true);
                    ShopOrderComboItem comboItem = new ShopOrderComboItem()
                    {
                        ParentCommodity = model,
                        CommodityId     = commodityId
                    };
                    db.Add(comboItem);
                }
            }

            db.SaveChanges();
            return(Success());
        }