public static int UpdateRegionMarketingConfig(SqlConnection conn, RegionMarketingModel data)
        {
            const string sql = @"
            UPDATE  Configuration..RegionMarketingConfig
            SET     WXUrl = @WXUrl ,
                    AppUrl = @AppUrl ,
                    ShareImg = @ShareImg ,
                    ShareTitle = @ShareTitle ,
                    ShareDes = @ShareDes ,
                    IsAdaptationVehicle = @IsAdaptationVehicle ,
                    StartTime = @StartTime ,
                    EndTime = @EndTime ,
                    ActivityRules = @ActivityRules ,
                    ActivityRulesImg = @ActivityRulesImg ,
                    UpdatedTime = GETDATE()
            WHERE   ActivityId = @ActivityId;";

            return(conn.Execute(sql, new
            {
                ActivityId = data.ActivityId,
                WXUrl = data.WXUrl,
                AppUrl = data.AppUrl,
                ShareImg = data.ShareImg,
                ShareTitle = data.ShareTitle,
                ShareDes = data.ShareDes,
                IsAdaptationVehicle = data.IsAdaptationVehicle,
                StartTime = data.StartTime,
                ActivityRules = data.ActivityRules,
                ActivityRulesImg = data.ActivityRulesImg,
                EndTime = data.EndTime
            }, commandType: CommandType.Text));
        }
Example #2
0
        public ActionResult RegionMarketingConfig(string activityId, string optionType = "Add")
        {
            ViewBag.OptionType = optionType;
            var result = new RegionMarketingModel()
            {
                ImgList     = new List <ActivityImageConfig>(),
                ProductList = new List <RegionMarketingProductConfig>()
            };

            if (optionType.Equals("Edit") && !string.IsNullOrEmpty(activityId))
            {
                RegionMarketingManager manager = new RegionMarketingManager();
                result = manager.GetRegionActivityConfigByActivityId(Guid.Parse(activityId));
            }

            return(View(result));
        }
        public static int InsertRegionMarketingConfig(SqlConnection conn, RegionMarketingModel data)
        {
            const string sql = @"INSERT INTO Configuration..RegionMarketingConfig
                    ( ActivityId ,
                      WXUrl ,
                      AppUrl ,
                      ShareImg ,
                      ShareTitle ,
                      ShareDes ,
                      IsAdaptationVehicle ,
                      StartTime ,
                      EndTime ,
                      ActivityRules ,
                      ActivityRulesImg ,
                      CreatedTime 
                    )
            OUTPUT  Inserted.PKID
            VALUES  ( @ActivityId ,
                      @WXUrl ,
                      @AppUrl ,
                      @ShareImg ,
                      @ShareTitle ,
                      @ShareDes ,
                      @IsAdaptationVehicle ,
                      @StartTime ,
                      @EndTime ,
                      @ActivityRules ,
                      @ActivityRulesImg ,
                      GETDATE() 
                    )";

            return(conn.Execute(sql, new
            {
                ActivityId = data.ActivityId,
                WXUrl = data.WXUrl,
                AppUrl = data.AppUrl,
                ShareImg = data.ShareImg,
                ShareTitle = data.ShareTitle,
                ShareDes = data.ShareDes,
                IsAdaptationVehicle = data.IsAdaptationVehicle,
                StartTime = data.StartTime,
                ActivityRules = data.ActivityRules,
                ActivityRulesImg = data.ActivityRulesImg,
                EndTime = data.EndTime
            }, commandType: CommandType.Text));
        }
