Beispiel #1
0
        public ActionResult SubmitFormDeatil(BusniessListDeatilEntity entity, string keyValue, string Title = "", int?OrderBy = null)
        {
            RepositoryManager manager = new RepositoryManager();

            if (string.IsNullOrWhiteSpace(keyValue))
            {
                if (entity.FKID == null || entity.FKID == 0)
                {
                    BusniessListEntity busniess = new BusniessListEntity();
                    busniess.CreateDateTime = DateTime.Now;
                    busniess.CreateUserName = User.Identity.Name;
                    busniess.Title          = Title;
                    busniess.OrderBy        = OrderBy;
                    manager.Add <BusniessListEntity>(busniess);
                    entity.FKID = busniess.PKID;
                    LoggerManager.InsertOplog(new ConfigHistory()
                    {
                        AfterValue = JsonConvert.SerializeObject(busniess), Author = User.Identity.Name, Operation = "新增业务", ObjectType = "OWNBCON"
                    });
                }
                entity.CreateDateTime = DateTime.Now;
                entity.CreateUserName = User.Identity.Name;
                manager.Add <BusniessListDeatilEntity>(entity);
                LoggerManager.InsertOplog(new ConfigHistory()
                {
                    AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "新增业务内容", ObjectType = "OWNBCON"
                });
                return(Content(JsonConvert.SerializeObject(new
                {
                    state = "success",
                    message = "操作成功",
                    data = entity.FKID
                })));
            }
            else
            {
                entity.PKID           = Convert.ToInt32(keyValue);
                entity.UpdateDateTime = DateTime.Now;
                entity.UpdateUserName = User.Identity.Name;
                var beforeEntity = manager.GetEntity <BusniessListDeatilEntity>(entity.PKID);
                manager.Update <BusniessListDeatilEntity>(entity);
                LoggerManager.InsertOplog(new ConfigHistory()
                {
                    BeforeValue = JsonConvert.SerializeObject(beforeEntity), AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "更新业务内容", ObjectType = "OWNBCON"
                });
                return(Content(JsonConvert.SerializeObject(new
                {
                    state = "success",
                    message = "操作成功",
                    data = ""
                })));
            }
        }
Beispiel #2
0
        public ActionResult SubmitFormCopy(int?keyValue)
        {
            RepositoryManager manager = new RepositoryManager();
            var entity = manager.GetEntity <BusniessListEntity>(keyValue);

            if (entity != null)
            {
                Expression <Func <BusniessListDeatilEntity, bool> > exp = _ => _.FKID == entity.PKID;
                var list = manager.GetEntityList <BusniessListDeatilEntity>(exp);
                manager.Add <BusniessListEntity>(entity);
                if (list != null)
                {
                    using (var db = manager.BeginTrans())
                    {
                        foreach (var i in list)
                        {
                            i.FKID = entity.PKID;
                            db.Insert <BusniessListDeatilEntity>(i);
                        }
                        db.Commit();
                    }
                }
            }
            return(Content(JsonConvert.SerializeObject(new
            {
                state = "success",
                message = "操作成功",
                data = ""
            })));
        }
Beispiel #3
0
        /// <summary>
        /// 添加商品
        /// </summary>
        /// <param name="pids"></param>
        /// <returns></returns>
        public ActionResult SubmitForm(string pids)
        {
            var entity           = new ShopDistributionEntity();
            RepositoryManager db = new RepositoryManager();

            entity.CreateTime     = DateTime.Now;
            entity.CreateBy       = User.Identity.Name;
            entity.LastUpdateBy   = User.Identity.Name;
            entity.LastUpdateTime = DateTime.Now;
            string[] pidArray = pids.Split(',');
            foreach (var pid in pidArray)
            {
                entity.FKPID = pid;
                db.Add <ShopDistributionEntity>(entity);
                LoggerManager.InsertOplog(new ConfigHistory()
                {
                    AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "添加商品" + pid, ObjectType = "MDPHLoger", ObjectID = entity.PKID.ToString()
                });
            }
            return(Content(JsonConvert.SerializeObject(new
            {
                state = "success",
                message = "操作成功",
            })));
        }
