public IActionResult EditPathwaySteps(string editid, PathwaySteps steps) { steps.Id = new ObjectId(editid); var editstepid = _peopleRepository.FindById(editid); var pathwayid = editstepid.PathwayId; if (ModelState.IsValid) { string webRootPath = _hostEnvironment.WebRootPath; var files = HttpContext.Request.Form.Files; if (files.Count > 0) { string fileName = Guid.NewGuid().ToString(); var uploads = Path.Combine(webRootPath, @"Documents"); var extenstion = Path.GetExtension(files[0].FileName); using (var filesStreams = new FileStream(Path.Combine(uploads, fileName + extenstion), FileMode.Create)) { files[0].CopyTo(filesStreams); } steps.Documents = files[0].FileName; steps.PathwayId = editstepid.PathwayId; steps.IssuerId = editstepid.IssuerId; steps.GetBadges = steps.GetBadges; steps.count = editstepid.count; } _peopleRepository.ReplaceOne(steps); } return(RedirectToAction("ManagePathway", new { id = pathwayid })); }
public IActionResult ManagePathwayPost(PathwaySteps pathwaySteps, string id) { var totalRecord = _peopleRepository.FilterBy(e => e.PathwayId == id); var numberofRecord = totalRecord.Count(); var path = _path.FindById(id); var issuerid = path.IssuersId; if (ModelState.IsValid) { string webRootPath = _hostEnvironment.WebRootPath; var files = HttpContext.Request.Form.Files; if (files.Count > 0) { string fileName = Guid.NewGuid().ToString(); var uploads = Path.Combine(webRootPath, @"Documents"); var extenstion = Path.GetExtension(files[0].FileName); using (var filesStreams = new FileStream(Path.Combine(uploads, files[0].FileName), FileMode.Create)) { files[0].CopyTo(filesStreams); } pathwaySteps.Documents = files[0].FileName; pathwaySteps.PathwayId = id.ToString(); TempData["PathwayStepBadge"] = pathwaySteps.GetBadges; } if (numberofRecord == 0) { pathwaySteps.count = 0; } pathwaySteps.count = numberofRecord + 1; pathwaySteps.IssuerId = issuerid; _peopleRepository.InsertOne(pathwaySteps); } return(RedirectToAction("ManagePathway")); }
public IActionResult StepPost(string id, string isCompleted) { if (isCompleted != null) { var v = _checkRequest.FindById(isCompleted); //CheckRequest c = new CheckRequest() { // IsCompleted = true, // Id= new ObjectId("5efc43e8bbe4823244bd798a") //}; string webRootPath = _hostEnvironment.WebRootPath; var files = HttpContext.Request.Form.Files; if (files.Count > 0) { string fileName = Guid.NewGuid().ToString(); var uploads = Path.Combine(webRootPath, @"UploadedDocuments"); var extenstion = Path.GetExtension(files[0].FileName); using (var filesStreams = new FileStream(Path.Combine(uploads, files[0].FileName), FileMode.Create)) { files[0].CopyTo(filesStreams); } v.Documents = files[0].FileName; } v.IsCompleted = true; v.IsDeclined = null; _checkRequest.ReplaceOne(v); return(RedirectToAction("PathwaySteps", new { pathwayId = v.PathwayId })); } 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; var all = _pathSteps.AsQueryable().ToList(); PathwaySteps p = all.Where(e => e.count == 1).Where(e => e.PathwayId == id).FirstOrDefault(); if (p != null) { CheckRequest check = new CheckRequest() { CreatedAt = DateTime.Now, IsApproved = false, IsCompleted = false, PathwayId = new MongoDB.Bson.ObjectId(id), UserId = new ObjectId(userid), PathwayStepId = p.Id }; _checkRequest.InsertOne(check); } return(RedirectToAction("Index")); }
public IActionResult Step(string id) { CheckRequest check = _checkRequest.FindById(id); PathwaySteps pathway = new PathwaySteps() { Id = check.PathwayStepId }; List <PathwaySteps> all = _pathSteps.AsQueryable().ToList(); List <PathwaySteps> list = all.Where(e => e.Id == pathway.Id).ToList(); PathwayVM pathwayVM = new PathwayVM() { pathwaySteps = list }; ViewBag.checkRequestId = id; return(View(pathwayVM)); }
public IActionResult Start(string id, string isCompleted, int currentpage) { if (isCompleted != null) { var v = _checkRequest.FindById(isCompleted); //CheckRequest c = new CheckRequest() { // IsCompleted = true, // Id= new ObjectId("5efc43e8bbe4823244bd798a") //}; v.IsCompleted = true; _checkRequest.ReplaceOne(v); return(RedirectToAction("Index")); } 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; var all = _pathSteps.AsQueryable().ToList(); // PathwaySteps p = all.Where(e => e.count == 1 ).Where(e=>e.PathwayId==id).FirstOrDefault(); PathwaySteps p = all.Where(e => e.count == 1 && e.PathwayId == id).FirstOrDefault(); if (p != null) { DateTime today = DateTime.Now; CheckRequest check = new CheckRequest() { CreatedAt = today, IsApproved = false, IsCompleted = false, PathwayId = new MongoDB.Bson.ObjectId(id), UserId = new ObjectId(userid), PathwayStepId = p.Id }; _checkRequest.InsertOne(check); } return(RedirectToAction("Index", new { productPage = currentpage })); }
public async Task <IActionResult> Approve(string id) { var completePathway = new List <CompletedPathway>(); var request = _checkRequest.AsQueryable().ToList(); 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; var a = _checkRequest.FindById(id); a.IsApproved = true; a.IsDeclined = false; _checkRequest.ReplaceOne(a); if (a.IsApproved == true) { var user = _user.FindById(a.UserId.ToString()); var pathstep = _pathwaySteps.FindById(a.PathwayStepId.ToString()); var bdge = _badge.FindById(pathstep.GetBadges); var urlOfImage = "http://digibadge.eastus.cloudapp.azure.com/" + bdge.ImageUrl.Replace('\\', '/'); await _emailSender.SendEmailAsync(user.Email, "Congratulations You are awarded 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 = '{urlOfImage}' width='200px' height='200px' alt='image' /></div>" + $"<hr /><br /><div class='row text-left'>" + //$"<div class='row text-left'>" + $"<p class='m-2'>{HtmlEncoder.Default.Encode(bdge.BadgeName)}</p></div>" + $"<p class='m-2'>{HtmlEncoder.Default.Encode(bdge.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>"); var pathwayId = a.PathwayId.ToString(); var totalPathwaySteps = _pathwaySteps.AsQueryable().ToList(); var totalCheckRequest = _checkRequest.AsQueryable().ToList(); var countOfPathstepsinCheckRequest = totalCheckRequest.Where(e => e.PathwayId == new MongoDB.Bson.ObjectId(pathwayId)).ToList(); var count = pathstep.count; var p0 = totalPathwaySteps.Where(e => e.PathwayId == pathwayId).ToList(); PathwaySteps p1 = p0.Where(e => e.count == count).FirstOrDefault(); PathwaySteps p = totalPathwaySteps.Where(e => e.PathwayId == pathwayId).Where(e => e.count == count + 1).FirstOrDefault(); if (p1 != null) { var badg = _badge.FindById(p1.GetBadges.ToString()); DateTime d = DateTime.Now; DateTime d1 = DateTime.Today.AddDays(badg.ExpiryDuration); DateTime today = DateTime.Now; EarnerBadgeDetails earner = new EarnerBadgeDetails() { AwardedDate = today, BadgeId = new MongoDB.Bson.ObjectId(p1.GetBadges), RecipientEmail = user.Email, RecipientName = user.FirstName, ExpirationDate = d1, UserId = a.UserId, PathwayId = new MongoDB.Bson.ObjectId(p1.PathwayId), IsExpired = false }; _earnerDetails.InsertOne(earner); } if (p != null) { DateTime today = DateTime.Now; CheckRequest check = new CheckRequest() { CreatedAt = today, IsApproved = false, IsCompleted = false, PathwayId = new MongoDB.Bson.ObjectId(a.PathwayId.ToString()), UserId = a.UserId, PathwayStepId = p.Id }; _checkRequest.InsertOne(check); } } return(RedirectToAction("Index")); }