Example #4
0
        public RegionMarketingModel GetRegionActivityConfigByActivityId(Guid activityId)
        {
            RegionMarketingModel result        = null;
            FlashSaleModel       flashSaleInfo = null;
            List <DataAccess.Entity.RegionMarketing.SimpleTireProductInfo> tireInfo = new List <DataAccess.Entity.RegionMarketing.SimpleTireProductInfo>();

            try
            {
                if (activityId != Guid.Empty)
                {
                    dbScopeReadManager.Execute(conn =>
                    {
                        result = DALRegionMarketing.SelectRegionConfigByActivityId(conn, activityId);
                        if (result != null)
                        {
                            result.ImgList     = DALRegionMarketing.SelectActivityImgById(conn, result.ActivityId);
                            result.ProductList = DALRegionMarketing.SelectRegionProductsByActivityId(conn, result.ActivityId);
                            flashSaleInfo      = SelectFlashSaleDataByActivityID(activityId);
                            if (flashSaleInfo != null && flashSaleInfo.Products != null && flashSaleInfo.Products.Any())
                            {
                                var products = flashSaleInfo.Products;
                                var pidStr   = string.Join(",", products.Select(x => x.PID));
                                tireInfo     = DALRegionMarketing.SelectProductInfoByPID(conn, pidStr);
                            }
                        }
                    });
                    if (result != null)
                    {
                        if (flashSaleInfo != null && flashSaleInfo.Products != null && flashSaleInfo.Products.Any())
                        {
                            result.ProductList = (from fs in flashSaleInfo.Products
                                                  join pl in result.ProductList
                                                  on fs.PID equals pl.ProductId into temp
                                                  from t in temp.DefaultIfEmpty()
                                                  join tp in tireInfo on fs.PID equals tp.PID into infoData
                                                  from o in infoData.DefaultIfEmpty()
                                                  select new RegionMarketingProductConfig()
                            {
                                ActivityId = fs.ActivityID,
                                ProductId = fs.PID,
                                ProductName = fs.ProductName,
                                Price = fs.Price,
                                Size = o != null ? o.CP_Tire_Rim : string.Empty,
                                Specification = o != null && !string.IsNullOrEmpty(o.CP_Tire_Width)
                                                      ? (o.CP_Tire_Width + "/" + (!string.IsNullOrEmpty(o.CP_Tire_AspectRatio)
                                                      ? o.CP_Tire_AspectRatio : string.Empty)) : string.Empty,
                                MaxQuantity = fs.MaxQuantity,
                                TotalQuantity = fs.TotalQuantity,
                                AdvertiseTitle = t != null && !string.IsNullOrEmpty(t.AdvertiseTitle) ? t.AdvertiseTitle : fs.AdvertiseTitle,
                                IsShow = t != null && !string.IsNullOrEmpty(t.AdvertiseTitle),
                                SpecialCondition = t != null ? t.SpecialCondition : 0
                            }).ToList();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Log(Level.Error, ex, "GetRegionMarketingConfig");
            }

            return(result);
        }
Example #5
0
        public bool SaveRegionarketingConfig(RegionMarketingModel data, string user)
        {
            var    result    = false;
            var    flag      = false;
            string msg       = string.Empty;
            var    isAdd     = false;
            var    startTime = data.StartTime.GetValueOrDefault();
            var    endTime   = data.EndTime.GetValueOrDefault();

            try
            {
                if (data != null)
                {
                    data.StartTime = data.EndTime = null;
                    dbScopeManager.CreateTransaction(conn =>
                    {
                        var info = DALRegionMarketing.SelectRegionMarketingConfig(conn, data.ActivityId, string.Empty, null, null, 1, 10);
                        if (info == null || info.Count == 0)
                        {
                            isAdd = true;
                            msg   = "添加活动配置";
                            flag  = DALRegionMarketing.InsertRegionMarketingConfig(conn, data) > 0;
                        }
                        else
                        {
                            msg  = "修改活动配置";
                            flag = DALRegionMarketing.UpdateRegionMarketingConfig(conn, data) > 0;
                        }
                        if (flag)
                        {
                            foreach (var item in data.ImgList)
                            {
                                var imgInfo = DALRegionMarketing.SelectActivityImgByIdAndType(conn, item.ActivityId, item.Type);
                                if (imgInfo != null)
                                {
                                    result = DALRegionMarketing.UpdateActivityImgByIdAnType(conn, item.ActivityId, item.ImgUrl, item.Type, item.Position) > 0;
                                }
                                else
                                {
                                    result = DALRegionMarketing.InsertActivityImg(conn, item.ActivityId, item.ImgUrl, item.Type, item.Position) > 0;
                                }
                            }
                            foreach (var item in data.ProductList)
                            {
                                var proInfo = DALRegionMarketing.SelectRegionProductsByPID(conn, item.ActivityId, item.ProductId);
                                if (proInfo != null)
                                {
                                    result = DALRegionMarketing.UpdateRegionProductInfo(conn, item.ActivityId, item.ProductId, item.AdvertiseTitle, item.SpecialCondition) > 0;
                                }
                                else
                                {
                                    result = DALRegionMarketing.InsertRegionProductInfo(conn, item.ActivityId, item.ProductId, item.AdvertiseTitle, item.SpecialCondition) > 0;
                                }
                            }
                        }
                    });
                }
            }
            catch (Exception ex)
            {
                result = false;
                logger.Log(Level.Error, ex, "SaveRegionarketingConfig");
            }

            if (result)
            {
                data.ProductList = new List <RegionMarketingProductConfig>();
                data.ImgList     = new List <DataAccess.Entity.RegionMarketing.ActivityImageConfig>();
                InsertLog("RegionMarketingLog", data.ActivityId, JsonConvert.SerializeObject(data), msg, user, LogType);
                if (isAdd)
                {
                    CallCRMService.NewAddActivity(data.ActivityName, startTime, endTime, "", data.ActivityRules, data.ActivityId.ToString(), CRMSourceType.TiresActivityOne, user);
                }
                else
                {
                    CallCRMService.NewUpdateActivity(data.ActivityName, startTime, endTime, "", data.ActivityRules, data.ActivityId.ToString(), CRMSourceType.TiresActivityOne, user);
                }
            }

            return(result);
        }