public productDataModel GetProductByClassID(QueryProductListParameter parameter) { this.ExecuteSQL = "SELECT * FROM dbo.product WHERE classid=@classid"; this.DataParameter = new IDbDataParameter[] { new SqlParameter("@classid", SqlDbType.VarChar) { Value = parameter.ParentId } }; return(this.ExecuteReadSqlToproductDataModel()); }
public int UpdateChildNumberByClassId(IDbTransaction tran, QueryProductListParameter parameter) { this.ExecuteSQL = "UPDATE dbo.product SET childnumber=childnumber+1 WHERE classid=@classid"; this.DataParameter = new IDbDataParameter[] { new SqlParameter("@classid", SqlDbType.VarChar) { Value = parameter.ParentId } }; return(this.ExecuteNonQuery(tran)); }
public List <productDataModel> GetProductListByParentID(QueryProductListParameter parameter) { this.ExecuteSQL = "SELECT * FROM dbo.product WHERE parentid=@parentid ORDER BY classid DESC"; this.DataParameter = new IDbDataParameter[] { new SqlParameter("@parentid", SqlDbType.VarChar) { Value = parameter.ParentId } }; return(this.ExecuteReadSqlToproductDataModelList()); }
public bool CheckProductIsExist(QueryProductListParameter parameter) { this.ExecuteSQL = "SELECT * FROM dbo.product WHERE name=@name AND serialnumber=@serialnumber"; this.DataParameter = new IDbDataParameter[] { new SqlParameter("@name", parameter.Name), new SqlParameter("@serialnumber", parameter.SerialNumber) }; var product = this.ExecuteReadSqlToproductDataModel(); return(product != null); }
public PageData <productDataModel> GetQueryProductList(QueryProductListParameter parameter) { var isSearch = !(string.IsNullOrEmpty(parameter.Name) && string.IsNullOrEmpty(parameter.SerialNumber) && string.IsNullOrEmpty(parameter.Spelling) && parameter.Status == 0 && parameter.Deleted == 0); this.ExecuteSQL = string.Format("SELECT e.* FROM dbo.product e INNER JOIN dbo.department d ON e.depid=d.depid WHERE {0} e.name LIKE '%{1}%' AND e.pinyin LIKE '%{2}%' AND e.serialnumber LIKE '%{3}%' AND e.[status] IN({4}) AND e.deleted IN({5})", isSearch ? string.Empty : string.Format("e.parentid='{0}' AND", parameter.ParentId), parameter.Name, parameter.Spelling, parameter.SerialNumber, parameter.Status == (short)CommonStatus.Default ? string.Concat((short)CommonStatus.Used, ",", (short)CommonStatus.Stopped) : parameter.Status.ToString(), parameter.Deleted == (short)CommonDeleted.Default ? string.Concat((short)CommonDeleted.Deleted, ",", (short)CommonDeleted.NotDeleted) : parameter.Deleted.ToString() ); return(this.ExecuteReadSqlToproductDataModelPageData("empid", parameter.PageIndex, parameter.PageSize, "classid ASC, sort DESC")); }
public RespondWebViewData <List <RespondQueryProductViewModel> > GetQueryProductList(RequestWebViewData <RequestQueryProductViewModel> request) { if (request.data == null) { request.data = new RequestQueryProductViewModel(); } return(MemcacheHelper.Get(new RequestMemcacheParameter <RespondWebViewData <List <RespondQueryProductViewModel> > > { CacheKey = string.Format(PRE_CACHE_KEY, "GetQueryProductList"), #region ================= CallBackFunc = () => { var parameter = new QueryProductListParameter { PageSize = request.rows, PageIndex = request.page, Deleted = request.data.Deleted, Name = request.data.Name, ParentId = request.data.ParentId, SerialNumber = request.data.SerialNumber, Spelling = request.data.Spelling, Status = request.data.Status }; var pageDataList = this.mProductDataAccess.GetQueryProductList(parameter); var respond = new RespondWebViewData <List <RespondQueryProductViewModel> > { total = pageDataList.DataCount, rows = pageDataList.Datas.Select(item => new RespondQueryProductViewModel { Alias = item.alias, BarCode = item.barcode, Brand = item.brand, ClassId = item.classid, Comment = item.comment, ChildCount = item.childcount, CostMethod = item.costmethod, Deleted = item.deleted, MakeArea = item.makearea, Modal = item.modal, ParentId = item.parentid, PermitCode = item.permitcode, Spelling = item.pinyin, ProId = item.proid, Status = item.status, SerialNumber = item.serialnumber, SNLength = item.snlength, SNManage = item.snmanage, Sort = item.sort, Standard = item.standard, TaxRate = item.taxrate, TradeMark = item.trademark, UnitId = item.unitid, ValidDay = item.validday, ValidMonth = item.validmonth }).ToList() }; return respond; }, #endregion ExpiresAt = DateTime.Now.AddMinutes(30), ManageCacheKeyForKey = ServiceMemcachedKeyManageConst.BasicProduct, ParamsKeys = new object[] { request.data.ParentId, request.page, request.rows } })); }
public RespondWebViewData <RespondAddProductViewModel> AddProduct(RequestWebViewData <RequestAddProductViewModel> request) { var rData = request.data; if (this.mProductDataAccess.CheckProductIsExist(new QueryProductListParameter { Name = rData.Name, SerialNumber = rData.SerialNumber })) { return(new RespondWebViewData <RespondAddProductViewModel>(WebViewErrorCode.ExistsDataInfo.ErrorCode, string.Format("名称为[{0}]或编号为[{1}]的商品已经存在", rData.Name, rData.SerialNumber))); } var respond = new RespondWebViewData <RespondAddProductViewModel>(WebViewErrorCode.Success); try { var product = this.mProductDataAccess.GetProductByClassID(new QueryProductListParameter { ParentId = rData.ParentId }); if (product == null) { return(new RespondWebViewData <RespondAddProductViewModel>(WebViewErrorCode.NotExistsDataInfo)); } if (product.deleted == (short)CommonDeleted.Deleted) { return(new RespondWebViewData <RespondAddProductViewModel>(WebViewErrorCode.NotExistsDataInfo)); } this.mDbConnection.ExecuteTransaction(tran => { var parameter = new QueryProductListParameter() { ParentId = rData.ParentId }; var classId = string.Concat(rData.ParentId, "000001"); var depList = this.mProductDataAccess.GetProductListByParentID(parameter); if (depList.Count > 0) { classId = BuildNewClassIdByLastClassId.GeneratedNewClassIdByLastClassId(depList[0].classid); } var data = new productDataModel { classid = classId, deleted = (short)CommonDeleted.NotDeleted, name = rData.Name, parentid = rData.ParentId, pinyin = rData.Spelling, serialnumber = rData.SerialNumber, sort = rData.Sort, status = (short)CommonStatus.Used }; var addResult = this.mProductDataAccess.Add(data, tran); if (addResult > 0) { this.mProductDataAccess.UpdateChildNumberByClassId(tran, parameter); } MemcacheHelper.RemoveBy(ServiceMemcachedKeyManageConst.BasicProduct); //由于电脑配置不上mongodb固暂时先屏蔽掉此段mongodb的数据操作 //this.SaveMongoDbData("新增商品资料", request, respond, this.GetType()); }); } catch (Exception ex) { respond = new RespondWebViewData <RespondAddProductViewModel>(new ErrorCodeItem(WebViewErrorCode.Exception.ErrorCode, ex.Message)); } return(respond); }