Esempio n. 1
0
        /// <summary>
        /// Update parent
        /// </summary>
        /// <param name="parentUpdate"></param>
        /// <returns></returns>
        public async Task <ParentDto> UpdateParent(ParentUpdateDto parentUpdate)
        {
            ParentUser user = db.ParentsRepository.Get(a => a.Id == parentUpdate.Id).FirstOrDefault();

            if (user == null)
            {
                // 404, Not found.
                // No reason for an exception I think
                return(null);
            }

            ParentsConverter.UpdateParentsPersonalData(user, parentUpdate);

            var result = await db.AuthRepository.UpdateUser(user);

            if (!result.Succeeded)
            {
                var ex = new UserUpdateException(result.Errors.ToArray());
                ex.Data.Add("IdentityResultErrors", result.Errors.ToArray());
                throw ex;
            }

            var updatedUser = db.ParentsRepository.Get(a => a.Id == parentUpdate.Id).FirstOrDefault();

            return(ParentsConverter.ParentToParentDto(updatedUser));
        }
Esempio n. 2
0
 /// <summary>
 /// Update full entity from dto before sending to the storage
 /// </summary>
 /// <param name="user"></param>
 /// <param name="dto"></param>
 public static void UpdateParentsPersonalData(ParentUser user, ParentUpdateDto dto)
 {
     user.UserName    = dto.UserName;
     user.FirstName   = dto.FirstName;
     user.LastName    = dto.LastName;
     user.Gender      = dto.Gender;
     user.Email       = dto.Email;
     user.PhoneNumber = dto.PhoneNumber;
 }
Esempio n. 3
0
        public IActionResult UpdateClass([FromBody] ParentUpdateDto updateParent)
        {
            var pr = Mapper.Map <Parents>(updateParent);

            var updateState = parentRepo.UpdateParent(pr, User);

            if (updateState == EnumUpdateResult.EntryNotFound)
            {
                return(NotFound("Entry to update not found"));
            }

            return(Ok());
        }
Esempio n. 4
0
        public async Task <IHttpActionResult> UpdateParent([FromUri] int parentId, [FromBody] ParentUpdateDto parentUpdate)
        {
            var userData = IdentityHelper.GetLoggedInUser(RequestContext);

            logger.Info("Update Parent {@parentReg} by {@userData}", parentUpdate, userData);

            if (parentId != parentUpdate.Id)
            {
                logger.Info("Provided Ids do not match");
                return(BadRequest("Ids do not match"));
            }

            ParentDto updatedParent = await service.UpdateParent(parentUpdate);

            // TODO expand
            return(Ok(updatedParent));
        }