public IHttpActionResult ConfirmEmail([FromUri] string guid) { ConfirmedUser user = null; FCS = FlyingCenterSystem.GetInstance(); IAnonymousUserFacade af = FCS.GetFacade(null) as AnonymousUserFacade; user = af.ConfirmMyEmail(guid); if (user.UserName == null) { return(NotFound()); } if (user.EmailCon == "was already confirmed") { return(Ok(user.EmailCon)); } if (user.Type == "customer") { Customer newCustomer = Redis.RedisGetCustomer("localhost", user.UserName); newCustomer.ID = af.AddCustomerToData(newCustomer); return(Ok($"{user.UserName} was confirmed")); } AirLineCompany airline = Redis.RedisGetAirline("localhost", user.UserName); return(Ok($"{user.UserName} was confirmed one of our admins will get back to you. thank you!")); }
public void SendConfirmationCode(Guid userId) { if (userId == Guid.Empty) { throw new ArgumentNullException(nameof(userId)); } try { _connection.BeginTransaction(); var user = _connection.Table <User>().SingleOrDefault(usr => usr.UserId == userId); if (user == null) { throw new DomainObjectMissingException(nameof(user)); } if (!_connection.Table <ConfirmedUser>().Any(cu => cu.UserId == userId)) { var random = new Random(); var confCode = random.Next(); var ConfirmedUser = new ConfirmedUser(userId, confCode); var message = new MailMessage(_from, user.Email, "Please confirm your account.", $"Your confirmation code is: {confCode}."); _mailer.Send(message); _connection.Insert(ConfirmedUser); } _connection.Commit(); } catch (Exception e) { Console.WriteLine(e.Message); _connection.Rollback(); throw; } }
public async Task <IHttpActionResult> ConfirmAttendance(int id, ConfirmedAttendees confirmed) { var e = db.Events.Find(id); if (e == null) { return(BadRequest()); } foreach (string u in confirmed.Usernames) { ApplicationUser attendee = null; if (e.ConfirmedGuests.Count > 0) { ConfirmedUser alreadyConfirmed = e.ConfirmedGuests.Where(x => x.User.UserName.Equals(u, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); if (alreadyConfirmed != null) { attendee = alreadyConfirmed.User; } } if (attendee == null) { ApplicationUser user = db.Users.FirstOrDefault(x => x.UserName.Equals(u, StringComparison.OrdinalIgnoreCase)); e.ConfirmedGuests.Add(new ConfirmedUser() { User = user, ConfirmedUserId = Guid.NewGuid() }); try { db.SaveChanges(); var myMessage = new SendGridMessage(); myMessage.From = new MailAddress("*****@*****.**"); myMessage.AddTo(string.Format(@"{0} <{1}>", user.UserName, user.Email)); myMessage.Subject = string.Format("Attendance confirmation for {0}", e.EventTitle); myMessage.Html = String.Format("<p>You have just been confirmed as attending by the host of {0}</p>", e.EventTitle); myMessage.Text = String.Format("You have just been confirmed as attending by the host of {0}", e.EventTitle); var apiKey = System.Environment.GetEnvironmentVariable("SENDGRID_APIKEY"); var transportWeb = new Web(apiKey); // Send the email. await transportWeb.DeliverAsync(myMessage); await PostNotification("gcm", String.Format("You have been confirmed as attending for {0}", e.EventTitle), user.Email); } catch (DbUpdateConcurrencyException) { if (!EventExists(id)) { return(NotFound()); } else { throw; } } } } return(Json(new { success = true })); }
public async Task CreateAsync(User vaucherUser, string vaucheeId, bool isClubAdmin = false, bool isCityAdmin = false) { var confirmedUser = new ConfirmedUser { UserID = vaucheeId, ConfirmDate = DateTime.Now, isClubAdmin = isClubAdmin, isCityAdmin = isCityAdmin }; var approver = new Approver { UserID = await _userManager.GetUserIdAsync(vaucherUser), ConfirmedUser = confirmedUser }; confirmedUser.Approver = approver; await _repoWrapper.ConfirmedUser.CreateAsync(confirmedUser); await _repoWrapper.SaveAsync(); await SendEmailConfirmedNotificationAsync(await _userManager.FindByIdAsync(vaucheeId), vaucherUser); }
public async Task CreateAsync(User user, string userId, bool isClubAdmin = false, bool isCityAdmin = false) { var id = await _userManager.GetUserIdAsync(user); var conUser = new ConfirmedUser { UserID = userId, ConfirmDate = DateTime.Now, isClubAdmin = isClubAdmin, isCityAdmin = isCityAdmin }; var appUser = new Approver { UserID = id, ConfirmedUser = conUser }; conUser.Approver = appUser; await _repoWrapper.ConfirmedUser.CreateAsync(conUser); await _repoWrapper.SaveAsync(); }
// adding a new user to db after email authentication before adding as a customer public ConfirmedUser ConfirmEmail(string guid) { ConfirmedUser confirmedUser = new ConfirmedUser(); //string userName = null; //string confirmed = null; using (cmd.Connection = new SqlConnection(FlightCenterConfig.DAO_CON)) { cmd.Connection.Open(); cmd.CommandType = CommandType.Text; cmd.CommandText = $"SELECT * FROM SignUp WHERE GUID = '{guid}'"; using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { ConfirmedUser a = new ConfirmedUser { UserName = (string)reader["USER_NAME"], Email = (string)reader["EMAIL"], Type = (string)reader["TYPE"], EmailCon = (string)reader["EMAIL_CON"], Guid = (string)reader["GUID"] }; confirmedUser = a; } } if (confirmedUser.EmailCon == "true") { confirmedUser.EmailCon = "was already confirmed"; return(confirmedUser); } if (confirmedUser.EmailCon == "false") { cmd.Connection.Close(); cmd.Connection.Open(); cmd.CommandText = $"UPDATE SignUp SET EMAIL_CON = 'true' where USER_NAME = '{confirmedUser.UserName}'"; cmd.ExecuteNonQuery(); } } return(confirmedUser); }
public IActionResult ApproveUser(string userId) { if (userId != null) { var id = _userManager.GetUserId(User); var conUs = new ConfirmedUser { UserID = userId, ConfirmDate = DateTime.Now }; var appUs = new Approver { UserID = id, ConfirmedUser = conUs }; conUs.Approver = appUs; _repoWrapper.ConfirmedUser.Create(conUs); _repoWrapper.Save(); return(RedirectToAction("UserProfile", "Account", new { userId = userId })); } return(RedirectToAction("HandleError", "Error", new { code = 505 })); }
public async Task NotifyNewPlastMembersAndCityAdminsAsync_Valid_Test() { // Arrange var users = new List <User>() { new User() { RegistredOn = DateTime.Now.Date.Subtract(new TimeSpan(366, 0, 0, 0)) } }; var user = new UserDTO { UserProfile = new UserProfileDTO { Birthday = DateTime.Now }, CityMembers = new[] { new CityMembers { City = new DataAccess.Entities.City { Name = "CityName" } } } }; var cityProfile = new CityProfileDTO { Admins = new List <CityAdministrationDTO> { new CityAdministrationDTO { User = new CityUserDTO() } }, Head = new CityAdministrationDTO { User = new CityUserDTO() } }; var roles = new List <string>() { Roles.Supporter, Roles.FormerPlastMember }; var confirmedUsers = new ConfirmedUser[] { new ConfirmedUser() { isClubAdmin = true } }.AsQueryable <ConfirmedUser>(); _mockRepoWrapper .Setup(x => x.User.GetAllAsync(It.IsAny <Expression <Func <User, bool> > >(), It.IsAny <Func <IQueryable <User>, IIncludableQueryable <User, object> > >())) .ReturnsAsync(users); _mockUserManager .Setup((x) => x.IsInRoleAsync(It.IsAny <User>(), It.IsAny <string>())) .ReturnsAsync(false); _mockUserManager .Setup(x => x.GetRolesAsync(It.IsAny <User>())) .ReturnsAsync(roles); _mockRepoWrapper .Setup(r => r.ConfirmedUser.FindByCondition(It.IsAny <Expression <Func <ConfirmedUser, bool> > >())) .Returns(confirmedUsers); _mockUserManager .Setup(u => u.FindByIdAsync(It.IsAny <string>())) .ReturnsAsync(new User()); _mockUserManager .Setup(x => x.AddToRoleAsync(It.IsAny <User>(), It.IsAny <string>())); _mockUserService.Setup(x => x.GetUserAsync(It.IsAny <string>())) .ReturnsAsync(user); _mockCityService.Setup(x => x.GetCityAdminsAsync(It.IsAny <int>())) .ReturnsAsync(cityProfile); _mockEmailSendingService .Setup(x => x.SendEmailAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .ReturnsAsync(true); _mockEmailContentService.Setup(x => x.GetGreetingForNewPlastMemberEmailAsync(It.IsAny <string>())) .ReturnsAsync(new EmailModel()); _mockEmailContentService .Setup(x => x.GetCityAdminAboutNewPlastMemberEmail(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>())).Returns(new EmailModel()); // Act await _newPlastMemberEmailGreetingService.NotifyNewPlastMembersAndCityAdminsAsync(); // Assert _mockRepoWrapper.Verify(); _mockUserManager.Verify(); _mockEmailSendingService.Verify(); }