private bool sentSingleEmailRCM(string userToSentEmail, RiskControlMatrix risk, int walktroughId) { string baseUrl = Request.Url.GetLeftPart(UriPartial.Authority); Employee emp = db.Employees.Where(p => p.Name.Equals(userToSentEmail)).FirstOrDefault(); if (emp != null) { string emailContent = "Dear {0}, <BR/><BR/>RCM : {1} need your approval. Please click on this <a href=\"{2}\" title=\"RCM\">link</a> to show the RCM.<BR/><BR/><BR/> Regards,<BR/><BR/> ePatria Team"; string url = baseUrl + "/Walktroughs/Create/" + walktroughId; emailTransact.SentEmailApproval(emp.Email, emp.Name, risk.Objectives, emailContent, url); } return(true); }
public ActionResult DetailRCM(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RiskControlMatrix rcm = db.RiskControlMatrixs.Find(id); var rdr = db.RCMDetailRisks.Where(p => p.RiskControlMatrixID == id).Select(p => new { riskId = p.RCMDetailRiskID, riskName = p.RiskName }).ToList(); ViewBag.RCMStatus = rcm.Status; ViewBag.prelimID = rcm.Walktrough.PreliminaryID; ViewBag.RDR = new SelectList(rdr, "riskId", "riskName");; return(View(rcm)); }
public async Task <ActionResult> CreateRCM(IEnumerable <HttpPostedFileBase> files, [Bind(Include = "RiskControlMatrixID,BusinessProcesID,SubBusinessProcess,Objectives,WalktroughID")] RiskControlMatrix rcm, string bpms, string submit) { if (ModelState.IsValid) { var bpm = db.BPMs.Where(p => p.Name.Equals(bpms)).FirstOrDefault(); if (bpm != null && bpm.Status == "Approve") { int bpmid = bpm.BPMID; rcm.BusinessProcesID = bpmid; string user = submit.Contains("By") ? submit.Split('y')[1] : String.Empty; if (submit == "Save") { rcm.Status = "Draft"; } else if (submit == "Send Back") { rcm.Status = "Draft"; } else if (submit == "Approve") { rcm.Status = "Approve"; } else if (submit == "Submit For Review By" + user) { rcm.Status = "Pending for Review by" + user; } else if (submit == "Submit For Approve By" + user) { bpm.Status = "Pending for Approve by" + user; } db.RiskControlMatrixs.Add(rcm); await db.SaveChangesAsync(); await db.SaveChangesAsync(); ReviewRelationMaster rrm = new ReviewRelationMaster(); string page = "rcm"; rrm.Description = page + rcm.RiskControlMatrixID; db.ReviewRelationMasters.Add(rrm); db.SaveChanges(); string username = User.Identity.Name; int wallid = Convert.ToInt32(rcm.WalktroughID); RiskControlMatrix rc = new RiskControlMatrix(); auditTransact.CreateAuditTrail("Create", wallid, "RiskControlMatrix", rc, rcm, username); //return RedirectToAction("Create"); } } return(RedirectToAction("Create", new { id = rcm.WalktroughID })); }
private bool sentEmailRCM(RiskControlMatrix risk, string user, int walktroughId) { string baseUrl = Request.Url.GetLeftPart(UriPartial.Authority); List <string> CIAUserIdsPengawas = Request.GetOwinContext().GetUserManager <ApplicationRoleManager>().Roles.Where(p => p.Name.Equals(user.Trim())).FirstOrDefault().Users.Select(p => p.UserId).ToList(); List <Employee> CIAEmpListPengawas = new List <Employee>(); if (CIAUserIdsPengawas.Count() > 0) { var CIAUsers = Request.GetOwinContext().GetUserManager <ApplicationUserManager>().Users.Where(p => (CIAUserIdsPengawas.Contains(p.Id))).ToList(); foreach (var CIAUser in CIAUsers) { Employee emp = db.Employees.Where(p => p.Email.Equals(CIAUser.Email)).FirstOrDefault(); if (emp != null) { string emailContent = "Dear {0}, <BR/><BR/>RCM : {1} need your approval. Please click on this <a href=\"{2}\" title=\"RCM\">link</a> to show the RCM.<BR/><BR/><BR/> Regards,<BR/><BR/> ePatria Team"; string url = baseUrl + "/Walktroughs/Create/" + walktroughId; emailTransact.SentEmailApproval(emp.Email, emp.Name, risk.Objectives, emailContent, url); } } } return(true); }
public ActionResult UpdateRCMStatus(int rcmId, string status, int walktroughId, int prelimID) { //var RCM = db.RiskControlMatrixs.Find(rcmId); string username = User.Identity.Name; db.Configuration.ProxyCreationEnabled = false; RiskControlMatrix oldData = db.RiskControlMatrixs.AsNoTracking().Where(p => p.RiskControlMatrixID.Equals(rcmId)).FirstOrDefault(); RiskControlMatrix risk = db.RiskControlMatrixs.Find(rcmId); Preliminary prelim = db.Preliminaries.Find(prelimID); if (status == "Draft") { risk.Status = HelperController.GetStatusSendback(db, "RCM", risk.Status); } else { risk.Status = status; } auditTransact.CreateAuditTrail("Update", risk.WalktroughID, "RiskControlMatrix", oldData, risk, username); db.Entry(risk).State = EntityState.Modified; db.SaveChanges(); if (status.Contains("Pending for Approve")) { string user = status.Split('y')[1]; string userToSentEmail = String.Empty; if (user.Trim() == "CIA") { userToSentEmail = prelim.PICID; if (userToSentEmail != null) { sentSingleEmailRCM(userToSentEmail, risk, walktroughId); } else { sentEmailRCM(risk, user.Trim(), walktroughId); } } else if (user.Trim() == "Pengawas") { userToSentEmail = prelim.SupervisorID; if (userToSentEmail != null) { sentSingleEmailRCM(userToSentEmail, risk, walktroughId); } else { sentEmailRCM(risk, user.Trim(), walktroughId); } } else if (user.Trim() == "Ketua Tim") { userToSentEmail = prelim.TeamLeaderID; if (userToSentEmail != null) { sentSingleEmailRCM(userToSentEmail, risk, walktroughId); } else { sentEmailRCM(risk, user.Trim(), walktroughId); } } else if (user.Trim() == "Member") { userToSentEmail = prelim.MemberID; if (userToSentEmail != null) { sentSingleEmailRCM(userToSentEmail, risk, walktroughId); } else { sentEmailRCM(risk, user.Trim(), walktroughId); } } } var listStatus = db.RiskControlMatrixs.Where(p => p.WalktroughID.Equals(walktroughId)).Select(p => new { RCMStatus = p.Status }).ToList(); SelectList listStatusSelectList = new SelectList(listStatus, "RCMStatus", "RCMStatus", 0); return(Json(listStatusSelectList)); }