Example #1
0
        public JsonResult GetTiresFloorInfoByFloorActivity(Guid flashId, Guid parentId)
        {
            TiresFloorActivityConfig result = new TiresFloorActivityConfig();

            result = manager.SelectTiresActivityByFlashId(flashId, parentId);
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Example #2
0
        public TiresFloorActivityConfig SelectTiresActivityByFlashId(Guid flashId, Guid parentId)
        {
            var result = new TiresFloorActivityConfig();

            try
            {
                dbScopeReadManager.Execute(conn =>
                {
                    result = DALTiresActivity.SelectTiresFloorInfoByFlashId(conn, flashId, parentId);
                    if (result != null)
                    {
                        var flashSaleInfo = SelectFlashSaleDataByActivityID(flashId);
                        if (flashSaleInfo != null && flashSaleInfo.Products != null && flashSaleInfo.Products.Any())
                        {
                            var products = flashSaleInfo.Products;
                            var pidStr   = string.Join(",", products.Select(x => x.PID));
                            var tireInfo = DALTiresActivity.SelectProductInfoByPID(conn, pidStr);
                            result       = ConvertDetails(result, flashSaleInfo, tireInfo);
                        }
                    }
                });
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }

            return(result);
        }
Example #3
0
        public TiresFloorActivityConfig SelectTiresActivityByFloorId(Guid floorId)
        {
            var result = new TiresFloorActivityConfig();

            try
            {
                dbScopeReadManager.Execute(conn =>
                {
                    result = DALTiresActivity.SelectTiresFloorInfoByFloorId(conn, floorId);
                    if (result != null)
                    {
                        result.ImgList     = DALTiresActivity.SelectActivityImgById(conn, result.FloorActivityId) ?? new List <DataAccess.Entity.TiresActivity.ActivityImageConfig>();
                        result.ProductList = DALTiresActivity.SelectRegionProductsByActivityId(conn, result.FloorActivityId) ?? new List <DataAccess.Entity.TiresActivity.TiresActivityProductConfig>();
                        var flashSaleInfo  = SelectFlashSaleDataByActivityID(result.FlashSaleId);
                        if (flashSaleInfo != null && flashSaleInfo.Products != null && flashSaleInfo.Products.Any())
                        {
                            var products = flashSaleInfo.Products;
                            var pidStr   = string.Join(",", products.Select(x => x.PID));
                            var tireInfo = DALTiresActivity.SelectProductInfoByPID(conn, pidStr);
                            result       = ConvertDetails(result, flashSaleInfo, tireInfo);
                        }
                    }
                });
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }

            return(result);
        }
        private TiresFloorActivityConfig ConvertDetails(TiresFloorActivityConfig result, FlashSaleModel flashSaleInfo, List <DataAccess.Entity.TiresActivity.SimpleTireProductInfo> tireInfo)
        {
            try
            {
                result.ProductList = (from fs in flashSaleInfo.Products
                                      join pl in result.ProductList ?? new List <DataAccess.Entity.TiresActivity.TiresActivityProductConfig>()
                                      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 DataAccess.Entity.TiresActivity.TiresActivityProductConfig()
                {
                    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,
                    IsCancelProgressBar = t != null ? t.IsCancelProgressBar : false
                }).ToList();
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }

            return(result);
        }
Example #5
0
        public ActionResult TiresFloorInfo(Guid?floorId, Guid parentId)
        {
            TiresFloorActivityConfig result = new TiresFloorActivityConfig();

            ViewData["ImgDic"]      = manager.GetAllImgMapping();
            ViewBag.ParentId        = parentId;
            ViewBag.FloorActivityId = floorId ?? Guid.Empty;
            if (floorId != null && floorId.Value != Guid.Empty)
            {
                result = manager.SelectTiresActivityByFloorId(floorId.Value);
            }
            return(View(result));
        }
        public static int InsertTiresFloorActivity(SqlConnection conn, TiresFloorActivityConfig data)
        {
            const string sql = @"INSERT INTO Configuration..TiresFloorActivityConfig
                (TiresActivityId,
                  FloorActivityId,
                  FlashSaleId,
                  CreateDateTime,
                  LastUpdateDateTime
                )
        VALUES(@TiresActivityId,
                  @FloorActivityId,
                  @FlashSaleId,
                  GETDATE(),
                  GETDATE()
                )";

            return(conn.Execute(sql, new { TiresActivityId = data.TiresActivityId, FloorActivityId = data.FloorActivityId, FlashSaleId = data.FlashSaleId }, commandType: CommandType.Text));
        }
        public static int UpdateTiresFloorActivity(SqlConnection conn, TiresFloorActivityConfig data)
        {
            const string sql = "UPDATE Configuration..TiresFloorActivityConfig SET LastUpdateDateTime=GETDATE() WHERE FlashSaleId=@FlashSaleId";

            return(conn.Execute(sql, new { FlashSaleId = data.FlashSaleId }, commandType: CommandType.Text));
        }
Example #8
0
        public bool UpsertTiresFloorActivity(TiresFloorActivityConfig model, string user)
        {
            var    result = false;
            string msg    = string.Empty;

            try
            {
                dbScopeManager.CreateTransaction(conn =>
                {
                    if (model != null && model.TiresActivityId != Guid.Empty && model.FlashSaleId != Guid.Empty)
                    {
                        if (model.FloorActivityId == Guid.Empty)
                        {
                            msg = "添加楼层活动";
                            model.FloorActivityId = Guid.NewGuid();
                            DALTiresActivity.InsertTiresFloorActivity(conn, model);
                        }
                        else
                        {
                            msg = "修改楼层活动";
                            DALTiresActivity.UpdateTiresFloorActivity(conn, model);
                        }

                        foreach (var item in model.ImgList)
                        {
                            item.ActivityId = model.FloorActivityId;
                            var imgInfo     = DALTiresActivity.SelectActivityImgByIdAndType(conn, item.ActivityId, item.Type);
                            if (imgInfo != null)
                            {
                                DALTiresActivity.UpdateActivityImgByIdAnType(conn, item.ActivityId, item.ImgUrl, item.Type, item.Position);
                            }
                            else
                            {
                                DALTiresActivity.InsertActivityImg(conn, item.ActivityId, item.ImgUrl, item.Type, item.Position);
                            }
                        }
                        foreach (var item in model.ProductList)
                        {
                            item.ActivityId = model.FloorActivityId;
                            var proInfo     = DALTiresActivity.SelectRegionProductsByPID(conn, item.ActivityId, item.ProductId);
                            if (proInfo != null)
                            {
                                DALTiresActivity.UpdateTiresProductInfo(conn, item.ActivityId, item.ProductId, item.AdvertiseTitle, item.SpecialCondition, item.IsCancelProgressBar, item.Position);
                            }
                            else
                            {
                                DALTiresActivity.InsertTiresProductInfo(conn, item.ActivityId, item.ProductId, item.AdvertiseTitle, item.SpecialCondition, item.IsCancelProgressBar, item.Position);
                            }
                        }
                        result = true;
                    }
                });
            }
            catch (Exception ex)
            {
                logger.Error($"UpsertTiresFloorActivity Error:{ex.Message}; Stack:{ex.StackTrace}", ex);
            }

            if (result)
            {
                model.ProductList = new List <DataAccess.Entity.TiresActivity.TiresActivityProductConfig>();
                model.ImgList     = new List <DataAccess.Entity.TiresActivity.ActivityImageConfig>();
                InsertLog("UpsertTiresFloorActivity", model.TiresActivityId, JsonConvert.SerializeObject(model), msg, user, LogType);
            }

            return(result);
        }