예제 #1
0
        //dto转换
        private static void DepartmentDto(IEnumerable <Esmart_Sys_Departments> departments, List <DepartmentResponse> result, bool withUser)
        {
            foreach (var item in departments)
            {
                var dto = new DepartmentResponse
                {
                    DeparentId = item.DeparentId,
                    Name       = item.Name,
                    ParentId   = item.ParentId
                };

                result.Add(dto);

                if (item.Children == null || item.Children.Count == 0)
                {
                    dto.Children = new List <DepartmentResponse>();
                }
                else
                {
                    dto.Children = new List <DepartmentResponse>(item.Children.Count);
                    DepartmentDto(item.Children, dto.Children, withUser);
                }

                if (withUser)
                {
                    var users = DepartmentUserDbAction.GetUsersInDepartment(item.DeparentId, false);
                    dto.Users = users.Select(n => new DepartmentUserResponse
                    {
                        UserID   = n.UserID,
                        UserName = n.TrueName
                    }).ToList();
                }
            }
        }
        /// <summary>
        ///     Deletes the department.
        /// </summary>
        /// <param name="departmentId">The department identifier.</param>
        /// <returns></returns>
        public DepartmentResponse DeleteDepartment(string departmentId)
        {
            var response = new DepartmentResponse {
                Acknowledge = AcknowledgeType.Success
            };

            try
            {
                var departmentEntity = DepartmentDao.GetDepartment(departmentId);
                if (departmentEntity == null)
                {
                    response.Acknowledge = AcknowledgeType.Failure;
                    response.Message     = "Dữ liệu cần xóa không tồn tại!";
                    return(response);
                }
                using (var scope = new TransactionScope())
                {
                    response.Message = DepartmentDao.DeleteDepartment(departmentEntity);
                    if (!string.IsNullOrEmpty(response.Message))
                    {
                        response.Message     = @"Bạn không thể xóa phòng ban '" + departmentEntity.DepartmentCode + "' vì đã có phát sinh trong chứng từ hoặc danh mục liên quan!";
                        response.Acknowledge = AcknowledgeType.Failure;
                        return(response);
                    }
                    scope.Complete();
                }
                response.DepartmentId = departmentEntity.DepartmentId;
                return(response);
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                return(response);
            }
        }
예제 #3
0
 private DepartmentResponse processResponseToProxy(DepartmentResponse response, string tui, string signature, string message, string action)
 {
     try
     {
         foreach (Department dept in response.departments)
         {
             if (dept.message != "")
             {
                 response.code    = ResponseConstants.NotOK.ToString();
                 response.message = ResponseConstants.Fail;
                 break;
             }
             else
             {
                 response.code    = ResponseConstants.OK.ToString();
                 response.message = ResponseConstants.Success;
             }
         }
         response.signature = signature;
         response.tui       = tui;
     }
     catch (Exception ex)
     {
         var       st = new StackTrace();
         var       sf = st.GetFrame(0);
         string    currentMethodName = sf.GetMethod().Name;
         Exception customex          = new Exception(currentMethodName + " | " + this.GetType().Name + " | " + ex.Message + " : " + ex.StackTrace);
         throw customex;
     }
     return(response);
 }
        public DepartmentResponse DeleteDepartmentConvert()
        {
            var response = new DepartmentResponse {
                Acknowledge = AcknowledgeType.Success
            };

            try
            {
                using (var scope = new TransactionScope())
                {
                    response.Message = DepartmentDao.DeleteDepartmentConvert();
                    if (!string.IsNullOrEmpty(response.Message))
                    {
                        response.Acknowledge = AcknowledgeType.Failure;
                        return(response);
                    }
                    scope.Complete();
                }

                return(response);
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                return(response);
            }
        }
        // GET: DepartmentController/Delete/5
        //[HttpPost]
        public JsonResult Delete(string id)
        {
            DepartmentResponse response = _DptClient.DeleteRecord(new DepartmentRequest()
            {
                Id = Int32.Parse(id)
            });

            return(Json(response));
        }
