/// <summary>
        /// 获取覆盖区域配置
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public VendorProductCoverAreaModel GetVendorProductConverAreaByBrand
            (SqlConnection conn, VendorProductCoverAreaModel model)
        {
            const string sql   = @"SELECT  s.PKID ,
                                        s.ProductType ,
                                        s.CoverType ,
                                        s.Brand ,
                                        s.Pid ,
                                        s.CoverRegionId ,
                                        s.Remark ,
                                        s.IsEnabled ,
                                        s.IsDeleted ,
                                        s.CreateDateTime ,
                                        s.LastUpdateDateTime
                                FROM    Configuration..VendorProductCoverAreaConfig AS s WITH ( NOLOCK )
                                WHERE   s.ProductType = @ProductType
                                        AND s.CoverType = @CoverType
                                        AND s.CoverRegionId = @CoverRegionId
                                        AND (@Brand IS NULL OR @Brand=N'' OR s.Brand = @Brand)
                                        AND (@Pid IS NULL OR @Pid=N'' OR s.Pid = @Pid)
                                        AND s.PKID <> @PKID;";
            var          paras = new[]
            {
                new SqlParameter("@ProductType", model.ProductType),
                new SqlParameter("@CoverType", model.CoverType),
                new SqlParameter("@CoverRegionId", model.CoverRegionId),
                new SqlParameter("@Brand", model.Brand),
                new SqlParameter("@Pid", model.Pid),
                new SqlParameter("@PKID", model.PKID)
            };
            var result = SqlHelper.ExecuteDataTable(conn, CommandType.Text, sql, paras)
                         .ConvertTo <VendorProductCoverAreaModel>().FirstOrDefault();

            return(result);
        }
