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 }));
        }
Пример #2
0
        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;
            }
        }