コード例 #1
0
        public BaseResponse DeleteLogicalDepartment(int id)
        {
            BaseResponse response = new BaseResponse();
            Department   model    = _departmentRepository.GetById(id);

            try
            {
                DepartmentQuery query = new DepartmentQuery();
                query.Keyword  = "";
                query.Active   = null;
                query.ParentId = id;

                BaseListResponse <SPGetDepartment_Result> lstChild = GetSubDepartmentNonSeft(query);
                var lstStaffs = _staffRepository.SearchStaffs(id, 1, "", null);
                if (lstChild.Data.Count() > 0)
                {
                    response.IsSuccess = false;
                    response.Message   = "Tồn tại đơn vị con. Xóa không thành công";
                }
                else if (lstStaffs.Count() > 0)
                {
                    response.IsSuccess = false;
                    response.Message   = "Tồn tại cán bộ thuộc đơn vị. Xóa không thành công";
                }
                else
                {
                    model.EditedOn = DateTime.Now;
                    model.Deleted  = true;
                    _departmentRepository.Edit(model);
                    _applicationLoggingRepository.Log("EVENT", "DELETE", "Department", model.Id.ToString(), "", "", model, "", HttpContext.Current.Request.UserHostAddress, model.CreatedBy);
                }
            }
            catch (Exception ex)
            {
                response.Message   = ex.Message;
                response.IsSuccess = false;
            }
            return(response);
        }