Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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"
                };
            }
        }
Exemplo n.º 3
0
        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));
            }
        }
Exemplo n.º 4
0
        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));
            }
        }
Exemplo n.º 5
0
        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));
            }
        }