Beispiel #4
0
        public ActionResult SubmitForm(ActivePageHomeEntity entity)
        {
            if (entity == null)
            {
                return(Content(JsonConvert.SerializeObject(new
                {
                    state = "error",
                    message = "信息为空"
                })));
            }

            try
            {
                RepositoryManager repository = new RepositoryManager();

                if (entity.PKID == 0)
                {
                    Expression <Func <ActivePageHomeEntity, bool> > checkexpression = o => o.FKActiveID == entity.FKActiveID;
                    var result = repository.GetEntityList(checkexpression)?.ToList();
                    if (result.Count >= 6)
                    {
                        throw new Exception("会场数量最多可配置6个");
                    }

                    entity.CreateDateTime = DateTime.Now;
                    repository.Add <ActivePageHomeEntity>(entity);
                    LoggerManager.InsertOplog(new ConfigHistory()
                    {
                        AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "新增会场:" + entity.BigHomeName, ObjectType = "AUActivity", ObjectID = entity.PKID.ToString()
                    });
                }
                else
                {
                    var before = repository.GetEntity <ActivePageHomeEntity>(entity.PKID);
                    entity.UpdateDateTime = DateTime.Now;
                    repository.Update <ActivePageHomeEntity>(entity);
                    LoggerManager.InsertOplog(new ConfigHistory()
                    {
                        BeforeValue = JsonConvert.SerializeObject(before), AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "修改会场:" + entity.BigHomeName, ObjectType = "AUActivity", ObjectID = entity.PKID.ToString()
                    });
                }
                return(Content(JsonConvert.SerializeObject(new
                {
                    state = "success",
                    message = "操作成功"
                })));
            }
            catch (Exception em)
            {
                return(Content(JsonConvert.SerializeObject(new
                {
                    state = "error",
                    message = em.Message
                })));
            }
        }
        public ActionResult SubmitForm(ActivePageTireSizeConfigEntity entity, int?IsTireSize = null)
        {
            if (entity == null || entity?.FKActiveID == 0)
            {
                return(Content(JsonConvert.SerializeObject(new
                {
                    state = "error",
                    message = "信息为空"
                })));
            }

            RepositoryManager repository = new RepositoryManager();

            try
            {
                var activityEntity = repository.GetEntity <ActivePageListEntity>(entity.FKActiveID);
                if (activityEntity != null)
                {
                    activityEntity.IsTireSize = IsTireSize;
                    repository.Update <ActivePageListEntity>(activityEntity);
                }
                if (entity.PKID == 0)
                {
                    entity.CreateDateTime = DateTime.Now;
                    repository.Add <ActivePageTireSizeConfigEntity>(entity);
                    LoggerManager.InsertOplog(new ConfigHistory()
                    {
                        AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "新增轮胎适配:" + entity.FKActiveID, ObjectType = "AUCAct", ObjectID = entity.PKID.ToString()
                    });
                }
                else
                {
                    var before = repository.GetEntity <ActivePageTireSizeConfigEntity>(entity.PKID);
                    entity.UpdateDateTime = DateTime.Now;
                    repository.Update <ActivePageTireSizeConfigEntity>(entity);
                    LoggerManager.InsertOplog(new ConfigHistory()
                    {
                        BeforeValue = JsonConvert.SerializeObject(before), AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "修改轮胎适配:" + entity.FKActiveID, ObjectType = "AUCAct", ObjectID = entity.PKID.ToString()
                    });
                }
                return(Content(JsonConvert.SerializeObject(new
                {
                    state = "success",
                    message = "操作成功"
                })));
            }
            catch (Exception em)
            {
                return(Content(JsonConvert.SerializeObject(new
                {
                    state = "error",
                    message = JsonConvert.SerializeObject(em)
                })));
            }
        }
        public ActionResult SubmitForm(BigBrandRewardPoolEntity entity)
        {
            RepositoryManager manager = new RepositoryManager();

            if (entity.PKID == 0)
            {
                entity.CreateDateTime     = DateTime.Now;
                entity.LastUpdateDateTime = DateTime.Now;
                entity.CreateUserName     = User.Identity.Name;
                entity.UpdateUserName     = User.Identity.Name;
                entity.RewardType         = 0;
                entity.Status             = true;
                manager.Add <BigBrandRewardPoolEntity>(entity);
                LoggerManager.InsertOplog(new ConfigHistory()
                {
                    AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "新增大翻牌活动奖池信息", ObjectType = "BigBrand"
                });
            }
            else
            {
                var before = manager.GetEntity <BigBrandRewardPoolEntity>(entity.PKID);
                entity.LastUpdateDateTime = DateTime.Now;
                entity.UpdateUserName     = User.Identity.Name;
                entity.Status             = true;
                manager.Update <BigBrandRewardPoolEntity>(entity);
                LoggerManager.InsertOplog(new ConfigHistory()
                {
                    BeforeValue = JsonConvert.SerializeObject(before), AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "更新大翻牌活动奖池信息", ObjectType = "BigBrand"
                });
            }
            return(Content(JsonConvert.SerializeObject(new
            {
                state = "success",
                message = "操作成功",
                data = ""
            })));
        }
        public ActionResult Submit(string json, string group, int?fkActivityID, int pkid = 0, int?MenuType = 0)
        {
            if (string.IsNullOrWhiteSpace(json) || string.IsNullOrWhiteSpace(group) || fkActivityID == null || fkActivityID == 0)
            {
                return(Content("null"));
            }

            try
            {
                RepositoryManager       repository = new RepositoryManager();
                ActivePageContentEntity content    = new ActivePageContentEntity();
                try
                {
                    using (var db = repository.BeginTrans())
                    {
                        var activityEntity = db.FindEntity <ActivePageListEntity>(fkActivityID);
                        activityEntity.MenuType = MenuType;
                        db.Update <ActivePageListEntity>(activityEntity);
                        IEnumerable <ActivePageMenuEntity> beforeList = null;
                        if (pkid != 0)
                        {
                            Expression <Func <ActivePageMenuEntity, bool> > expression = _ => _.FKActiveContentID == pkid;
                            beforeList = repository.GetEntityList <ActivePageMenuEntity>(expression);
                            db.Delete <ActivePageMenuEntity>(expression);
                        }
                        else
                        {
                            content.FKActiveID     = fkActivityID;
                            content.GROUP          = group;
                            content.CreateDateTime = DateTime.Now;
                            content.Type           = -2;
                            content.RowType        = 0;
                            content.OrderBy        = 1;
                            content.IsUploading    = false;
                            content.Channel        = "wap";
                            repository.Add <ActivePageContentEntity>(content);
                        }
                        var list = JsonConvert.DeserializeObject <IEnumerable <ActivePageMenuEntity> >(json);
                        foreach (var item in list)
                        {
                            item.FKActiveContentID = content.PKID == 0 ? pkid : content.PKID;
                            item.CreateDateTime    = DateTime.Now;
                            item.UpdateDateTime    = DateTime.Now;
                            db.Insert <ActivePageMenuEntity>(item);
                        }
                        db.Commit();
                        LoggerManager.InsertOplog(new ConfigHistory()
                        {
                            BeforeValue = JsonConvert.SerializeObject(beforeList), AfterValue = JsonConvert.SerializeObject(list), Author = User.Identity.Name, Operation = "菜单配置", ObjectType = "AUCAct"
                        });
                    }
                }
                catch (Exception em)
                {
                    Expression <Func <ActivePageContentEntity, bool> > expre = _ => _.PKID == content.PKID;
                    repository.Delete <ActivePageContentEntity>(expre);
                    throw new Exception("保存菜单明细错误");
                }

                ActivityUnityController activity = new ActivityUnityController();
                activity.RefreshSource(fkActivityID); //刷新活动页缓存

                return(Content(JsonConvert.SerializeObject(new
                {
                    state = "success",
                    message = "操作成功"
                })));
            }
            catch (Exception em)
            {
                return(Content(JsonConvert.SerializeObject(new
                {
                    state = "error",
                    message = em.Message
                })));
            }
        }
