public ActionResult AddUserDetails(UserDetails UserDetails) { try { if (User.Identity.IsAuthenticated) { UserDetails.UserId = User.Identity.GetUserId(); } else { UserDetails.UserId = Request.Cookies["Guest"].Value; } UserDetailsService.CreateUserDetails(UserDetails); UserDetailsService.SaveUserDetails(); } catch (DbEntityValidationException e) { var errorfeed = UserDetails.FirstName + " ErrorFeed: "; foreach (var eve in e.EntityValidationErrors) { errorfeed += String.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { errorfeed += String.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw new Exception(errorfeed); } return(Json("Proceed With Confirming", JsonRequestBehavior.AllowGet)); }
public async Task <IActionResult> CreateUser([FromBody] CreateUserDTO param) { // Debug.WriteLine(param.LogonName + "\n"); try { return(Ok(await _userDetails.CreateUserDetails(param))); } catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task <ActionResponse <UserViewModel> > Create(UserViewModel request) { try { using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { request.DateCreated = DateTime.UtcNow; var user = mapper.Map <UserViewModel, User>(request); var result = await userManager.CreateAsync(user, request.Password); if (!result.Succeeded) { return(await ActionResponse <UserViewModel> .ReturnError("Failed to create new user.")); } request.Id = user.Id; if ((await AddToDefaultRole(request)).IsNotSuccess(out ActionResponse <UserViewModel> actionResponse, out request)) { return(await ActionResponse <UserViewModel> .ReturnError("Failed to edit user's roles.", request)); } if ((await ModifyUserRoles(request)).IsNotSuccess(out actionResponse, out request)) { return(await ActionResponse <UserViewModel> .ReturnError("Failed to edit user's roles.")); } if ((await userDetailsService.CreateUserDetails(request)).IsNotSuccess(out actionResponse, out request)) { return(actionResponse); } scope.Complete(); } return(await ActionResponse <UserViewModel> .ReturnSuccess(request)); } catch (Exception) { return(await ActionResponse <UserViewModel> .ReturnError("Dogodila se greška, molimo kontaktirajte svog administratora.")); } finally { await cacheService.RefreshCache <List <UserDto> >(); } }