예제 #6
0
        public HttpResponseMessage Get(string securityToken)
        {
            var response = new DepartmentResponse {
                Status = "OK"
            };

            if (IsValid(securityToken))
            {
                var svc = new StaffService(this._dbContext);
                response.Departments = svc.GetDepartment();
            }
            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
예제 #7
0
        public DepartmentResponse GetDepartmentResponse(int id)
        {
            var _response       = new DepartmentResponse();
            var _sysDepartments = DepartmentDbAction.GetDeparentById(id);

            _response.DeparentId = _sysDepartments.DeparentId;
            _response.Name       = _sysDepartments.Name;
            _response.Remark     = _sysDepartments.Remark;
            _response.CreateId   = _sysDepartments.CreateId;
            _response.CreateTime = _sysDepartments.CreateTime;
            _response.IsDelete   = _sysDepartments.IsDelete;
            _response.ParentId   = _sysDepartments.ParentId;
            return(_response);
        }
예제 #8
0
 /// <summary>
 /// 添加修改部门信息
 /// </summary>
 public PartialViewResult DepartmentEdit(string act, int id)
 {
     if (act == "add")
     {
         var model = new DepartmentResponse {
             ParentId = id
         };
         return(PartialView(model));
     }
     else
     {
         var model = _departmentService.GetDepartmentResponse(id);
         model.DeparentId = model.DeparentId;
         return(PartialView(model));
     }
 }
 public ActionResult Edit(int id, DepartmentModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             DepartmentResponse response = _DptClient.AddEditRecord(model);
             return(RedirectToAction("Index"));
         }
         return(View(model));
     }
     catch
     {
         return(View());
     }
 }
예제 #10
0
 private DepartmentResponse processResponseToProxy(DepartmentResponse response, DataSet ds, string tui, string signature, string message)
 {
     try
     {
         if (ds != null && ds.Tables != null && ds.Tables.Count != 0 && ds.Tables[0].Rows.Count != 0)
         {
             int idx = 0;
             response.departments = new Department[ds.Tables[0].Rows.Count];
             foreach (DataRow dr in ds.Tables[0].Rows)
             {
                 Department DD = new Department();
                 DD.Name = dr[CnstDepartment.DepartmentName].ToString();
                 DD.Code = dr[CnstDepartment.DepartmentCode].ToString();
                 DD.Id   = getEncryptData(dr[CnstDepartment.DepartmentId].ToString(), DBConstants.PrimaryKey);
                 response.departments[idx] = DD;
                 idx++;
             }
             response.code      = ResponseConstants.OK.ToString();
             response.message   = ResponseConstants.Success;
             response.signature = signature;
             response.tui       = tui;
         }
         else
         {
             response.code = ResponseConstants.NotOK.ToString();
             if (message == null || message == "")
             {
                 response.message = "Getting Department has " + ResponseConstants.Fail;
             }
             else
             {
                 response.message = message;
             }
             response.signature = signature;
             response.tui       = tui;
         }
     }
     catch (Exception ex)
     {
         var       st = new StackTrace();
         var       sf = st.GetFrame(0);
         string    currentMethodName = sf.GetMethod().Name;
         Exception customex          = new Exception(currentMethodName + " | " + this.GetType().Name + " | " + ex.Message + " : " + ex.StackTrace);
         throw customex;
     }
     return(response);
 }