Beispiel #8
0
        public ActionResult Save(string json, string cityInfo, string cars)
        {
            HomePageCarActivityEntity model = JsonConvert.DeserializeObject <HomePageCarActivityEntity>(json);

            if (model.PKID == 0)
            {
                RepositoryManager manger = new RepositoryManager();
                model.CreateDateTime     = DateTime.Now;
                model.LastUpdateDateTime = DateTime.Now;

                model.HashKey = Common.SecurityHelper.Sha1Encrypt(Guid.NewGuid().ToString(), System.Text.Encoding.UTF8).Substring(0, 8);
                manger.Add(model);
                if (model.PKID <= 0)
                {
                    throw new Exception("保存失败");
                }

                var citys = cityInfo?.Replace("undefined", "")?.Trim(',')?.Split(',');
                if (citys?.Length > 0)
                {
                    Expression <Func <HomePageCarActivityRegionEntity, bool> > exp = _ => _.FKCarActviityPKID == model.PKID;
                    manger.Delete(exp);
                    foreach (var city in citys)
                    {
                        if (!string.IsNullOrWhiteSpace(city))
                        {
                            manger.Add(new HomePageCarActivityRegionEntity {
                                LastUpdateDateTime = DateTime.Now, CreateDateTime = DateTime.Now, FKCarActviityPKID = model.PKID, RegionID = Convert.ToInt32(city)
                            });
                        }
                    }
                }
                if (!string.IsNullOrWhiteSpace(cars))
                {
                    var carItmes = JsonConvert.DeserializeObject <IEnumerable <HomePageCACarInfoEntity> >(cars);
                    Expression <Func <HomePageCACarInfoEntity, bool> > exp = _ => _.FKCarActviityPKID == model.PKID;
                    manger.Delete(exp);

                    foreach (var item in carItmes)
                    {
                        item.CreateDateTime     = DateTime.Now;
                        item.LastUpdateDateTime = DateTime.Now;
                        item.FKCarActviityPKID  = model.PKID;
                        manger.Add(item);
                    }
                }
                LoggerManager.InsertOplog(new ConfigHistory {
                    ObjectID = model.PKID.ToString(), AfterValue = JsonConvert.SerializeObject(model), Author = User.Identity.Name, BeforeValue = "", ObjectType = "HPCarAct", ChangeDatetime = DateTime.Now, Operation = "新增活动车型配置"
                });
                return(Content("1"));
            }
            else
            {
                RepositoryManager manger = new RepositoryManager();
                var before = manger.GetEntity <HomePageCarActivityEntity>(model.PKID);
                model.LastUpdateDateTime = DateTime.Now;
                manger.Update(model);
                if (model.PKID <= 0)
                {
                    throw new Exception("保存失败");
                }
                var citys = cityInfo?.Replace("undefined", "")?.Trim(',')?.Split(',');
                if (citys?.Length > 0)
                {
                    Expression <Func <HomePageCarActivityRegionEntity, bool> > exp = _ => _.FKCarActviityPKID == model.PKID;
                    manger.Delete(exp);
                    foreach (var city in citys)
                    {
                        if (!string.IsNullOrWhiteSpace(city))
                        {
                            manger.Add(new HomePageCarActivityRegionEntity {
                                LastUpdateDateTime = DateTime.Now, CreateDateTime = DateTime.Now, FKCarActviityPKID = model.PKID, RegionID = Convert.ToInt32(city)
                            });
                        }
                    }
                }
                else
                {
                    Expression <Func <HomePageCarActivityRegionEntity, bool> > exp = _ => _.FKCarActviityPKID == model.PKID;
                    manger.Delete(exp);
                }


                if (!string.IsNullOrWhiteSpace(cars))
                {
                    var carItmes = JsonConvert.DeserializeObject <IEnumerable <HomePageCACarInfoEntity> >(cars);
                    Expression <Func <HomePageCACarInfoEntity, bool> > exp = _ => _.FKCarActviityPKID == model.PKID;
                    manger.Delete(exp);

                    foreach (var item in carItmes)
                    {
                        item.CreateDateTime     = DateTime.Now;
                        item.LastUpdateDateTime = DateTime.Now;
                        item.FKCarActviityPKID  = model.PKID;
                        manger.Add(item);
                    }
                }
                else
                {
                    Expression <Func <HomePageCACarInfoEntity, bool> > exp = _ => _.FKCarActviityPKID == model.PKID;
                    manger.Delete(exp);
                }

                LoggerManager.InsertOplog(new ConfigHistory {
                    ObjectID = model.PKID.ToString(), AfterValue = JsonConvert.SerializeObject(model), Author = User.Identity.Name, BeforeValue = JsonConvert.SerializeObject(before), ObjectType = "HPCarAct", ChangeDatetime = DateTime.Now, Operation = "编辑活动车型配置"
                });

                return(Content("1"));
            }
        }