示例#2
0
        /// <summary>
        /// 添加蓄覆盖区域
        /// </summary>
        /// <param name="model"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public bool AddCoverArea(VendorProductCoverAreaModel model, string user)
        {
            bool result = false;

            try
            {
                VendorProductCoverAreaModel oldValue = _dbScopeManagerConfigRead.Execute(conn =>
                                                                                         _dal.GetVendorProductConverAreaByBrand(conn, model));
                if (oldValue == null || oldValue.IsDeleted)
                {
                    var pkid = _dbScopeManagerConfig.Execute(conn => _dal.AddVendorProductCoverArea(conn, model));
                    result = pkid > 0;
                    if (result)
                    {
                        model.PKID = pkid;
                        _baoYangManager.InsertLog("OprVendorProduct", new OprVendorProductModel()
                        {
                            LogType        = "VendorProductCoverArea",
                            IdentityId     = $"{model.ProductType}_{model.CoverType}_{model.CoverRegionId}_{model.Brand ?? model.Pid}",
                            OldValue       = JsonConvert.SerializeObject(oldValue),
                            NewValue       = JsonConvert.SerializeObject(model),
                            OperateUser    = user,
                            Remarks        = "Add",
                            CreateDateTime = DateTime.Now
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Error("AddCoverArea", ex);
            }
            return(result);
        }
 /// <summary>
 /// 添加品牌覆盖区域
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="model"></param>
 /// <returns></returns>
 public int AddVendorProductCoverArea(SqlConnection conn, VendorProductCoverAreaModel model)
 {
     #region sql
     const string sql = @"INSERT  INTO Configuration..VendorProductCoverAreaConfig
                                 ( ProductType ,
                                   CoverType ,
                                   Brand ,
                                   Pid ,
                                   CoverRegionId ,
                                   Remark ,
                                   IsEnabled 
                                 )
                         OUTPUT  Inserted.PKID
                         VALUES  ( @ProductType ,
                                   @CoverType ,
                                   @Brand ,
                                   @Pid ,
                                   @CoverRegionId ,
                                   @Remark ,
                                   @IsEnabled 
                                 );";
     #endregion
     var parameters = new[]
     {
         new SqlParameter("@ProductType", model.ProductType),
         new SqlParameter("@CoverType", model.CoverType),
         new SqlParameter("@Brand", model.Brand),
         new SqlParameter("@Pid", model.Pid),
         new SqlParameter("@CoverRegionId", model.CoverRegionId),
         new SqlParameter("@Remark", model.Remark),
         new SqlParameter("@IsEnabled", model.IsEnabled)
     };
     return(Convert.ToInt32(SqlHelper.ExecuteScalar(conn, CommandType.Text, sql, parameters)));
 }
示例#4
0
        public async Task <ActionResult> RemoveCache(VendorProductCoverAreaModel model)
        {
            if (string.IsNullOrEmpty(model?.ProductType) || model.CoverRegionId < 1)
            {
                return(Json(new { Status = false, Msg = "未知的对象" }, JsonRequestBehavior.AllowGet));
            }
            var manager = new VendorProductCoverAreaManager();
            var result  = await manager.RemoveCache(new List <VendorProductCoverAreaModel>(1) { model });

            return(Json(new { Status = result, Msg = $" 清除缓存{(result ? "成功" : "失败")}" }, JsonRequestBehavior.AllowGet));
        }
示例#5
0
        public JsonResult DeleteCoverArea(VendorProductCoverAreaModel model)
        {
            if (model?.PKID < 1)
            {
                return(Json(new { Status = false, Msg = "未知的删除对象" }));
            }
            bool result  = false;
            var  user    = HttpContext.User.Identity.Name;
            var  manager = new VendorProductCoverAreaManager();

            result = manager.DeleteCoverArea(model, user);
            return(Json(new { Status = result, Msg = $"删除{(result ? "成功" : "失败")}" }, JsonRequestBehavior.AllowGet));
        }
示例#6
0
        /// <summary>
        /// 验证覆盖区域配置
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public Tuple <bool, string> ValidateVendorProductConverArea(VendorProductCoverAreaModel model)
        {
            var result  = false;
            var message = string.Empty;

            try
            {
                switch (model.CoverType)
                {
                case "Brand":
                    if (string.IsNullOrEmpty(model.Brand))
                    {
                        message = "品牌不能为空";
                    }
                    else
                    {
                        var isExist = _dbScopeManagerConfigRead.Execute(conn =>
                                                                        _dal.IsExistVendorProductConverAreaByBrand(conn, model));
                        message = isExist ? "配置已存在,无法重复添加" : string.Empty;
                        result  = !isExist;
                    }
                    break;

                case "Pid":
                    if (string.IsNullOrEmpty(model.Pid))
                    {
                        message = "Pid不能为空";
                    }
                    else
                    {
                        var isExist = _dbScopeManagerConfigRead.Execute(conn =>
                                                                        _dal.IsExistVendorProductConverAreaByPid(conn, model));
                        message = isExist ? "配置已存在,无法重复添加" : string.Empty;
                        result  = !isExist;
                    }
                    break;

                default: break;
                }
            }
            catch (Exception ex)
            {
                _logger.Error("IsExistVendorProductConverArea", ex);
            }
            return(Tuple.Create(result, message));
        }
 /// <summary>
 /// 编辑品牌覆盖区域
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool EditVendorProductCoverArea(SqlConnection conn, VendorProductCoverAreaModel model)
 {
     #region sql
     const string sql = @"UPDATE  Configuration.dbo.VendorProductCoverAreaConfig
                                 SET     Remark = @Remark ,
                                         IsEnabled = @IsEnabled ,
                                         LastUpdateDateTime = GETDATE()
                                 WHERE   PKID = @PKID;";
     #endregion
     var parameters = new[]
     {
         new SqlParameter("@PKID", model.PKID),
         new SqlParameter("@Remark", model.Remark),
         new SqlParameter("@IsEnabled", model.IsEnabled)
     };
     var result = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, sql, parameters);
     return(result > 0);
 }
示例#8
0
        public JsonResult AddCoverArea(VendorProductCoverAreaModel model)
        {
            if (model?.CoverRegionId < 1 || string.IsNullOrEmpty(model.ProductType) || string.IsNullOrEmpty(model.CoverType))
            {
                return(Json(new { Status = false, Msg = "未知的添加对象" }));
            }
            var user           = HttpContext.User.Identity.Name;
            var manager        = new VendorProductCoverAreaManager();
            var validateResult = manager.ValidateVendorProductConverArea(model);

            if (!validateResult.Item1)
            {
                return(Json(new { Status = false, Msg = validateResult.Item2 }));
            }
            var result = manager.AddCoverArea(model, user);

            return(Json(new { Status = result, Msg = $"添加{(result ? "成功" : "失败")}" }, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// 是否存在Pid覆盖区域配置
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool IsExistVendorProductConverAreaByPid
            (SqlConnection conn, VendorProductCoverAreaModel model)
        {
            const string sql   = @"SELECT  COUNT(1)
                                FROM    Configuration..VendorProductCoverAreaConfig AS s WITH ( NOLOCK )
                                WHERE   s.ProductType = @ProductType
                                        AND s.CoverType = @CoverType
                                        AND s.CoverRegionId = @CoverRegionId
                                        AND s.Pid = @Pid
                                        AND s.IsDeleted = 0
                                        AND s.PKID <> @PKID;";
            var          paras = new[]
            {
                new SqlParameter("@ProductType", model.ProductType),
                new SqlParameter("@CoverType", model.CoverType),
                new SqlParameter("@CoverRegionId", model.CoverRegionId),
                new SqlParameter("@Pid", model.Pid),
                new SqlParameter("@PKID", model.PKID)
            };
            var result = Convert.ToInt32(SqlHelper.ExecuteScalar(conn, CommandType.Text, sql, paras)) > 0;

            return(result);
        }
示例#10
0
        /// <summary>
        /// 删除覆盖区域
        /// </summary>
        /// <param name="model"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public bool DeleteCoverArea(VendorProductCoverAreaModel model, string user)
        {
            bool result = false;

            try
            {
                var oldValue = _dbScopeManagerConfigRead.Execute(conn =>
                                                                 _dal.GetVendorProductConverAreaByPKID(conn, model.PKID));
                if (oldValue == null)
                {
                    result = true;
                }
                else
                {
                    result = _dbScopeManagerConfig.Execute(conn => _dal.DeleteVendorProductCoverArea(conn, model.PKID));
                    if (result)
                    {
                        _baoYangManager.InsertLog("OprVendorProduct", new OprVendorProductModel()
                        {
                            LogType        = "VendorProductCoverArea",
                            IdentityId     = $"{model.ProductType}_{model.CoverType}_{model.CoverRegionId}_{model.Brand ?? model.Pid}",
                            OldValue       = JsonConvert.SerializeObject(model),
                            NewValue       = (string)null,
                            OperateUser    = user,
                            Remarks        = "Delete",
                            CreateDateTime = DateTime.Now,
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Error("DeleteCoverArea", ex);
            }
            return(result);
        }