예제 #11
0
        public DepartmentResponse ValidateRequest(DepartmentRequest reqObjects)
        {
            DepartmentResponse response = new DepartmentResponse();

            response.departments = new Department[reqObjects.departments.Length];
            string message = "";

            for (int idx = 0; idx < reqObjects.departments.Length; idx++)
            {
                if (reqObjects.departments == null)
                {
                    message = ResponseConstants.InvalidRequest;
                }
                else if ((reqObjects.departments[idx].Code == null || reqObjects.departments[idx].Code == "") && (reqObjects.departments[idx].action.ToUpper() == "A" || reqObjects.departments[idx].action.ToUpper() == "E"))
                {
                    message = "Code " + ResponseConstants.Mandatory;
                }
                else if ((reqObjects.departments[idx].Name == null || reqObjects.departments[idx].Name == "") && (reqObjects.departments[idx].action.ToUpper() == "A" || reqObjects.departments[idx].action.ToUpper() == "E"))
                {
                    message = "Name " + ResponseConstants.Mandatory;
                }
                else if ((reqObjects.departments[idx].Id == null || reqObjects.departments[idx].Id == "") && (reqObjects.departments[idx].action.ToUpper() == "E" || reqObjects.departments[idx].action.ToUpper() == "D"))
                {
                    message = "Id " + ResponseConstants.Mandatory;
                }
                Department proxyResponse = new Department();
                proxyResponse             = reqObjects.departments[idx];
                proxyResponse.message     = message;
                response.departments[idx] = proxyResponse;
                if (message != "")
                {
                    response.message = "Invalid Request";
                }
            }
            response.tui = reqObjects.tui;
            if (response.message == "" || response.message == null)
            {
                response.code = ResponseConstants.OK.ToString();
            }
            else
            {
                response.code = ResponseConstants.NotOK.ToString();
            }
            return(response);
        }
        public async Task <IActionResult> ListEmployees()
        {
            var response = new EmployeesByDepartmentResponse();

            // get employees
            var departments = await _payrollContext.Departments.ToListAsync();

            foreach (var department in departments)
            {
                var departmentResponse = new DepartmentResponse();
                response.Departments.Add(departmentResponse);

                var employees = department.Employees;

                foreach (var employee in employees)
                {
                    departmentResponse.Employees.Add(employee);
                }
            }

            return(Ok(response));
        }
예제 #13
0
        /// <summary>
        /// Gets the departments.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public DepartmentResponse GetDepartments(DepartmentRequest request)
        {
            var response = new DepartmentResponse();

            if (request.LoadOptions.Contains("Departments"))
            {
                if (request.LoadOptions.Contains("IsActive"))
                {
                    response.Departments = DepartmentDao.GetDepartmentsByActive(true);
                }
                else
                {
                    response.Departments = DepartmentDao.GetDepartments();
                }
            }
            if (request.LoadOptions.Contains("Department"))
            {
                response.Department = DepartmentDao.GetDepartment(request.DepartmentId);
            }

            return(response);
        }
예제 #14
0
        public JsonResult SaveDepartment(DepartmentResponse model)
        {
            if (model.DeparentId == 0)
            {
                var req = new DepartmentRequest
                {
                    Name       = model.Name,
                    ParentId   = model.ParentId,
                    Remark     = model.Remark,
                    CreateTime = DateTime.Now,
                    CreateId   = CurrentUser.UserId,
                    IsDelete   = 0,
                };
                model.DeparentId = _departmentService.AddDepartment(req);
            }
            else
            {
                var resp = _departmentService.GetDepartmentResponse(model.DeparentId);
                var req  = new DepartmentRequest
                {
                    DeparentId = resp.DeparentId,
                    Name       = model.Name,
                    Remark     = model.Remark,
                    ParentId   = resp.ParentId,
                    CreateTime = resp.CreateTime,
                    CreateId   = resp.CreateId,
                    IsDelete   = resp.IsDelete ?? 0
                };
                _departmentService.UpdateDepartment(req);
            }

            var result = new ResponseModel <DepartmentResponse>
            {
                Body = model
            };

            return(Json(result));
        }
