public async Task <IActionResult> SetMeetingVenue(int?meetingid, int?id, string option, string message) { if (option == "venue") { var meeting = await management.GetMeetingById(meetingid); if (meeting == null) { return(NotFound()); } meeting.MeetingVenue = message; meeting.Status = MeetingStatus.Scheduled; management.Save(); var foundItemClaim = await foundItemClaimRepository.GetFoundItemClaimById(id); List <string> email = new List <string>(); email.Add(foundItemClaim.ApplicationUser.Email); email.Add(foundItemClaim.FoundItem.FoundItemUser.Email); var link = Url.Action("InviteAdmin", "Meeting", new { area = "User", id = meeting.Id }, Request.Scheme); var messages = new Dictionary <string, string> { { "FName", $"Users" }, { "UName", message }, { "EmailClaimLink", link } }; await emailSender.SendManyEmailAsync(email, "Meeting Venue", messages, "MeetingVenue"); List <string> emails = new List <string>(); } if (option == "contactuser") { var foundItemClaim = await foundItemClaimRepository.GetFoundItemClaimById(id); List <string> email = new List <string>(); email.Add(foundItemClaim.ApplicationUser.Email); email.Add(foundItemClaim.FoundItem.FoundItemUser.Email); var messages = new Dictionary <string, string> { { "FName", $"Users" }, { "UName", message }, //{"EmailClaimLink",link } }; await emailSender.SendManyEmailAsync(email, "Inbox", messages, "contactusers"); } return(RedirectToAction("Details", new { id = meetingid })); }
public async Task <IActionResult> Validate(int?id, string status) { if (id == null) { return(NotFound()); } var claim = await claimRepository.GetLostItemClaimById(id); try { if (status == "Valid") { claim.Status = ClaimStatus.Valid; } if (status == "InValid") { claim.Status = ClaimStatus.Invalid; } claim.ValidatedOn = DateTime.Now; // string to = claim.ApplicationUser.Email; var link = Url.Action("Index", "ClaimManagement", new { area = "Admin" }); var message = new Dictionary <string, string> { { "ITEM", $"Lost Item" }, { "EmailLink", $"{link}" } }; var usersInAdmin = await userManager.GetUsersInRoleAsync("Admin"); List <string> emails = new List <string>(); foreach (var user in usersInAdmin) { emails.Add(user.Email); } await emailNotifier.SendManyEmailAsync(emails, "Validation", message, "AlertAdmin"); claimRepository.Save(); return(RedirectToAction("Claims", new { Id = claim.LostItemId })); } catch (Exception) { throw; } }