Esempio n. 1
0
        public RespondWebViewData <RespondEditEmployeeViewModel> EditEmployee(RequestWebViewData <RequestEditEmployeeViewModel> request)
        {
            var rData    = request.data;
            var employee = this.mEmployeeDataAccess.GetemployeeDataModelById(rData.EmpId);

            if (employee == null)
            {
                return(new RespondWebViewData <RespondEditEmployeeViewModel>(WebViewErrorCode.NotExistsDataInfo));
            }
            if (employee.deleted == (short)CommonDeleted.Deleted)
            {
                return(new RespondWebViewData <RespondEditEmployeeViewModel>(WebViewErrorCode.NotExistsDataInfo));
            }
            if (this.mEmployeeDataAccess.CheckEmployeeIsExist(new QueryEmployeeListParameter {
                Name = rData.Name, SerialNumber = rData.SerialNumber, DepId = employee.depid, EmpId = rData.EmpId
            }))
            {
                return(new RespondWebViewData <RespondEditEmployeeViewModel>(WebViewErrorCode.ExistsDataInfo.ErrorCode, string.Format("名称为[{0}]或编号为[{1}]的职员已经存在", rData.Name, rData.SerialNumber)));
            }

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

            try
            {
                this.mDbConnection.ExecuteTransaction(tran =>
                {
                    //TODO 开账后部门、名称、折扣、预收、预付等字段是不允许修改的,未实现。
                    var data = new employeeDataModel
                    {
                        address           = rData.Address,
                        childnumber       = employee.childnumber,
                        classid           = employee.classid,
                        comment           = rData.Comment,
                        depid             = employee.depid,
                        depname           = employee.depname,
                        deleted           = employee.deleted,
                        empid             = rData.EmpId,
                        mobile            = rData.Mobile,
                        name              = rData.Name,
                        prepayfeetotal    = employee.prepayfeetotal,
                        preinadvancetotal = employee.preinadvancetotal,
                        pinyin            = rData.Spelling,
                        parentid          = employee.parentid,
                        serialnumber      = rData.SerialNumber,
                        sort              = rData.Sort,
                        status            = employee.status,
                        lowestdiscount    = employee.lowestdiscount
                    };
                    this.mEmployeeDataAccess.Update(data, tran);
                    MemcacheHelper.RemoveBy(ServiceMemcachedKeyManageConst.BasicEmployee);

                    //由于电脑配置不上mongodb固暂时先屏蔽掉此段mongodb的数据操作
                    //this.SaveMongoDbData("编辑职员资料", request, respond, this.GetType());
                });
            }
            catch (Exception ex)
            {
                respond = new RespondWebViewData <RespondEditEmployeeViewModel>(WebViewErrorCode.Exception.ErrorCode, ex.Message);
            }
            return(respond);
        }
Esempio n. 2
0
        public RespondWebViewData <RespondAddEmployeeViewModel> AddEmployee(RequestWebViewData <RequestAddEmployeeViewModel> request)
        {
            var rData = request.data;

            if (this.mEmployeeDataAccess.CheckEmployeeIsExist(new QueryEmployeeListParameter {
                Name = rData.Name, SerialNumber = rData.SerialNumber, DepId = rData.DepId
            }))
            {
                return(new RespondWebViewData <RespondAddEmployeeViewModel>(WebViewErrorCode.ExistsDataInfo.ErrorCode, string.Format("名称为[{0}]或编号为[{1}]的职员已经存在", rData.Name, rData.SerialNumber)));
            }

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

            try
            {
                var employee = this.mEmployeeDataAccess.GetEmployeeByClassID(new QueryEmployeeListParameter {
                    ParentId = rData.ParentId
                });
                if (employee == null)
                {
                    return(new RespondWebViewData <RespondAddEmployeeViewModel>(WebViewErrorCode.NotExistsDataInfo));
                }
                if (employee.deleted == (short)CommonDeleted.Deleted)
                {
                    return(new RespondWebViewData <RespondAddEmployeeViewModel>(WebViewErrorCode.NotExistsDataInfo));
                }
                this.mDbConnection.ExecuteTransaction(tran =>
                {
                    var parameter = new QueryEmployeeListParameter()
                    {
                        ParentId = rData.ParentId
                    };
                    var classId = string.Concat(rData.ParentId, "000001");
                    var depList = this.mEmployeeDataAccess.GetEmployeeListByParentID(parameter);
                    if (depList.Count > 0)
                    {
                        classId = BuildNewClassIdByLastClassId.GeneratedNewClassIdByLastClassId(depList[0].classid);
                    }

                    var data = new employeeDataModel
                    {
                        address           = rData.Address,
                        childnumber       = 0,
                        classid           = classId,
                        comment           = rData.Comment,
                        deleted           = (short)CommonDeleted.NotDeleted,
                        depid             = rData.DepId,
                        depname           = rData.DepName,
                        lowestdiscount    = rData.LowestDiscount,
                        mobile            = rData.Mobile,
                        name              = rData.Name,
                        parentid          = rData.ParentId,
                        pinyin            = rData.Spelling,
                        serialnumber      = rData.SerialNumber,
                        sort              = rData.Sort,
                        status            = (short)CommonStatus.Used,
                        preinadvancetotal = rData.PreInAdvanceTotal,
                        prepayfeetotal    = rData.PrepayFeeTotal
                    };
                    var addResult = this.mEmployeeDataAccess.Add(data, tran);
                    if (addResult > 0)
                    {
                        this.mEmployeeDataAccess.UpdateChildNumberByClassId(tran, parameter);
                    }
                    MemcacheHelper.RemoveBy(ServiceMemcachedKeyManageConst.BasicEmployee);

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