예제 #15
0
 public DepartmentResponse processResponseToProxy(DepartmentResponse response, DataSet ds, string tui, string signature, string message, string action)
 {
     try
     {
         if (action != "S")
         {
             response = processResponseToProxy(response, tui, signature, message, action);
         }
         else
         {
             response = processResponseToProxy(response, ds, tui, signature, message);
         }
     }
     catch (Exception ex)
     {
         var       st = new StackTrace();
         var       sf = st.GetFrame(0);
         string    currentMethodName = sf.GetMethod().Name;
         Exception customex          = new Exception(currentMethodName + " | " + this.GetType().Name + " | " + ex.Message + " : " + ex.StackTrace);
         throw customex;
     }
     return(response);
 }
        /// <summary>
        ///     Inserts the department.
        /// </summary>
        /// <param name="departmentEntity">The department entity.</param>
        /// <returns></returns>
        public DepartmentResponse InsertDepartment(DepartmentEntity departmentEntity)
        {
            var response = new DepartmentResponse {
                Acknowledge = AcknowledgeType.Success
            };

            try
            {
                if (!departmentEntity.Validate())
                {
                    foreach (var error in departmentEntity.ValidationErrors)
                    {
                        response.Message += error + Environment.NewLine;
                    }
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
                using (var scope = new TransactionScope())
                {
                    departmentEntity.DepartmentId = Guid.NewGuid().ToString();
                    response.Message = DepartmentDao.InsertDepartment(departmentEntity);
                    if (!string.IsNullOrEmpty(response.Message))
                    {
                        response.Acknowledge = AcknowledgeType.Failure;
                        return(response);
                    }
                    scope.Complete();
                }
                response.DepartmentId = departmentEntity.DepartmentId;
                return(response);
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                return(response);
            }
        }
예제 #17
0
        public HttpResponseMessage ManageDepartment([FromBody] DepartmentRequest reqObj)
        {
            #region variable
            int result = 0;
            var st     = new StackTrace();
            var sf     = st.GetFrame(0);
            currentMethodName     = sf.GetMethod().Name;
            currentControllerName = this.GetType().Name;
            #endregion

            #region objects
            //Helper Classes
            GeneralHelper    GH        = new GeneralHelper();
            DepartmentHelper helperObj = new DepartmentHelper();
            //DataOperation
            DataSet ds = new DataSet();
            //Entity Objects
            department[] entityObjects = new department[] { };
            //Proxy Objects
            DepartmentResponse response = new DepartmentResponse();
            #endregion

            try
            {
                //Log Request
                LogRequest(currentControllerName, currentMethodName, new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(reqObj), WorkFlowConstants.NDepartment, reqObj.tui);
                //Validate Request
                response = helperObj.ValidateRequest(reqObj);
                if (response != null && response.code == ResponseConstants.OK.ToString())
                {
                    //Get Logined User Id
                    UserId = GH.GetUserId(Request.Headers.Authorization.Parameter);
                    //Process Proxy to Entity
                    entityObjects = helperObj.ProcessProxyToEntity(reqObj, UserId);

                    for (int idx = 0; idx < reqObj.departments.Length; idx++)
                    {
                        if (reqObj.departments[idx].action.ToUpper() == "A")
                        {
                            //Check The Existance Of New Request
                            if (!helperObj.CheckTheDataExistance(entityObjects[idx]))
                            {
                                //Insert Entity Details
                                result = helperObj.ProcessInsertEntity(entityObjects[idx]);
                                if (result > 0)
                                {
                                    response.departments[idx].Id = getEncryptData(result.ToString(), DBConstants.PrimaryKey);
                                }
                                else
                                {
                                    response.departments[idx].message = entityObjects[idx].DepartmentName + " Insertion " + ResponseConstants.Fail;
                                }
                            }
                            else
                            {
                                response.departments[idx].message = ResponseConstants.Exist;
                            }
                        }
                        else if (reqObj.departments[idx].action.ToUpper() == "S")
                        {
                            //Get The Data
                            ds = helperObj.GetTheData(entityObjects[idx]);
                        }
                        else if (reqObj.departments[idx].action.ToUpper() == "E")
                        {
                            //Update The Data
                            result = helperObj.UpdateTheData(entityObjects[idx]);
                            if (result > 0)
                            {
                            }
                            else
                            {
                                response.departments[idx].message = entityObjects[idx].DepartmentName + " Update " + ResponseConstants.Fail;
                            }
                        }
                        else if (reqObj.departments[idx].action.ToUpper() == "D")
                        {
                            //Delete The Data
                            result = helperObj.DeleteTheData(entityObjects[idx]);
                            if (result > 0)
                            {
                            }
                            else
                            {
                                response.departments[idx].message = entityObjects[idx].DepartmentName + " Deletion " + ResponseConstants.Fail;
                            }
                        }
                    }
                }
                //Response Processing
                response = helperObj.processResponseToProxy(response, ds, reqObj.tui, Request.Headers.Authorization.Parameter, response.message, reqObj.departments[0].action);
                //Log Response
                LogResponse(currentControllerName, currentMethodName, new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(response), WorkFlowConstants.NDepartment, response.tui);
            }
            catch (Exception ex)
            {
                try
                {
                    currentMethodName     = ex.Message.ToString().Split('|').Count() > 1 ? ex.Message.ToString().Split('|')[0] : currentMethodName;
                    currentControllerName = ex.Message.ToString().Split('|').Count() > 1 ? ex.Message.ToString().Split('|')[1] : this.GetType().Name;
                    LogError(currentControllerName, currentMethodName, ex.Message, reqObj.tui == null ? "" : reqObj.tui);
                }
                catch (Exception)
                {
                }

                response.code    = ResponseConstants.Exception.ToString();
                response.message = ResponseConstants.SomeErrorOccoured;
            }
            msg = Request.CreateResponse(HttpStatusCode.OK, response);
            return(msg);
        }
예제 #18
0
        /// <summary>
        /// Sets the departments.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public DepartmentResponse SetDepartments(DepartmentRequest request)
        {
            var response = new DepartmentResponse();

            var departmentEntity = request.Department;

            if (request.Action != PersistType.Delete)
            {
                if (!departmentEntity.Validate())
                {
                    foreach (string error in departmentEntity.ValidationErrors)
                    {
                        response.Message += error + Environment.NewLine;
                    }
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
            }
            try
            {
                if (request.Action == PersistType.Insert)
                {
                    var departments = DepartmentDao.GetDepartmentsByDepartmentCode(departmentEntity.DepartmentCode);
                    if (departments.Count > 0)
                    {
                        response.Acknowledge = AcknowledgeType.Failure;
                        response.Message     = @"Mã phòng ban " + departmentEntity.DepartmentCode + @" đã tồn tại !";
                        return(response);
                    }
                    AutoNumberListDao.UpdateIncreateAutoNumberListByValue("Department");
                    departmentEntity.DepartmentId = DepartmentDao.InsertDepartment(departmentEntity);
                    response.Message = null;
                }
                else if (request.Action == PersistType.Update)
                {
                    response.Message = DepartmentDao.UpdateDepartment(departmentEntity);
                }
                else
                {
                    var departmentForUpdate = DepartmentDao.GetDepartment(request.DepartmentId);
                    response.Message = DepartmentDao.DeleteDepartment(departmentForUpdate);
                }
            }
            catch (Exception ex)
            {
                response.Acknowledge = AcknowledgeType.Failure;
                response.Message     = ex.Message;
                return(response);
            }
            response.DepartmentId = departmentEntity != null ? departmentEntity.DepartmentId : 0;
            if (response.Message == null)
            {
                response.Acknowledge  = AcknowledgeType.Success;
                response.RowsAffected = 1;
            }
            else
            {
                response.Acknowledge  = AcknowledgeType.Failure;
                response.RowsAffected = 0;
            }

            return(response);
        }