Beispiel #9
0
        public byte[] GetQcode(QCodeEntity entity, string user)
        {
            string        uri        = string.Empty;
            StringBuilder parameters = new StringBuilder();

            if (entity.Type == 1)
            {
                uri = "https://api.weixin.qq.com/wxa/getwxacode?access_token=" + GetAccess_token(entity.WXAPPType);
                //  parameters.Append(string.Format("path=\"{0}\"&width={1}&auto_color={2}&line_color={3}", entity.path, entity.width, entity.auto_color, string.Format("{\"r\":\"{0}\",\"g\":\"{1}\",\"b\":\"{2}\"}",entity.line_color.r,entity.line_color.g,entity.line_color.b)));
                parameters.Append(JsonConvert.SerializeObject(new
                {
                    path       = entity.path,
                    width      = entity.width,
                    auto_color = entity.auto_color,
                    line_color = new {
                        r = entity.line_color.r,
                        g = entity.line_color.g,
                        b = entity.line_color.b
                    }
                }));
            }
            else
            {
                uri = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=" + GetAccess_token();
                //   parameters.Append(string.Format("path=\"{0}\"&width={1}",entity.path,entity.width));
                parameters.Append(JsonConvert.SerializeObject(new {
                    path  = entity.path,
                    width = entity.width
                }));
            }

            var request = (HttpWebRequest)WebRequest.Create(uri);

            request.Method      = "POST";
            request.ContentType = "application/json";
            byte[] data = System.Text.Encoding.UTF8.GetBytes(parameters.ToString());
            using (Stream stream = request.GetRequestStream())
            {
                stream.Write(data, 0, data.Length);
            }

            WebResponse response = request.GetResponse() as WebResponse;
            Stream      result   = response.GetResponseStream();

            if (!response.ContentType.Contains("image"))
            {
                throw new Exception(new StreamReader(result).ReadToEnd());
            }

            byte[]       bytes  = default(byte[]);
            StreamReader reader = new StreamReader(result);

            using (var memstream = new MemoryStream())
            {
                reader.BaseStream.CopyTo(memstream);
                bytes = memstream.ToArray();
            }
            try
            {
                string            url        = ImageUploadToAli(bytes);
                RepositoryManager repository = new RepositoryManager();
                Tuhu.Provisioning.DataAccess.Mapping.QcodeRecordEntity qcodeEntity = new DataAccess.Mapping.QcodeRecordEntity()
                {
                    B = entity.line_color.b,
                    CreateDatetime = DateTime.Now,
                    CreateUser     = user,
                    G         = entity.line_color.g,
                    IsColor   = entity.auto_color,
                    Path      = entity.path,
                    QcodeType = entity.Type,
                    R         = entity.line_color.r,
                    Uri       = url,
                    Width     = entity.width
                };
                if (qcodeEntity.QcodeType == 2)
                {
                    qcodeEntity.IsColor = null;
                    qcodeEntity.R       = null;
                    qcodeEntity.G       = null;
                    qcodeEntity.B       = null;
                }
                repository.Add <Tuhu.Provisioning.DataAccess.Mapping.QcodeRecordEntity>(qcodeEntity);
            }
            catch (Exception em)
            {
            }
            return(bytes);
        }
        public ActionResult SubmitFormPackage(string entityString, string data)
        {
            data         = data.Replace("\"&nbsp;\"", "null");
            entityString = entityString.Replace("\"&nbsp;\"", "null");

            IEnumerable <BigBrandRewardPoolEntity> list = JsonConvert.DeserializeObject <IEnumerable <BigBrandRewardPoolEntity> >(data);
            RepositoryManager manager = new RepositoryManager();
            var entity = JsonConvert.DeserializeObject <BigBrandRewardPoolEntity>(entityString);

            if (entity.PKID == 0)
            {
                entity.CreateDateTime     = DateTime.Now;
                entity.LastUpdateDateTime = DateTime.Now;
                entity.CreateUserName     = User.Identity.Name;
                entity.UpdateUserName     = User.Identity.Name;
                entity.Status             = true;
                manager.Add <BigBrandRewardPoolEntity>(entity);

                using (var db = manager.BeginTrans())
                {
                    if (list != null)
                    {
                        foreach (var item in list)
                        {
                            item.FKPKID             = entity.FKPKID;
                            item.ParentPKID         = entity.PKID;
                            item.CreateDateTime     = DateTime.Now;
                            item.UpdateUserName     = User.Identity.Name;
                            item.LastUpdateDateTime = DateTime.Now;
                            item.CreateUserName     = User.Identity.Name;
                            item.Status             = true;
                            if (item.CouponGuid != null)
                            {
                                System.Data.DataTable dt = DataAccess.DAO.DALActivity.CouponVlidate(item.CouponGuid.Value.ToString());
                                if (dt == null || dt.Rows.Count == 0)
                                {
                                    return(Content(JsonConvert.SerializeObject(new
                                    {
                                        state = "error",
                                        message = "配置的优惠券:" + item.CouponGuid.Value + "不存在,请重新配置",
                                        data = ""
                                    })));
                                }
                                item.Name = dt.Rows[0]["PromtionName"].ToString();
                            }
                            else if (item.WxRedBagAmount > 0)
                            {
                                item.Name = "微信红包";
                            }
                            else if (item.Integral > 0)
                            {
                                item.Name = "积分";
                            }
                            db.Insert <BigBrandRewardPoolEntity>(item);
                        }
                        db.Commit();
                    }
                }
                LoggerManager.InsertOplog(new ConfigHistory()
                {
                    AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "新增大翻牌礼包信息", ObjectType = "BigBrand"
                });
                LoggerManager.InsertOplog(new ConfigHistory()
                {
                    AfterValue = JsonConvert.SerializeObject(list), Author = User.Identity.Name, Operation = "新增大翻牌礼包明细", ObjectType = "BigBrand"
                });
            }
            else
            {
                var before = manager.GetEntity <BigBrandRewardPoolEntity>(entity.PKID);
                entity.LastUpdateDateTime = DateTime.Now;
                entity.UpdateUserName     = User.Identity.Name;
                manager.Update <BigBrandRewardPoolEntity>(entity);

                Expression <Func <BigBrandRewardPoolEntity, bool> > exp = _ => _.ParentPKID == entity.PKID;
                using (var db = manager.BeginTrans())
                {
                    var contentList = db.FindList <BigBrandRewardPoolEntity>(exp);
                    if (contentList != null)
                    {
                        foreach (var i in contentList)
                        {
                            i.Status = false;
                            db.Update <BigBrandRewardPoolEntity>(i);
                        }
                    }
                    if (list != null)
                    {
                        foreach (var item in list)
                        {
                            item.FKPKID             = entity.FKPKID;
                            item.ParentPKID         = entity.PKID;
                            item.CreateDateTime     = DateTime.Now;
                            item.UpdateUserName     = User.Identity.Name;
                            item.LastUpdateDateTime = DateTime.Now;
                            item.CreateUserName     = User.Identity.Name;
                            item.Status             = true;
                            if (item.CouponGuid != null)
                            {
                                System.Data.DataTable dt = DataAccess.DAO.DALActivity.CouponVlidate(item.CouponGuid.Value.ToString());
                                if (dt == null || dt.Rows.Count == 0)
                                {
                                    return(Content(JsonConvert.SerializeObject(new
                                    {
                                        state = "error",
                                        message = "配置的优惠券:" + item.CouponGuid.Value + "不存在,请重新配置",
                                        data = ""
                                    })));
                                }
                                item.Name = dt.Rows[0]["PromtionName"].ToString();
                            }
                            else if (item.WxRedBagAmount > 0)
                            {
                                item.Name = "微信红包";
                            }
                            else if (item.Integral > 0)
                            {
                                item.Name = "积分";
                            }
                            db.Insert <BigBrandRewardPoolEntity>(item);
                        }
                        db.Commit();
                    }
                }

                LoggerManager.InsertOplog(new ConfigHistory()
                {
                    BeforeValue = JsonConvert.SerializeObject(before), AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "更新大翻牌礼包信息", ObjectType = "BigBrand"
                });
                LoggerManager.InsertOplog(new ConfigHistory()
                {
                    AfterValue = JsonConvert.SerializeObject(list), Author = User.Identity.Name, Operation = "更新大翻牌礼包明细", ObjectType = "BigBrand"
                });
            }
            return(Content(JsonConvert.SerializeObject(new
            {
                state = "success",
                message = "操作成功",
                data = ""
            })));
        }
