public ActionResult GetApprovers(string WorkflowID)
        {
            TravelCards request = new TravelCards();

            request = new AppClass().ExplodeRequest(WorkflowID).First();
            string errorResult = "{{\"employee_number\":\"{0}\",\"name\":\"{1}\"}}";

            if (request.travel_request.ApprovalStage != "Card Services Approval")
            {
                errorResult = string.Format(errorResult, null, "No approvers found for the entry");
                return(Content(errorResult, "application/json"));
            }
            else
            {
                var profile = new AppClass().getApprovernames();
                if (profile == null || profile.Count() <= 0)
                {
                    errorResult = string.Format(errorResult, null, "No approvers found for the entry");
                    return(Content(errorResult, "application/json"));
                }
                else
                {
                    return(Json(profile, JsonRequestBehavior.AllowGet));
                }
            }
        }
        public ActionResult ExplodeTravelrequest(string id)
        {
            try
            {
                StaffADProfile staffADProfile = new StaffADProfile();
                // staffADProfile.user_logon_name = User.Identity.Name;
                CurrentUser currentuser = new CurrentUser();
                currentuser.logonName          = User.Identity.Name;
                staffADProfile.user_logon_name = User.Identity.Name;
                ActiveDirectoryQuery activeDirectoryQuery = new ActiveDirectoryQuery(staffADProfile);
                staffADProfile        = activeDirectoryQuery.GetStaffProfile();
                currentuser.UserNo    = staffADProfile.employee_number;
                currentuser.UserName  = staffADProfile.in_StaffName;
                currentuser.logonName = staffADProfile.user_logon_name;
                currentuser.Email     = staffADProfile.email;

                bool checkApprover = new AppClass().ValidateCurrentUser(currentuser);
                currentuser.IsApprover = checkApprover;
                // check for AdminUsers
                bool checkApproverUser = new AppClass().ValidateCheckApproverUser(currentuser.UserNo);
                ViewData["checkApproverUser"] = checkApproverUser;

                TravelCards request = new TravelCards();
                //  TravelCards AllInput = new TravelCards();

                request = new AppClass().ExplodeRequest(id).First();
                if (checkApprover == false)
                {
                    request.travel_request.Status = "Approved";
                }
                @ViewBag.requestStage = request.travel_request.ApprovalStage;
                return(View(request));
            }
            catch (Exception ex)
            {
                return(View(ex.Message));
            }
        }
        //[AcceptVerbs(HttpVerbs.Post)]
        //[AcceptParameter(Name = "Checkout")]
        //public ActionResult MultipleApproval(string[] selectedRows, string button)
        //{
        //    return View();
        //}
        // [HttpPost]
        //[AcceptVerbs(HttpVerbs.Post)]
        //[AcceptParameter(Name = "Delete")]
        //public ActionResult MultipleDenial(string[] selectedRows, string UserID, string partnerid, string productid)
        //{
        //    return View();
        //}


        public ActionResult MultipleApproval(FormCollection form)
        {
            try
            {
                StaffADProfile staffADProfile = new StaffADProfile();
                // staffADProfile.user_logon_name = User.Identity.Name;
                CurrentUser currentuser = new CurrentUser();
                currentuser.logonName = User.Identity.Name;

                staffADProfile.user_logon_name = User.Identity.Name;
                ActiveDirectoryQuery activeDirectoryQuery = new ActiveDirectoryQuery(staffADProfile);
                staffADProfile       = activeDirectoryQuery.GetStaffProfile();
                currentuser.UserNo   = staffADProfile.employee_number;
                currentuser.UserName = new AppClass().getProfile(currentuser.UserNo).StaffName;
                bool checkApproverUser = new AppClass().ValidateCheckApproverUser(staffADProfile.employee_number);
                ViewData["checkApproverUser"] = checkApproverUser;
                var  ch            = form.GetValues("assignChkBx");
                var  comment       = form.GetValue("Comment").AttemptedValue;
                var  Action        = form.GetValue("Action").AttemptedValue;
                bool checkApprover = new AppClass().ValidateCurrentUser(currentuser);
                currentuser.IsApprover = checkApprover;
                if (checkApprover == false)
                {
                }
                else
                {
                    foreach (var id in ch)
                    {
                        TravelCards updatetravel = new TravelCards();
                        updatetravel = new AppClass().ExplodeRequest(id).First();
                        updatetravel.travel_request.Action  = Action.ToString();
                        updatetravel.travel_request.Comment = comment.ToString();
                        var      MyTravelApproval = new AppClass().updateDBRequest(updatetravel, currentuser, "TravelConnection");
                        string[] result           = MyTravelApproval.ToString().Split('|');

                        if (result[0] != "0")
                        {
                            if (result[0] == "2627")
                            {
                                // return Content("Unable to Submit \n Duplicate record");
                                TempData["ErrorMessage"]  = "Unable to Submit \n Duplicate record";
                                TempData["TravelRequest"] = updatetravel;
                                // return RedirectToAction("AwaitingApproval");
                            }
                            else
                            {
                                TempData["ErrorMessage"]  = result[1];
                                TempData["TravelRequest"] = updatetravel;
                                // return RedirectToAction("AwaitingApproval");
                                // return Content(result[1]);
                            }
                        }
                        else
                        {
                            TempData["ErrorMessage"]  = "Your Request as been Submitted Successfully ";
                            TempData["TravelRequest"] = updatetravel;

                            SendEmail newmail = new SendEmail();
                            newmail.sendEmail(updatetravel.travel_request.Accountdetails.Account_Name,
                                              updatetravel.travel_request.Accountdetails.AccountNo,
                                              updatetravel.travel_request.StaffProfile.StaffNo,
                                              updatetravel.travel_request.StaffProfile.StaffName,
                                              updatetravel.travel_request.StaffProfile.jobtitle,
                                              updatetravel.travel_request.Action,
                                              updatetravel.travel_request.Comment,
                                              updatetravel.travel_request.ApprovalStage,
                                              updatetravel.travel_request.Date_Submitted.ToString(),
                                              updatetravel.travel_request.StaffProfile.Email,
                                              updatetravel.travel_request.StaffProfile.StaffNo,
                                              updatetravel.travel_request.StaffProfile.StaffName);
                            //return RedirectToAction("ExplodeTravelrequest");
                            if (updatetravel.travel_request.Action != "Deny")
                            {
                                TempData["ErrorMessage"] = "You have Successfully Approved the request";
                            }
                            else
                            {
                                TempData["ErrorMessage"] = "You have Successfully Denied the request";
                            }

                            TempData["Key"] = "Approval";
                            //return RedirectToAction("AwaitingApproval");
                        }
                    }
                    //return View();
                    //TempData["Key"] = "Approval";
                    //return RedirectToAction("AwaitingApproval");
                }
            }
            catch (Exception ex)
            {
                TempData["ErrorMessage"] = ex.Message;
                TempData["Key"]          = "Approval";
                return(RedirectToAction("AwaitingApproval"));
            }

            return(RedirectToAction("AwaitingApproval"));
        }
        public ActionResult Update(TravelCards updatetravel)
        {
            try
            {
                StaffADProfile staffADProfile = new StaffADProfile();

                // staffADProfile.user_logon_name = User.Identity.Name;
                CurrentUser currentuser = new CurrentUser();
                staffADProfile.user_logon_name = User.Identity.Name;

                ActiveDirectoryQuery activeDirectoryQuery = new ActiveDirectoryQuery(staffADProfile);

                staffADProfile        = activeDirectoryQuery.GetStaffProfile();
                currentuser.UserNo    = staffADProfile.employee_number;
                currentuser.UserName  = new AppClass().getProfile(currentuser.UserNo).StaffName;
                currentuser.logonName = staffADProfile.user_logon_name;
                currentuser.Email     = staffADProfile.email;
                bool checkApprover = new AppClass().ValidateCurrentUser(currentuser);

                if (!checkApprover)
                {
                    TempData["ErrorMessage"]  = "You are not authorize to Perform these operation";
                    TempData["TravelRequest"] = updatetravel;
                    return(RedirectToAction("ExplodeTravelrequest"));
                }
                else
                {
                    var      MyTravelApproval = new AppClass().updateDBRequest(updatetravel, currentuser, "TravelConnection");
                    string[] result           = MyTravelApproval.ToString().Split('|');

                    if (result[0] != "0")
                    {
                        if (result[0] == "2627")
                        {
                            // return Content("Unable to Submit \n Duplicate record");
                            TempData["ErrorMessage"]  = "Unable to Submit \n Duplicate record";
                            TempData["TravelRequest"] = updatetravel;
                            return(RedirectToAction("ExplodeTravelrequest"));
                        }
                        else
                        {
                            TempData["ErrorMessage"]  = result[1];
                            TempData["TravelRequest"] = updatetravel;
                            return(RedirectToAction("ExplodeTravelrequest"));
                            // return Content(result[1]);
                        }
                    }
                    else
                    {
                        TempData["ErrorMessage"]  = "Your Request as been Submitted Successfully ";
                        TempData["TravelRequest"] = updatetravel;

                        SendEmail newmail = new SendEmail();
                        newmail.sendEmail(updatetravel.travel_request.Accountdetails.Account_Name,
                                          updatetravel.travel_request.Accountdetails.AccountNo,
                                          updatetravel.travel_request.StaffProfile.StaffNo,
                                          updatetravel.travel_request.StaffProfile.StaffName,
                                          updatetravel.travel_request.StaffProfile.jobtitle,
                                          updatetravel.travel_request.Action,
                                          updatetravel.travel_request.Comment,
                                          updatetravel.travel_request.ApprovalStage,
                                          updatetravel.travel_request.Date_Submitted.ToString(),
                                          updatetravel.travel_request.StaffProfile.Email,
                                          updatetravel.travel_request.StaffProfile.StaffNo,
                                          updatetravel.travel_request.StaffProfile.StaffName);
                        //return RedirectToAction("ExplodeTravelrequest");
                        if (updatetravel.travel_request.Action != "Deny")
                        {
                            TempData["ErrorMessage"] = "You have Successfully Approved the request";
                        }
                        else
                        {
                            TempData["ErrorMessage"] = "You have Successfully Denied the request";
                        }

                        TempData["Key"] = "Approval";
                        return(RedirectToAction("AwaitingApproval"));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Content(ex.Message));
            }
        }