public RespondWebViewData <RespondEditStorageViewModel> EditStorage(RequestWebViewData <RequestEditStorageViewModel> request)
        {
            var rData = request.data;

            if (this.mStorageDataAccess.CheckStorageIsExist(new QueryStorageListParameter {
                Name = rData.Name, SerialNumber = rData.SerialNumber, StorageId = rData.StorageId
            }))
            {
                return(new RespondWebViewData <RespondEditStorageViewModel>(WebViewErrorCode.ExistsDataInfo.ErrorCode, string.Format("名称为[{0}]或编号为[{1}]的仓库已经存在", rData.Name, rData.SerialNumber)));
            }

            var respond = new RespondWebViewData <RespondEditStorageViewModel>(WebViewErrorCode.Success);

            try
            {
                this.mDbConnection.ExecuteTransaction(tran =>
                {
                    var storage = this.mStorageDataAccess.GetstorageDataModelById(rData.StorageId);
                    if (storage == null)
                    {
                        respond = new RespondWebViewData <RespondEditStorageViewModel>(WebViewErrorCode.NotExistsDataInfo);
                        return;
                    }
                    if (storage.deleted == (short)CommonDeleted.Deleted)
                    {
                        respond = new RespondWebViewData <RespondEditStorageViewModel>(WebViewErrorCode.NotExistsDataInfo);
                        return;
                    }

                    var data = new storageDataModel
                    {
                        alias        = rData.Alias,
                        comment      = rData.Comment,
                        name         = rData.Name,
                        PinYin       = rData.Spelling,
                        serialnumber = rData.SerialNumber,
                        sort         = rData.Sort,
                        stoid        = rData.StorageId,
                        childcount   = storage.childcount,
                        classid      = storage.classid,
                        childnumber  = storage.childnumber,
                        deleted      = storage.deleted,
                        parentid     = storage.parentid,
                        status       = storage.status
                    };
                    this.mStorageDataAccess.Update(data, tran);
                    MemcacheHelper.RemoveBy(ServiceMemcachedKeyManageConst.BasicStorage);

                    //由于电脑配置不上mongodb固暂时先屏蔽掉此段mongodb的数据操作
                    //this.SaveMongoDbData("编辑往来客户资料", request, respond, this.GetType());
                });
            }
            catch (Exception exception)
            {
                respond = new RespondWebViewData <RespondEditStorageViewModel>(new ErrorCodeItem(WebViewErrorCode.Exception.ErrorCode, exception.Message));
            }
            return(respond);
        }
        public RespondWebViewData <RespondAddStorageViewModel> AddStorage(RequestWebViewData <RequestAddStorageViewModel> request)
        {
            var rData = request.data;

            if (this.mStorageDataAccess.CheckStorageIsExist(new QueryStorageListParameter {
                Name = rData.Name, SerialNumber = rData.SerialNumber
            }))
            {
                return(new RespondWebViewData <RespondAddStorageViewModel>(WebViewErrorCode.ExistsDataInfo.ErrorCode, string.Format("名称为[{0}]或编号为[{1}]的仓库已经存在", rData.Name, rData.SerialNumber)));
            }

            var respond = new RespondWebViewData <RespondAddStorageViewModel>(WebViewErrorCode.Success);

            try
            {
                var storage = this.mStorageDataAccess.GetStorageByClassID(new QueryStorageListParameter {
                    ParentId = rData.ParentId
                });
                if (storage == null)
                {
                    return(new RespondWebViewData <RespondAddStorageViewModel>(WebViewErrorCode.NotExistsDataInfo));
                }
                if (storage.deleted == (short)CommonDeleted.Deleted)
                {
                    return(new RespondWebViewData <RespondAddStorageViewModel>(WebViewErrorCode.NotExistsDataInfo));
                }

                this.mDbConnection.ExecuteTransaction(tran =>
                {
                    var parameter = new QueryStorageListParameter
                    {
                        ParentId = rData.ParentId
                    };
                    var classId    = string.Concat(rData.ParentId, "000001");
                    var clientList = this.mStorageDataAccess.GetStorageListByParentID(parameter);
                    if (clientList.Count > 0)
                    {
                        classId = BuildNewClassIdByLastClassId.GeneratedNewClassIdByLastClassId(clientList[0].classid);
                    }

                    var data = new storageDataModel
                    {
                        classid      = classId,
                        alias        = rData.Alias,
                        childnumber  = 0,
                        childcount   = 0,
                        comment      = rData.Comment,
                        deleted      = (short)CommonDeleted.NotDeleted,
                        name         = rData.Name,
                        parentid     = rData.ParentId,
                        PinYin       = rData.Spelling,
                        serialnumber = rData.SerialNumber,
                        status       = (short)CommonStatus.Used,
                        sort         = rData.Sort
                    };
                    var addResult = this.mStorageDataAccess.Add(data, tran);
                    if (addResult > 0)
                    {
                        this.mStorageDataAccess.UpdateChildNumberByClassId(tran, parameter);
                    }
                    MemcacheHelper.RemoveBy(ServiceMemcachedKeyManageConst.BasicStorage);

                    //由于电脑配置不上mongodb固暂时先屏蔽掉此段mongodb的数据操作
                    //this.SaveMongoDbData("新增往来客户资料", request, respond, this.GetType());
                });
            }
            catch (Exception exception)
            {
                respond = new RespondWebViewData <RespondAddStorageViewModel>(new ErrorCodeItem(WebViewErrorCode.Exception.ErrorCode, exception.Message));
            }
            return(respond);
        }