Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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());
        }