Beispiel #11
0
        /// <summary>
        /// 提交大翻盘的配置
        /// </summary>
        /// <param name="modeljson"></param>
        /// <param name="wheeljson"></param>
        /// <returns></returns>
        public async Task <ActionResult> SubmitForm(string modeljson, string wheeljson)
        {
            modeljson = modeljson.Replace("\"&nbsp;\"", "null");
            wheeljson = wheeljson.Replace("\"&nbsp;\"", "null");
            try
            {
                BigBrandRewardListEntity entity = JsonConvert.DeserializeObject <BigBrandRewardListEntity>(modeljson);

                IEnumerable <BigBrandWheelEntity> wheel = null;
                if (!string.IsNullOrWhiteSpace(wheeljson))
                {
                    wheel = JsonConvert.DeserializeObject <IEnumerable <BigBrandWheelEntity> >(wheeljson);
                }

                RepositoryManager manager = new RepositoryManager();

                //获取修改前旧数据
                var oldEntity = new BigBrandRewardListEntity();
                var oldWheel  = new List <BigBrandWheelEntity>();
                if (entity.PKID > 0)
                {
                    try
                    {
                        oldEntity = manager.GetEntity <BigBrandRewardListEntity>(p => p.PKID == entity.PKID && p.Is_Deleted == false);

                        Expression <Func <BigBrandWheelEntity, bool> > wheelExp = _ => _.FKBigBrand == entity.PKID && _.Is_Deleted == false;
                        oldWheel = manager.GetEntityList <BigBrandWheelEntity>(wheelExp)?.ToList();
                    }
                    catch (Exception ex)
                    {
                        Logger.Log(Level.Error, $"ex:{ex}");
                    }
                }

                using (var db = manager.BeginTrans())
                {
                    string errorMsg     = string.Empty;
                    var    newWheelList = new List <BigBrandWheelEntity>();

                    //判断FKBigBrand,TimeNumber,FKPoolPKID(奖池ID) 是否唯一
                    if (wheel != null)
                    {
                        foreach (var item in wheel)
                        {
                            item.CreateDateTime     = DateTime.Now;
                            item.CreateUserName     = User.Identity.Name;
                            item.LastUpdateDateTime = DateTime.Now;
                            item.UpdateUserName     = User.Identity.Name;
                            item.FKBigBrand         = entity.PKID;

                            var array = item.FKPoolPKIDText.TrimEnd(',').Split(',');
                            if (array != null && array.Length > 0)
                            {
                                foreach (var s in array)
                                {
                                    int poolPKID = 0;
                                    if (int.TryParse(s, out poolPKID))
                                    {
                                        if (poolPKID != 0)
                                        {
                                            item.FKPoolPKID = poolPKID;
                                            var wheelPkidList  = manager.GetEntityList <BigBrandWheelEntity>(_ => _.FKBigBrand == item.FKBigBrand && _.TimeNumber == item.TimeNumber && _.FKPoolPKID == item.FKPoolPKID && _.Is_Deleted == false).ToList().Select(p => p.PKID).ToList();
                                            var existWheelList = manager.GetEntityList <BigBrandWheelEntity>(_ => _.FKBigBrand == item.FKBigBrand && _.TimeNumber == item.TimeNumber && _.FKPoolPKID == item.FKPoolPKID && _.Is_Deleted == false && !wheelPkidList.Contains(_.PKID));
                                            if (existWheelList != null && existWheelList.ToList().Count > 0)
                                            {
                                                if (!errorMsg.Contains("第" + item.TimeNumber + "轮"))
                                                {
                                                    errorMsg = errorMsg + "第" + item.TimeNumber + "轮奖池ID,";
                                                }
                                            }
                                            else
                                            {
                                                string json      = JsonConvert.SerializeObject(item);
                                                var    tempModel = JsonConvert.DeserializeObject <BigBrandWheelEntity>(json);
                                                newWheelList.Add(tempModel);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if (errorMsg.Length > 0)
                    {
                        errorMsg = errorMsg.TrimEnd(',') + "的值重复了!";
                        return(Content(JsonConvert.SerializeObject(new
                        {
                            state = "false",
                            message = errorMsg,
                            data = ""
                        })));
                    }

                    if (entity.PKID == 0)
                    {
                        entity.HashKeyValue       = Tuhu.Provisioning.Common.SecurityHelper.Sha1Encrypt(Guid.NewGuid().ToString(), System.Text.Encoding.UTF8).Substring(0, 8);
                        entity.CreateDateTime     = DateTime.Now;
                        entity.LastUpdateDateTime = DateTime.Now;
                        entity.UpdateUserName     = User.Identity.Name;
                        entity.CreateUserName     = User.Identity.Name;
                        manager.Add <BigBrandRewardListEntity>(entity);
                        // LoggerManager.InsertOplog(new ConfigHistory() { AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "新增大翻牌活动", ObjectType = "BigBrand" });
                    }
                    else
                    {
                        entity.LastUpdateDateTime = DateTime.Now;
                        entity.UpdateUserName     = User.Identity.Name;
                        manager.Update <BigBrandRewardListEntity>(entity);
                        // LoggerManager.InsertOplog(new ConfigHistory() { AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "更新大翻牌活动", ObjectType = "BigBrand" });
                    }

                    Expression <Func <BigBrandWheelEntity, bool> > exp = _ => _.FKBigBrand == entity.PKID && _.Is_Deleted == false;
                    var bigBrandWheelList = manager.GetEntityList <BigBrandWheelEntity>(exp);
                    foreach (var item in bigBrandWheelList)
                    {
                        item.Is_Deleted         = true;
                        item.LastUpdateDateTime = DateTime.Now;
                        item.UpdateUserName     = User.Identity.Name;
                        manager.Update <BigBrandWheelEntity>(item);
                    }
                    if (wheel != null)
                    {
                        foreach (var item in newWheelList)
                        {
                            db.Insert <BigBrandWheelEntity>(item);
                        }
                    }
                    db.Commit();
                    // LoggerManager.InsertOplog(new ConfigHistory() { AfterValue = JsonConvert.SerializeObject(wheel), Author = User.Identity.Name, Operation = "大翻牌明细", ObjectType = "BigBrand" });
                }

                entity = manager.GetEntity <BigBrandRewardListEntity>(p => p.PKID == entity.PKID && p.Is_Deleted == false);

                //操作日志
                SubmitFormLog(oldEntity, entity, oldWheel, wheel);

                //读写分离 做延时
                await Task.Delay(3000);

                #region 更新大翻盘缓存
                using (var client = new Tuhu.Service.Activity.BigBrandClient())
                {
                    var result = client.UpdateBigBrand(entity.HashKeyValue);
                    result.ThrowIfException(true);
                }
                #endregion

                #region 更新 活动页的 缓存
                //筛选 出大翻盘相关的 活动页 配置
                List <ActivePageContentEntity> activeEntityList = manager.GetEntityList <ActivePageContentEntity>(p => p.HashKey == entity.HashKeyValue && p.Type == 20).ToList();
                foreach (var activeEntity in activeEntityList)
                {
                    var activePageList = manager.GetEntity <ActivePageListEntity>(activeEntity.FKActiveID);
                    using (var client = new Tuhu.Service.Activity.ActivityClient())
                    {
                        var result1 = await client.RefreshActivePageListModelCacheAsync(new Service.Activity.Models.Requests.ActivtyPageRequest()
                        {
                            Channel = "wap",
                            HashKey = activePageList.HashKey,
                        });

                        result1.ThrowIfException(true);
                        var result2 = await client.RefreshActivePageListModelCacheAsync(new Service.Activity.Models.Requests.ActivtyPageRequest()
                        {
                            ActivityId = activePageList.PKGuid.Value,
                            Channel    = "website",
                            HashKey    = activePageList.HashKey,
                        });

                        result2.ThrowIfException(true);
                    }

                    var list = manager.GetEntityList <ActivePageContentEntity>(_ => _.FKActiveID == activeEntity.FKActiveID);
                    var lucy = list?.Where(_ => _.Type == 13)?.FirstOrDefault();
                    if (lucy != null)
                    {
                        using (var client = new Tuhu.Service.Activity.ActivityClient())
                        {
                            var result = await client.RefreshLuckWheelCacheAsync(lucy.ActivityID.ToString());

                            result.ThrowIfException(true);
                        }
                    }
                }

                #endregion

                return(Content(JsonConvert.SerializeObject(new
                {
                    state = "success",
                    message = "操作成功",
                    data = ""
                })));
            }
            catch (Exception em)
            {
                throw em;
            }
        }
        public ActionResult SubmitForm(string modeljson, string wheeljson)
        {
            modeljson = modeljson.Replace("\"&nbsp;\"", "null");
            wheeljson = wheeljson.Replace("\"&nbsp;\"", "null");
            try
            {
                BigBrandRewardListEntity entity = JsonConvert.DeserializeObject <BigBrandRewardListEntity>(modeljson);

                IEnumerable <BigBrandWheelEntity> wheel = null;
                if (!string.IsNullOrWhiteSpace(wheeljson))
                {
                    wheel = JsonConvert.DeserializeObject <IEnumerable <BigBrandWheelEntity> >(wheeljson);
                }

                RepositoryManager manager = new RepositoryManager();
                using (var db = manager.BeginTrans())
                {
                    if (entity.PKID == 0)
                    {
                        entity.HashKeyValue       = Tuhu.Provisioning.Common.SecurityHelper.Sha1Encrypt(Guid.NewGuid().ToString(), System.Text.Encoding.UTF8).Substring(0, 8);
                        entity.CreateDateTime     = DateTime.Now;
                        entity.LastUpdateDateTime = DateTime.Now;
                        entity.UpdateUserName     = User.Identity.Name;
                        entity.CreateUserName     = User.Identity.Name;
                        manager.Add <BigBrandRewardListEntity>(entity);
                        LoggerManager.InsertOplog(new ConfigHistory()
                        {
                            AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "新增大翻牌活动", ObjectType = "BigBrand"
                        });
                    }
                    else
                    {
                        entity.LastUpdateDateTime = DateTime.Now;
                        entity.UpdateUserName     = User.Identity.Name;
                        manager.Update <BigBrandRewardListEntity>(entity);
                        LoggerManager.InsertOplog(new ConfigHistory()
                        {
                            AfterValue = JsonConvert.SerializeObject(entity), Author = User.Identity.Name, Operation = "更新大翻牌活动", ObjectType = "BigBrand"
                        });
                    }

                    Expression <Func <BigBrandWheelEntity, bool> > exp = _ => _.FKBigBrand == entity.PKID;
                    db.Delete <BigBrandWheelEntity>(exp);

                    if (wheel != null)
                    {
                        foreach (var item in wheel)
                        {
                            item.CreateDateTime     = DateTime.Now;
                            item.CreateUserName     = User.Identity.Name;
                            item.LastUpdateDateTime = DateTime.Now;
                            item.UpdateUserName     = User.Identity.Name;
                            item.FKBigBrand         = entity.PKID;

                            var array = item.FKPoolPKIDText.TrimEnd(',').Split(',');
                            if (array != null && array.Length > 0)
                            {
                                foreach (var s in array)
                                {
                                    int poolPKID = 0;
                                    if (int.TryParse(s, out poolPKID))
                                    {
                                        if (poolPKID != 0)
                                        {
                                            item.FKPoolPKID = poolPKID;
                                            string json      = JsonConvert.SerializeObject(item);
                                            var    tempModel = JsonConvert.DeserializeObject <BigBrandWheelEntity>(json);
                                            db.Insert <BigBrandWheelEntity>(tempModel);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    db.Commit();
                    LoggerManager.InsertOplog(new ConfigHistory()
                    {
                        AfterValue = JsonConvert.SerializeObject(wheel), Author = User.Identity.Name, Operation = "大翻牌明细", ObjectType = "BigBrand"
                    });
                }

                return(Content(JsonConvert.SerializeObject(new
                {
                    state = "success",
                    message = "操作成功",
                    data = ""
                })));
            }
            catch (Exception em)
            {
                throw em;
            }
        }