/// <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); }
/// <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))); }
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)); }
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)); }
/// <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); }
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); }
/// <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); }