public IActionResult Put(int id, DepartmentUpdateViewModel model)
        {
            var repo = this.Storage.GetRepository <IDepartmentRepository>();

            Department department = repo.WithKey(id);

            if (department == null)
            {
                return(this.NotFound(new { success = false }));
            }


            //if (quickLeave == null)
            //{
            //    return NotFound("The Employee record couldn't be found.");
            //}

            if (this.ModelState.IsValid)
            {
                model.ToEntity(department, this.GetCurrentUserName());
                repo.Edit(department, GetCurrentUserName());
                this.Storage.Save();

                return(Ok(new { success = true }));
            }

            return(BadRequest(new { success = false }));
        }
示例#2
0
        public async Task <IHttpActionResult> PutDepartment(DepartmentUpdateViewModel viewmodel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var department = await _departments.Find(viewmodel.Id);

            if (department == null)
            {
                return(NotFound());
            }

            department.Name = viewmodel.Name;
            department.Lead = viewmodel.Lead;

            try
            {
                await _departments.Update(department);
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#3
0
        public async Task <ActionResult <BaseResponse> > Update(DepartmentUpdateViewModel req)
        {
            string user = User.Identity.Name;

            if (string.IsNullOrWhiteSpace(user))
            {
                return(Unauthorized("用户凭证缺失"));
            }
            var GroupId = await _ds.GetDepartmentGroupAsync(req.Id);

            if (GroupId == null)
            {
                return(new BaseResponse {
                    Success = false, Message = "输入的部门编号不存在"
                });
            }
            UserMessage um = JsonConvert.DeserializeObject <UserMessage>(user);

            //验证用户权限
            if (!(um.IsAdmin && (um.GroupId == GroupId || um.Code == _config["Group"])))
            {
                return(Unauthorized("没有权限"));
            }
            var ret = await _ds.UpdateDepartmentAsync(req, GroupId, um.Account);

            return(ret);
        }
示例#4
0
        public ActionResult Update(DepartmentUpdateViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    this.departments.Update(model.Id, model.Name, model.Description, model.DivisionId);
                    TempData["Success"] = SuccessMessagesConstants.DepartmentUpdated;
                    return(this.Details(model.Id));
                }
                catch (Exception ex)
                {
                    TempData["Error"] = ex.Message;
                    return(this.Index());
                }
            }

            ViewBag.Divisions = this.GetDivisionsListItems();
            return(View(model));
        }
示例#5
0
        /// <summary>
        /// 更新部门名称,已验证部门是否存在和是否存在相同的名称,调用端只需要验证是否有权限操作
        /// </summary>
        /// <param name="req">部门名称等信息</param>
        /// <param name="groupId">组织标识</param>
        /// <returns>返回更新部门名称是否成功</returns>
        public async Task <BaseResponse> UpdateDepartmentAsync(DepartmentUpdateViewModel req, string groupId, string account)
        {
            BaseResponse rm = new BaseResponse();
            var          dm = await _department.FindAsync(req.Id);

            if (dm == null)
            {
                rm.Success = false;
                rm.Message = "该部门不存在";
                return(rm);
            }
            //同一部门下的子部门不能重名
            var d = _department.Find(a => a.ParentId == dm.ParentId && a.DepartmentName == req.Name && a.GroupId == groupId).FirstOrDefault();

            if (d != null && d.Id != req.Id)
            {
                rm.Success = false;
                rm.Message = "该组织下存在相同的部门名称";
                return(rm);
            }
            try
            {
                //dm = _map.Map<DepartmentModel>(req);
                _map.Map(req, dm);
                dm.Modify     = account;
                dm.ModifyTime = DateTime.Now;
                //dm.DepartmentName = req.Name;
                await _department.SaveAsync(dm);

                rm.Success = true;
                rm.Message = "修改数据成功";
                _log.LogInformation($"{account}修改Id为{req.Id}的部门名称为{req.Name}成功");
            }
            catch (Exception ex)
            {
                rm.Success = false;
                rm.Message = "修改数据失败";
                _log.LogError($"{account}修改id为{req.Id}的部门名称失败,失败原因:{ex.Message}->{ex.StackTrace}->{ex.InnerException}");
            }
            return(rm);
        }
        public IActionResult Put(int id, DepartmentUpdateViewModel model)
        {
            var repo = this.Storage.GetRepository <IDepartmentRepository>();

            Department department = repo.WithKey(id);

            if (department == null)
            {
                return(this.NotFound(new { success = false }));
            }

            if (this.ModelState.IsValid)
            {
                model.ToDepartmentEntity(department);
                repo.Edit(department, GetCurrentUserName());
                this.Storage.Save();

                return(Ok(new { success = "Data telah berhasil diperbaharui" }));
            }

            return(BadRequest(new { success = false }));
        }
示例#7
0
        public async Task <IHttpActionResult> Updatedepartment(int?de_id)
        {
            ResponseDataDTO <department> response = new ResponseDataDTO <department>();

            try
            {
                var path = Path.GetTempPath();

                if (!Request.Content.IsMimeMultipartContent("form-data"))
                {
                    throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.UnsupportedMediaType));
                }

                MultipartFormDataStreamProvider streamProvider = new MultipartFormDataStreamProvider(path);

                await Request.Content.ReadAsMultipartAsync(streamProvider);

                // save file
                string fileName = "";
                if (streamProvider.FileData.Count > 0)
                {
                    foreach (MultipartFileData fileData in streamProvider.FileData)
                    {
                        fileName = FileExtension.SaveFileOnDisk(fileData);
                    }
                }
                if (streamProvider.FormData["de_name"] == null)
                {
                    response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                    response.Message = "Tên phòng ban không được để trống";
                    response.Data    = null;
                    return(Ok(response));
                }
                if (streamProvider.FormData["de_manager"] == null)
                {
                    response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                    response.Message = "Trưởng phòng không được để trống";
                    response.Data    = null;
                    return(Ok(response));
                }
                // get data from formdata
                DepartmentUpdateViewModel departmentUpdateViewModel = new DepartmentUpdateViewModel
                {
                    de_id = Convert.ToInt32(streamProvider.FormData["de_id"]),

                    de_name        = Convert.ToString(streamProvider.FormData["de_name"]),
                    de_description = Convert.ToString(streamProvider.FormData["de_description"]),
                    de_manager     = Convert.ToString(streamProvider.FormData["de_manager"]),

                    company_id = Convert.ToByte(streamProvider.FormData["company_id"]),
                };
                var existstaff = _departmentservice.Find(de_id);
                if (fileName != "")
                {
                    departmentUpdateViewModel.de_thumbnail = fileName;
                }
                else
                {
                    departmentUpdateViewModel.de_thumbnail = existstaff.de_thumbnail;
                }
                if (streamProvider.FormData["company_id"] == null)
                {
                    departmentUpdateViewModel.company_id = null;
                }

                // mapping view model to entity
                var updateddepartment = _mapper.Map <department>(departmentUpdateViewModel);



                // update department
                _departmentservice.Update(updateddepartment, de_id);
                // return response
                response.Code    = HttpCode.OK;
                response.Message = MessageResponse.SUCCESS;
                response.Data    = updateddepartment;
                return(Ok(response));
            }
            catch (Exception ex)
            {
                response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                response.Message = ex.Message;;
                response.Data    = null;
                Console.WriteLine(ex.ToString());

                return(Ok(response));
            }
        }