public IActionResult Award(string id) { ObjectId oid = new ObjectId(id); Badge badge = badgeCollection.Find(e => e.BadgeId == oid).FirstOrDefault(); AwardBadge awardBadge = new AwardBadge() { id = badge.BadgeId.ToString() }; return(View(awardBadge)); }
public async Task <IActionResult> Award(string id, AwardBadge awardBadge) { if (ModelState.IsValid) { var claimsIdentity = (ClaimsIdentity)User.Identity; /*var claim = claimsIdentity.FindFirst(ClaimTypes.Email);*/ var claim = claimsIdentity.Claims.ToArray(); var email = claim[1].Value; var userid = User.Claims.FirstOrDefault(c => c.Type == AppUtility.UserId).Value; ObjectId oid = new ObjectId(id); Badge badge = badgeCollection.Find(e => e.BadgeId == oid).FirstOrDefault(); ObjectId issuerId = badge.IssuerId; Issuers issuer = collection.Find(e => e.IssuerId == issuerId).FirstOrDefault(); DateTime d = DateTime.Now; DateTime d1 = DateTime.Today.AddDays(badge.ExpiryDuration); EarnerBadgeDetails buc = new EarnerBadgeDetails() { BadgeId = badge.BadgeId, RecipientName = awardBadge.EarnerBadgeDetails.RecipientName, RecipientEmail = awardBadge.EarnerBadgeDetails.RecipientEmail, AwardedDate = d, ExpirationDate = d1, UserId = new ObjectId(userid.ToString()) }; earnerBadgeDetails.InsertOne(buc); /*await _emailSender.SendEmailAsync(buc.RecipientEmail, "Congratulation, you earned a Badge", * * $"<div class='p-6 m-3 border rounded row' style='background-color:beige'><div class='col-3'></div><div class='col-6' style='background-color:white'><div class='row text-center m-2'><h3 style = 'color:blueviolet' >Congratulation, you earned a badge</h3></div><hr /><div class='text-center'><img src = 'https://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/11/1415490092badge.png' width='200px' height='200px' alt='image' /></div><hr /><br /><div class='row text-left'><h4 class='m-2'>{HtmlEncoder.Default.Encode(badge.BadgeName)}</h4></div><div class='row text-left'><p class='m-2'>{HtmlEncoder.Default.Encode(badge.EarningCriteriaDescription)}</p></div><hr /><hr /><div class='row text-left m-2'><p>Issued by :</p></div><div class='row text-left m-2'><p><b>{HtmlEncoder.Default.Encode(issuer.Name)}</b></p></div><hr /><div class='text-center'><a class='btn btn-secondary' href='https://localhost:44326/'>Create Account</a></div><br /><br/></div><div class='col-3'></div></div>" * );*/ return(RedirectToAction("ViewBadge", new { id = badge.BadgeId })); } return(View()); }