Esempio n. 1
0
        public GetPersonDTO UpdatePerson(UpdatePersonDTO updatePersonDTO)
        {
            var person = _mapper.Map <Person>(updatePersonDTO);

            _personService.UpdatePerson(person);
            return(_mapper.Map <GetPersonDTO>(person));
        }
Esempio n. 2
0
        /// <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));
     }
 }
Esempio n. 4
0
 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
         }));
     }
 }
Esempio n. 5
0
        /// <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));
            }
        }
Esempio n. 6
0
        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);
        }