public GetPersonDTO UpdatePerson(UpdatePersonDTO updatePersonDTO) { var person = _mapper.Map <Person>(updatePersonDTO); _personService.UpdatePerson(person); return(_mapper.Map <GetPersonDTO>(person)); }
/// <summary> /// 更改用户信息,不允许更改邮箱(用户ID),所属单位 /// </summary> /// <param name="ctx">数据库操作句柄</param> /// <param name="personDTO"></param> public GetPersonDTO UpdatePerson(UpdatePersonDTO personDTO, Func <Person, bool> privilege) { using (var ctx = new AspodesDB()) { //取出Person var oldValue = ctx.Persons.FirstOrDefault(p => p.PersonId == personDTO.PersonId); if (null == oldValue) { throw new NotFoundException(); } //修改内容权限 if (oldValue.Status == "S" || !privilege(oldValue)) { throw new UnauthorizationException(); } var newValue = Mapper.Map <Person>(personDTO); //检查身份证号码是否冲突 if (newValue.IDCard != oldValue.IDCard && ctx.Persons.Any(p => p.IDCard == newValue.IDCard)) { throw new OtherException("身份证号码冲突"); } //不允许更新的内容 newValue.PersonId = oldValue.PersonId; newValue.Email = oldValue.Email; newValue.InstituteId = oldValue.InstituteId; newValue.Status = oldValue.Status; //ctx.Entry(person).Property("Email").IsModified = false; //ctx.Entry(person).Property("InstituteId").IsModified = false; //ctx.Entry(person).Property("Status").IsModified = false; newValue.Name = newValue.FirstName + newValue.LastName; if (newValue.Name != oldValue.Name && newValue.EnglishName == null) { newValue.EnglishName = Pinyin.GetPinyin(newValue.FirstName) + "" + Pinyin.GetPinyin(newValue.LastName).Replace(" ", ""); } //更新Person内容 ctx.Entry(oldValue).CurrentValues.SetValues(newValue); //更新关联用户的相关信息 var user = ctx.Users.FirstOrDefault(u => u.PersonId == oldValue.PersonId); if (null != user) { user.Name = newValue.Name; user.IDCard = newValue.IDCard; } ctx.SaveChanges(); return(Mapper.Map <GetPersonDTO>(newValue)); } }
/// <summary> /// 院管理员更新人员信息 /// </summary> /// <param name="personDTO">人员信息</param> /// <returns></returns> public HttpResponseMessage Put(UpdatePersonDTO personDTO) { try { return(ResponseWrapper.SuccessResponse(repository.UpdatePerson(personDTO, p => true))); } catch (Exception e) { return(ResponseWrapper.ExceptionResponse(e)); } }
public ActionResult Put([FromBody] UpdatePersonDTO updatePersonDTO) { try { _service.Update(updatePersonDTO); return(Ok()); } catch (Exception e) { string errors = e.Message; return(ValidationProblem(new ValidationProblemDetails() { Type = "Model Validation Error", Detail = errors })); } }
/// <summary> /// 单位管理员更新人员信息 /// </summary> /// <param name="personDTO">人员信息</param> /// <returns></returns> public HttpResponseMessage Put(UpdatePersonDTO personDTO) { try { var user = UserHelper.GetCurrentUser(); var result = repository.UpdatePerson(personDTO, p => p.InstituteId == user.InstId); //单位管理员修改个人信息 //通知打点:发给用户 //_noticeService.AddNotice( // _noticeService.GetUserIdByPersonId(personDTO.PersonId), 101); return(ResponseWrapper.SuccessResponse(result)); } catch (Exception e) { return(ResponseWrapper.ExceptionResponse(e)); } }
public async Task <ActionResult <PersonDTO> > Put(int id, UpdatePersonDTO model) { try { Person person = await personService.GetFirstAsync(id); if (person is null) { return(NotFound()); } person.FirstName = model.FirstName; person.LastName = model.LastName; person.Age = model.Age; person = await personService.UpdateAsync(person); return(AcceptedAtAction(nameof(Get), new { Id = person.Id }, _mapper.Map <PersonDTO>(person))); } catch (Exception ex) { return(BadRequest(_logger.ToLogError(ex))); } }
public void Update(UpdatePersonDTO model) { var person = _mapper.Map <UpdateMovieCommand>(model); _bus.SendCommand(person); }