public Task CreateAsync(User user) { using (var uow = CreateUnitOfWork()) { var dbUser = new Model.Security.User(uow); _UserMapper.MapUser(user, dbUser); uow.CommitChanges(); user.Id = dbUser.Oid; return(Task.FromResult <object>(null)); } }
public dynamic Process(NancyModule nancyModule, AuthenticateCallbackData model) { AuthenticatedUser user = null; unitOfWork.DoInTransaction(() => user = userMapper.MapUser(model.AuthenticatedClient) ); string token = tokeniser.CreateToken(user.UserName, user.Id); return(new { Token = token }); }
public async Task <HttpResponseMessage> Login(UserModel model) { try { if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadGateway, ModelState)); } var user = await _userProvider.GetUser(model); var response = new HttpResponseMessage(); if (user != null) { var isPasswordValid = _passwordService.ValidatePassword(model.Password, user.Password); if (isPasswordValid) { response = Request.CreateResponse(HttpStatusCode.OK, _userMapper.MapUser(model)); } else { throw new UnauthorizedAccessException(); } } else { response = Request.CreateErrorResponse(HttpStatusCode.BadGateway, "User does not exist"); } return(Request.CreateResponse(HttpStatusCode.OK, response)); } catch (Exception err) { return(Request.CreateResponse(HttpStatusCode.Forbidden, err.Message)); } }