public ActionResult HRApprovalForm(int id) { try { if (id <= 0) { ViewBag.ErrorMessage = "No Travel Request ID"; return(View()); //return new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Invalid Travel Request ID"); } using (BTCEntities db = new BTCEntities()) { TravelRequests travelRequest = db.TravelRequests.Include(a => a.Users).Include(a => a.Users1).Include("Users1.HRW_Employee").Include("Users.HRW_Employee").SingleOrDefault(s => s.ID == id); if (travelRequest == null) { ViewBag.ErrorMessage = "Invalid Travel Request ID"; return(View()); //return HttpNotFound("Invalid Travel Request ID"); } ViewBag.Cities = db.City.ToList(); ViewBag.Currencies = db.Currency.ToList(); ViewBag.ApprovalBy = db.Users.ToList(); using (EmployeeDetailsDBService EmpDBService = new EmployeeDetailsDBService(travelRequest.Users1.HRW_Employee.EmployeeCode)) { ViewBag.FullEmployeeDetails = EmpDBService.FullEmployeeDetails(); } return(View(travelRequest)); } } catch (Exception e) { throw e; } }
public void NotificationEmail(TravelRequests travelRequests, bool IsApproved) { string url = string.Format("/TravelRequests/Details/{0}", travelRequests.ID); string link = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, url); SendMail mail = new SendMail { ToAddresses = new List <string> { travelRequests.Users1.Email }, MailSubject = IsApproved ? "Travel Request " + travelRequests.ApplicationNumber + " Approved!" : "Travel Request " + travelRequests.ApplicationNumber + " Rejected!", MailBody = "<br/> Please click on the following link to view the details of the Travel Request." + "<br/>Travel Request: <a href='" + link + "'>" + travelRequests.ApplicationNumber + "</a>" }; try { mail.Send(); } catch (Exception ex) { TempData["ErrorMessage"] = new List <string>() { ex.Message, "Unable to send Message" }; } }
public async Task <ActionResult> RFQProcessing(int?id) { using (BTCEntities db = new BTCEntities()) { ViewBag.Cities = db.City.ToList(); ViewBag.Currencies = db.Currency.ToList(); ViewBag.ApprovalBy = db.Users.ToList(); ViewBag.TravelAgency = db.TravelAgency.ToList(); TravelRequests travelRequest = await db.TravelRequests.Include(a => a.RFQ).Where(a => a.ID == id).FirstOrDefaultAsync(); using (EmployeeDetailsDBService EmpDBService = new EmployeeDetailsDBService("", travelRequest.Users1.HREmployeeID.ToString())) { ViewBag.FullEmployeeDetails = EmpDBService.FullEmployeeDetails(); } ViewBag.AvailableCombinations = db.RFQ.Where(a => a.TravelRequestID == id && a.IsDeleted == false).ToList(); return(View(travelRequest)); } }
public ActionResult ApproveManagerRequest(FormCollection collection) { using (BTCEntities db = new BTCEntities()) { var id = Convert.ToInt32(collection["ID"]); TravelRequests travelRequest = db.TravelRequests.Include(a => a.Users).Include(a => a.Users1).Include("Users1.HRW_Employee").Include("Users.HRW_Employee").SingleOrDefault(s => s.ID == id); if (ModelState.IsValid) { travelRequest.AdditionalAllowance = Convert.ToInt32(collection["AdditionalAllowance"]); travelRequest.ApprovalLevel = (int)ApprovalLevels.ApprovedByManager; travelRequest.ApprovalBy = dbuser.ID; travelRequest.ApprovalRemarks = travelRequest.ApprovalRemarks + "\n Manager Remarks: Approved By -" + dbuser.FirstName + ", " + dbuser.LastName + " \n Updated On: " + DateTime.Now.ToLongDateString() + " \n Comments: " + collection["ApprovalRemarksUser"]; db.Entry(travelRequest).State = EntityState.Modified; db.SaveChanges(); //NotificationEmail(travelRequest, true); return(RedirectToAction("ManagerDashboard")); } else { var errlist = ModelState.Values.Where(e => e.Errors.Count > 0).Select(a => a.Errors); List <string> sberr = new List <string>(); foreach (var item in errlist) { sberr.Add(item[0].ErrorMessage); } TempData["ErrorMessage"] = sberr.ToList(); } ViewBag.Cities = db.City.ToList(); ViewBag.Currencies = db.Currency.ToList(); ViewBag.ApprovalBy = db.Users.ToList(); using (EmployeeDetailsDBService EmpDBService = new EmployeeDetailsDBService(travelRequest.Users1.HRW_Employee.EmployeeCode)) { ViewBag.FullEmployeeDetails = EmpDBService.FullEmployeeDetails(); } return(View(travelRequest)); } }
public ActionResult RFQProcessing(TravelRequests travelRequest, FormCollection formCollection) { RFQ rfq = new RFQ { TravelRequestID = travelRequest.ID }; if (formCollection.AllKeys.Contains("checkAll") && formCollection["checkAll"].ToString().ToLower() == "on") { rfq.ProcessingSection = (int)ProcessingSections.ATHSPC; } else { if ((formCollection.AllKeys.Contains("ATCheck") && formCollection["ATCheck"].ToString().ToLower() == "on") && (formCollection.AllKeys.Contains("HSCheck") && formCollection["HSCheck"].ToString().ToLower() == "on")) { rfq.ProcessingSection = (int)ProcessingSections.ATHS; } else if ((formCollection.AllKeys.Contains("ATCheck") && formCollection["ATCheck"].ToString().ToLower() == "on") && (formCollection.AllKeys.Contains("PCCheck") && formCollection["PCCheck"].ToString().ToLower() == "on")) { rfq.ProcessingSection = (int)ProcessingSections.ATPC; } else if ((formCollection.AllKeys.Contains("PCCheck") && formCollection["PCCheck"].ToString().ToLower() == "on") && (formCollection.AllKeys.Contains("HSCheck") && formCollection["HSCheck"].ToString().ToLower() == "on")) { rfq.ProcessingSection = (int)ProcessingSections.HSPC; } else if ((formCollection.AllKeys.Contains("ATCheck") && formCollection["ATCheck"].ToString().ToLower() == "on")) { rfq.ProcessingSection = (int)ProcessingSections.AT; } else if ((formCollection.AllKeys.Contains("HSCheck") && formCollection["HSCheck"].ToString().ToLower() == "on")) { rfq.ProcessingSection = (int)ProcessingSections.HS; } else if ((formCollection.AllKeys.Contains("PCCheck") && formCollection["PCCheck"].ToString().ToLower() == "on")) { rfq.ProcessingSection = (int)ProcessingSections.PC; } } rfq.Processing = (int)ProcessingStatus.NotProcessed; rfq.IsDeleted = false; rfq.UserID = dbuser.ID; rfq.TravelAgencyID = Convert.ToInt32((formCollection["TravelAgencySelected"].ToString()).Split(',')[0]); using (BTCEntities db = new BTCEntities()) { if (db.RFQ.Where(a => a.ProcessingSection == rfq.ProcessingSection && a.TravelRequestID == travelRequest.ID && a.TravelAgencyID == rfq.TravelAgencyID && a.IsDeleted == false).Count() < 1 && rfq.ProcessingSection != 0) { if (db.RFQ.Where(a => a.ProcessingSection == rfq.ProcessingSection && a.TravelRequestID == travelRequest.ID && a.TravelAgencyID == rfq.TravelAgencyID).Count() < 1) { rfq.RFQName = db.TravelRequests.Where(a => a.ID == travelRequest.ID).FirstOrDefault().ApplicationNumber; db.RFQ.Add(rfq); } else { RFQ rfqlist = db.RFQ.Where(a => a.ProcessingSection == rfq.ProcessingSection && a.TravelRequestID == travelRequest.ID && a.TravelAgencyID == rfq.TravelAgencyID).FirstOrDefault(); rfqlist.IsDeleted = false; db.RFQ.Attach(rfqlist); var entry = db.Entry(rfqlist); entry.Property(a => a.IsDeleted).IsModified = true; } db.SaveChanges(); } else if (rfq.ProcessingSection == 0) { ViewBag.ErrorMessage = new List <string>() { "Selet Processing Section" }; } else { ViewBag.ErrorMessage = new List <string>() { "Record already exists" }; } ViewBag.Cities = db.City.ToList(); ViewBag.Currencies = db.Currency.ToList(); ViewBag.ApprovalBy = db.Users.ToList(); ViewBag.TravelAgency = db.TravelAgency.ToList(); travelRequest = db.TravelRequests.Include(a => a.RFQ).Where(a => a.ID == rfq.TravelRequestID).FirstOrDefault(); using (EmployeeDetailsDBService EmpDBService = new EmployeeDetailsDBService("", travelRequest.Users1.HREmployeeID.ToString())) { ViewBag.FullEmployeeDetails = EmpDBService.FullEmployeeDetails(); } ViewBag.AvailableCombinations = db.RFQ.Where(a => a.TravelRequestID == rfq.TravelRequestID && a.IsDeleted == false).ToList(); return(View(travelRequest)); } }