public GetAllUsersQuery(TravelUser currentUser, string email, int?pageIndex, int?pageSize) { CurrentUser = currentUser; Email = email; PageIndex = pageIndex; PageSize = pageSize; }
public void UpdateUser(TravelUser traveluser) { TravelUser UserData = _context.TravelUsers.Find(traveluser.ID); if (UserData == null) { _context.TravelUsers.Add(traveluser); } else { UserData.FirstName = traveluser.FirstName; UserData.LastName = traveluser.LastName; UserData.ContactNumber = traveluser.ContactNumber; UserData.ProfileImage = traveluser.ProfileImage; UserData.Address = traveluser.Address; UserData.OTP = traveluser.OTP; UserData.Password = traveluser.Password; //_context.Entry(aExists).State = EntityState.Detached; //_context.Entry(traveluser).State = EntityState.Modified; _context.SaveChanges(); } // _context.Entry(objuser).State = System.Data.Entity.EntityState.Modified; //_context.SaveChanges(); }
public async Task Seed() { if (!_context.Roles.Any()) { _context.Roles.Add(new UserRole { Name = "admin", NormalizedName = "admin" }); _context.Roles.Add(new UserRole { Name = "manager", NormalizedName = "manager" }); } var admin = new TravelUser { Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", EmailConfirmed = true, LockoutEnabled = true, CreationDate = DateTime.Now, SecurityStamp = Guid.NewGuid().ToString() }; var manager = new TravelUser { Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", EmailConfirmed = true, LockoutEnabled = true, CreationDate = DateTime.Now, SecurityStamp = Guid.NewGuid().ToString() }; var normal = new TravelUser { Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", EmailConfirmed = true, LockoutEnabled = true, CreationDate = DateTime.Now, SecurityStamp = Guid.NewGuid().ToString() }; if (!_context.Users.Any()) { var password = new PasswordHasher <TravelUser>(); var hashed = password.HashPassword(admin, "password"); admin.PasswordHash = hashed; manager.PasswordHash = hashed; normal.PasswordHash = hashed; var userStore = new TravelUserStore(_usersReadService, _usersWriteService, _rolesReadService); await userStore.CreateAsync(admin, new CancellationToken()); await userStore.CreateAsync(manager, new CancellationToken()); await userStore.CreateAsync(normal, new CancellationToken()); await userStore.AddToRoleAsync(admin, "admin", new CancellationToken()); await userStore.AddToRoleAsync(manager, "manager", new CancellationToken()); } _context.SaveChanges(); }
public async Task <IActionResult> Register([FromBody] RegisterViewModel model, string returnUrl = null) { if (!ModelState.IsValid) { return(BadRequest("Your registeration info are invalid")); } var user = new TravelUser { NormalizedEmail = model.Email, Email = model.Email }; user.CreationDate = DateTime.Now; var result = await _userManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(BadRequest("Something Went Wrong")); } var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme); await _emailSender.SendEmailConfirmationAsync(model.Email, callbackUrl); return(Ok()); }
private async Task <dynamic> GenerateJwT(TravelUser user) { var roles = await _userManager.GetRolesAsync(user); var picture = user.Picture ?? ""; var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, user.Email), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(JwtRegisteredClaimNames.UniqueName, user.Email), new Claim("picture", picture), new Claim("roles", string.Join(",", roles)) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["Tokens:Key"])); var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: _configuration["Tokens:Issuer"], audience: _configuration["Tokens:Audience"], claims: claims, expires: DateTime.Now.AddMinutes(30), signingCredentials: credentials); var results = new { token = new JwtSecurityTokenHandler().WriteToken(token), expiration = token.ValidTo }; return(results); }
UserViewModel MapToUserToUserVM(TravelUser user) { var vm = _mapper.Map <UserViewModel>(user); vm.Role = GetUserRoles(user); return(vm); }
public Task <SingleUserQueryResponse> Handle(GetUserByQuery request, CancellationToken cancellationToken) { TravelUser user = _repo.GetUserBy(request.Expression); var response = new SingleUserQueryResponse(user); response.Status = GetResponseStatus(user); return(Task.FromResult(response)); }
public Task <UserCommandResponse> Handle(DeleteUserCommand request, CancellationToken cancellationToken) { TravelUser user = _repo.DeleteUser(request.UserId); var response = new UserCommandResponse(user); response.Status = GetResponseStatus(user); return(Task.FromResult(response)); }
public GetAllTripsQuery(TravelUser currentUser, DateTime?from, DateTime?to, string destination, int?pageIndex, int?pageSize) { CurrentUser = currentUser; From = from; To = to; Destination = destination; PageIndex = pageIndex; PageSize = pageSize; }
public TravelUser GetUserByKey(Guid key) { TravelUser data = _context.TravelUsers.FirstOrDefault(x => x.GeneratePasswordKey == key); if (data != null) { return(data); } return(data); }
public TravelUser GetUserById(int id) { TravelUser data = _context.TravelUsers.FirstOrDefault(x => x.ID == id); if (data != null) { return(data); } return(data); }
public TravelUser UpdateUser(TravelUser user) { var oldEntity = _context.Users.Find(user.Id); if (oldEntity == null) { return(null); } _context.Entry(oldEntity).CurrentValues.SetValues(user); _context.SaveChanges(); return(user); }
public TravelUser AddUser(TravelUser User, TravelUserRoleMapping Role) { System.Guid guid = System.Guid.NewGuid(); User.GeneratePasswordKey = guid; User.CreatedOn = DateTime.UtcNow; _context.TravelUsers.Add(User); _context.SaveChanges(); Role.UserID = User.ID; _context.TravelUserRoleMappings.Add(Role); _context.SaveChanges(); return(User); }
public bool DeleteUser(TravelUser UserData) { var data = _context.TravelUsers.FirstOrDefault(x => x.ID == UserData.ID); if (data != null) { data.IsActive = 0; _context.SaveChanges(); return(true); } return(false); }
private string GetUserRoles(TravelUser s) { var roles = _userManager.GetRolesAsync(s).Result; if (roles.Contains("admin")) { return("admin"); } if (roles.Contains("manager")) { return("manager"); } return("user"); }
// Insert user public UserModel AddUser(TravelUserViewModel traveluser) { TravelUser UserData = new TravelUser(); TravelUserRoleMapping UserRoleData = new TravelUserRoleMapping(); UserData.Email = traveluser.Email; UserData.UserName = traveluser.Email; UserData.FirstName = traveluser.FirstName; UserData.LastName = traveluser.LastName; //UserData.Password = "******"; UserData.IsActive = 1; UserRoleData.RoleID = traveluser.RoleId; TravelUser data = _adminRepository.AddUser(UserData, UserRoleData); return(AutoMapper.Mapper.Map <TravelUser, UserModel>(data)); }
public async Task <IActionResult> ExternalLoginCallback(string returnUrl = null, string remoteError = null) { if (remoteError != null) { BadRequest(remoteError); } var info = await _signInManager.GetExternalLoginInfoAsync(); if (info == null) { return(NotFound()); } var email = info.Principal.FindFirstValue(ClaimTypes.Email); var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent : false, bypassTwoFactor : true); TravelUser user = null; if (result.Succeeded) { user = await _userManager.FindByEmailAsync(email); } else //User doesn't exist so create a new user to this external login info { string picture = await GetPictureUrlAsync(info); user = new TravelUser { NormalizedEmail = email, Email = email, Picture = picture, EmailConfirmed = true }; var createdUser = await _userManager.CreateAsync(user); } user.SecurityStamp = DateTime.Now.ToString(); var signinResult = await _userManager.AddLoginAsync(user, info); if (signinResult.Succeeded) { await _signInManager.SignInAsync(user, isPersistent : false); } var jwt = await GenerateJwT(user); var encoded = _configuration["PresentationUrl"] + "/externallogin/" + jwt.token; return(Redirect(encoded)); }
protected void btnUpdate_Click(object sender, EventArgs e) { // If no errors regarding validation controls (property is st to true if all validation controls pass) if (Page.IsValid) { // Create a Travel User Object TravelUser user = new TravelUser(); user.Id = Convert.ToInt32(hdnId.Value); user.FirstName = Convert.ToString(tbFirstName.Text); user.LastName = Convert.ToString(tbLastName.Text); user.Address = Convert.ToString(tbAddress.Text); user.City = Convert.ToString(tbCity.Text); user.Country = Convert.ToString(tbCountry.Text); user.Region = Convert.ToString(tbRegion.Text); user.Postal = Convert.ToString(tbPostal.Text); user.Phone = Convert.ToString(tbPhone.Text); user.Email = Convert.ToString(tbEmail.Text); user.Privacy = Convert.ToString(tbPrivacy.Text); // Update user details user.Update(); // Hide edit user panel pnlEditUser.Visible = false; // Display updated list of users _collectionUser.FetchAllSorted(true); gvUser.DataSource = _collectionUser; gvUser.DataBind(); lbErrorMessage.Text = "User details were successfully updated!"; } else { lbErrorMessage.Text = "Fix errors before updating!"; } }
private async Task <IActionResult> GetAllTrips(int pageIndex, int pageSize, DateTime?from, DateTime?to, string destination, TravelUser user) { var result = await _tripsReadService.GetAllTrips(user, from, to, destination, pageIndex, pageSize); if (result.Status == ResponseStatus.Unauthorized) { return(Unauthorized()); } if (result.Status == ResponseStatus.Failed) { return(BadRequest()); } IEnumerable <TripViewModel> Trips = result.Trips.Select(_mapper.Map <TripViewModel>); return(Ok(new { Trips, result.TotalCount })); }
public CreateTripCommand(TravelUser currentUser, Trip data) { CurrentUser = currentUser; Data = data; }
public UserCommandResponse(TravelUser user) { Errors = new List <string>(); User = user; }
public SingleUserQueryResponse(TravelUser user) { Errors = new List <string>(); User = user; }
public CreateUserCommand(TravelUser data) { Data = data; }
public DeleteTripCommand(TravelUser currentUser, int tripId) { CurrentUser = currentUser; TripId = tripId; }
public async Task <SingleTripQueryResponse> GetTripById(TravelUser user, int TripId) { var query = new GetTripByIdQuery(user, TripId); return(await _mediator.Send(query)); }
public async Task <MultipleTripsQueryResponse> GetAllTrips(TravelUser currentUser, DateTime?from, DateTime?to, string destination, int?pageIndex, int?pageSize) { var query = new GetAllTripsQuery(currentUser, from, to, destination, pageIndex, pageSize); return(await _mediator.Send(query)); }
public void TestInit() { var user1 = new TravelUser { Id = "user1ID", UserName = "******", NormalizedUserName = "******", Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", EmailConfirmed = true, LockoutEnabled = true, CreationDate = DateTime.Now }; var user2 = new TravelUser { Id = "user2ID", UserName = "******", NormalizedUserName = "******", Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", EmailConfirmed = true, LockoutEnabled = true, CreationDate = DateTime.Now }; var user3 = new TravelUser { Id = "user3ID", UserName = "******", NormalizedUserName = "******", Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", EmailConfirmed = true, LockoutEnabled = true, CreationDate = DateTime.Now }; var trip1 = new Trip { Id = 1, Destination = "trip1Dist", Comment = "trip1Coment", EndDate = DateTime.Now.AddDays(20), StartDate = DateTime.Now.AddDays(10), SightseeingsCollection = "trip1Sights", TravelUser = user1, TravelUserId = user1.Id }; var trip2 = new Trip { Id = 1, Destination = "trip2Dist", Comment = "trip2Coment", EndDate = DateTime.Now.AddDays(30), StartDate = DateTime.Now.AddDays(20), SightseeingsCollection = "trip2Sights", TravelUser = user1, TravelUserId = user1.Id }; var trip3 = new Trip { Id = 1, Destination = "trip3Dist", Comment = "trip3Coment", EndDate = DateTime.Now.AddDays(40), StartDate = DateTime.Now.AddDays(30), SightseeingsCollection = "trip3Sights", TravelUser = user2, TravelUserId = user2.Id }; var trip4 = new Trip { Id = 1, Destination = "trip4Dist", Comment = "trip4Coment", EndDate = DateTime.Now.AddDays(50), StartDate = DateTime.Now.AddDays(40), SightseeingsCollection = "trip4Sights", TravelUser = user2, TravelUserId = user2.Id }; var trip5 = new Trip { Id = 1, Destination = "trip5Dist", Comment = "trip5Coment", EndDate = DateTime.Now.AddDays(60), StartDate = DateTime.Now.AddDays(50), SightseeingsCollection = "trip5Sights", TravelUser = user2, TravelUserId = user2.Id }; var trip6 = new Trip { Id = 1, Destination = "trip6Dist", Comment = "trip6Coment", EndDate = DateTime.Now.AddDays(70), StartDate = DateTime.Now.AddDays(60), SightseeingsCollection = "trip6Sights", TravelUser = user2, TravelUserId = user2.Id }; var trip7 = new Trip { Id = 1, Destination = "trip7Dist", Comment = "trip7Coment", EndDate = DateTime.Now.AddDays(80), StartDate = DateTime.Now.AddDays(40), SightseeingsCollection = "trip7Sights", TravelUser = user3, TravelUserId = user3.Id }; var trip8 = new Trip { Id = 1, Destination = "trip8Dist", Comment = "trip8Coment", EndDate = DateTime.Now.AddDays(90), StartDate = DateTime.Now.AddDays(80), SightseeingsCollection = "trip8Sights", TravelUser = user3, TravelUserId = user3.Id }; var trip9 = new Trip { Id = 1, Destination = "trip9Dist", Comment = "trip9Coment", EndDate = DateTime.Now.AddDays(15), StartDate = DateTime.Now.AddDays(11), SightseeingsCollection = "trip9Sights", TravelUser = user3, TravelUserId = user3.Id }; user1.Trips.Add(trip1); user1.Trips.Add(trip2); user2.Trips.Add(trip3); user2.Trips.Add(trip4); user2.Trips.Add(trip5); user2.Trips.Add(trip6); user3.Trips.Add(trip7); user3.Trips.Add(trip8); user3.Trips.Add(trip9); var data = new List <TravelUser>() { user1, user2, user3 }.AsQueryable(); mockUsers = new Mock <DbSet <TravelUser> >(); mockUsers.As <IQueryable <TravelUser> >().Setup(m => m.Provider).Returns(data.Provider); mockUsers.As <IQueryable <TravelUser> >().Setup(m => m.Expression).Returns(data.Expression); mockUsers.As <IQueryable <TravelUser> >().Setup(m => m.ElementType).Returns(data.ElementType); mockUsers.As <IQueryable <TravelUser> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); var mockDbContext = new Mock <TravelPlannerContext>(); mockDbContext.Setup(c => c.TravelUsers).Returns(mockUsers.Object); usersRepo = new TravelUserRepository(mockDbContext.Object); }
public TravelUser CreateUser(TravelUser user) { user = _context.Users.Add(user).Entity; _context.SaveChanges(); return(user); }
public UserModel Login(string UserName, string Password) { TravelUser User = userRepository.Login(UserName, Password); return(AutoMapper.Mapper.Map <TravelUser, UserModel>(User)); }
public async Task <MultipleUsersQueryResponse> GetAllUsersAsync(TravelUser currentUser, string email, int?pageIndex, int?pageSize) { var query = new GetAllUsersQuery(currentUser, email, pageIndex, pageSize); return(await _mediator.Send(query)); }