public ActionResult Renew(Table_NewRequest table_NewRequest, HttpPostedFileBase image)
        {
            try
            {
                if (image != null)
                {
                    table_NewRequest.IDimage = new byte[image.ContentLength];
                    image.InputStream.Read(table_NewRequest.IDimage, 0, image.ContentLength);
                }
                if (table_NewRequest.LoginDetailsSentTo == null)
                {
                    table_NewRequest.LoginDetailsSentTo = table_NewRequest.ReportingMngEmail;
                }
                var          currentUser    = System.Web.HttpContext.Current.User.Identity.Name;
                var          user           = currentUser.Remove(0, 6);
                SearchResult value          = Classes.SearchActiveDirectoryByUserName(user);
                var          Requester      = value.Properties.Contains("displayname") ? Convert.ToString(value.Properties["displayname"][0]) : string.Empty;
                var          RequesterEmail = value.Properties.Contains("mail") ? Convert.ToString(value.Properties["mail"][0]) : "no-email";
                table_NewRequest.Requester      = Requester;
                table_NewRequest.RequesterEmail = RequesterEmail.ToLower();
                KC.Table_NewRequest.Add(table_NewRequest);
                KC.SaveChanges();
                int    id              = table_NewRequest.ID;
                string type            = table_NewRequest.NewOrRenew;
                string ManagerUsername = table_NewRequest.ManagerUsername;
                string ManagerName     = table_NewRequest.ManagerName;
                string ManagerEmail    = table_NewRequest.ManagerEmail;
                TempData["Email"] = table_NewRequest.ManagerEmail;
                string FullName         = table_NewRequest.FirstName + " " + table_NewRequest.LastName;
                string EncryptedID      = Classes.Encrypt(id.ToString());
                string EncryptedManager = Classes.Encrypt(ManagerUsername);
                string ViewLink         = String.Format("<a href=\"{0}Home/ManagerApproval?id={1}&mng={2}\">Click here</a>", HttpLink, EncryptedID, EncryptedManager);
                string StatusLink       = String.Format("<a href=\"{0}Home/MySubmissions\">Click here</a>", HttpLink);
                string message          = "Dear " + ManagerName +
                                          ",<br /><br /> KAUST Connect Account request has been submitted for <font color='darkblue'> <strong>"
                                          + FullName + " </strong></font> by <strong>"
                                          + Requester + "</strong>,  please review and approve the request by visit URL below: <br /> <br /> "
                                          + ViewLink + "<br /> <br /> Note: Make sure all the details are correct and job title is as per job description. <br /> <br /> Regards, <br /> Messaging Team";
                Classes.SendMail(ManagerEmail, message, FullName, type);
                string RequesterMessage = "Dear " + Requester + ", <br /> <br /> The KAUST Connect Account Request for <strong>" + FullName + "</strong> has been submitted successfully. <br /> <br />To view the status kindly   " + StatusLink + "<br /> <br /> Regards, <br /> Messaging Team";
                if (RequesterEmail != "no-email")
                {
                    Classes.SendMail(RequesterEmail, RequesterMessage, FullName, type);
                }

                return(RedirectToAction("Submitted", "Form"));
            }
            catch
            {
                return(RedirectToAction("ErrorOccured", "Home", null));
            }
        }
Exemple #2
0
 public ActionResult ReportingManagerApproval(Table_NewRequest table_NewRequest, string Submit)
 {
     if (Submit == "Reject")
     {
         table_NewRequest.ApprovedBy      = System.Web.HttpContext.Current.User.Identity.Name;
         table_NewRequest.ApprovedOn      = DateTime.Now.ToString();
         table_NewRequest.StatusOfRequest = "Rejected by Manager";
         table_NewRequest.ID = Convert.ToInt32(TempData["ID"]);
         KC.Entry(table_NewRequest).State = System.Data.Entity.EntityState.Modified;
         KC.SaveChanges();
         string EncryptedID      = Classes.Encrypt(table_NewRequest.ID.ToString());
         string FullName         = Convert.ToString(TempData["FullName"]);
         string RequesterEmail   = Convert.ToString(TempData["RequesterEmail"]);
         string Requester        = Convert.ToString(TempData["Requester"]);
         string Type             = Convert.ToString(TempData["Type"]);
         string RequesterMessage = "Dear " + Requester + ", <br /> <br /> KAUST Connect Account Request Submitted for <strong>" + FullName + "</strong> has been rejected by your manager. The reason for rejection is <br /> <font color='red'>" + table_NewRequest.Comments + "</font> <br /> <br /> Regards, <br /> Messaging Team";
         Classes.SendMail(RequesterEmail, RequesterMessage, FullName, Type);
         return(RedirectToAction("ReportingManagerRejected"));
     }
     else
     {
         table_NewRequest.ApprovedBy      = System.Web.HttpContext.Current.User.Identity.Name;
         table_NewRequest.ApprovedOn      = DateTime.Now.ToString();
         table_NewRequest.StatusOfRequest = "Pending Messaging Team Approval";
         table_NewRequest.ID = Convert.ToInt32(TempData["ID"]);
         KC.Entry(table_NewRequest).State = System.Data.Entity.EntityState.Modified;
         KC.SaveChanges();
         string EncryptedID  = Classes.Encrypt(table_NewRequest.ID.ToString());
         string FullName     = Convert.ToString(TempData["FullName"]);
         string Type         = Convert.ToString(TempData["Type"]);
         string ManagerEmail = Convert.ToString(TempData["ManagerEmail"]);
         string Requester    = Convert.ToString(TempData["Requester"]);
         string ViewLink     = String.Format("<a href=\"{0}Home/TeamApproval?id={1}\">Click here</a>", HttpLink, EncryptedID);
         string message      = "Dear Messaging Team, <br /><br /> KAUST Connect Account request has been submitted by <u>" + Requester + " </u> for <strong>" + FullName + "</strong> please review and approve the request by visit URL below: <br /> <br /> " + ViewLink + "<br /> <br /> Regards, <br /> Messaging Team";
         Classes.SendMail("*****@*****.**", message, FullName, Type);
         return(RedirectToAction("ReportingManagerApproved"));
     }
 }
Exemple #3
0
        public ActionResult ReportingManagerApproval(string id, string mng)
        {
            string DecryptedManager = Classes.Decrypt(mng);
            string teamMember       = System.Web.HttpContext.Current.User.Identity.Name;
            var    user             = teamMember.Remove(0, 6);
            var    approver         = Classes.SearchActiveDirectoryForViewStatusApprovers3(user);

            if (approver != null || teamMember.Contains(DecryptedManager))
            {
                string ID          = Classes.Decrypt(id);
                int    DecryptedID = Convert.ToInt32(ID);
                TempData["ID"] = DecryptedID;
                Table_NewRequest table = KC.Table_NewRequest.Find(DecryptedID);
                TempData["FullName"]         = table.FirstName + " " + table.LastName;
                TempData["ManagerEmail"]     = table.ManagerEmail;
                TempData["ReportingManager"] = table.ReportingMngName;
                TempData["ManagerName"]      = table.ManagerName;
                TempData["Requester"]        = table.Requester;
                TempData["RequesterEmail"]   = table.RequesterEmail;
                TempData["Manager"]          = table.ManagerUsername;
                TempData["Type"]             = table.NewOrRenew;
                if (table == null)
                {
                    return(View());
                }

                var Action = table.StatusOfRequest;
                if (Action != "Pending Reporting Manager Approval")
                {
                    ViewBag.Hide = true;
                }
                return(View(table));
            }
            else
            {
                return(RedirectToAction("AccessDenied", "Home", null));
            }
        }