public IActionResult RejectRequest(string travelOrderNo)
        {
            PostedTravelOrderViewModel vmObj = new PostedTravelOrderViewModel();

            try
            {
                postedtravelordercard          obj    = new postedtravelordercard();
                postedtravelordercard_Filter[] filter =
                {
                    new postedtravelordercard_Filter
                    {
                        Field    = postedtravelordercard_Fields.Travel_Order_No,
                        Criteria = travelOrderNo
                    }
                };

                obj = Postedtravelordercard_PortClientService()
                      .ReadMultipleAsync(filter, "", 1)
                      .GetAwaiter()
                      .GetResult()
                      .ReadMultiple_Result1
                      .FirstOrDefault();

                vmObj = _mapper.Map <PostedTravelOrderViewModel>(obj);
            }
            catch (Exception ex)
            {
                TempData["Notify"] = JsonConvert.SerializeObject(new Notify {
                    title = "Exception Error", text = ex.Message, type = "error"
                });
            }
            Config config = ConfigJSON.Read();

            ViewBag.IsForRemit = config.Default_Config.IsForRemit;
            return(View(vmObj));
        }
        public IActionResult RejectRequest(PostedTravelOrderViewModel vmObj)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var    obj       = _mapper.Map <postedtravelordercard>(vmObj);
                    Update updateObj = new Update {
                        postedtravelordercard = obj
                    };

                    var result = Postedtravelordercard_PortClientService()
                                 .UpdateAsync(updateObj)
                                 .GetAwaiter()
                                 .GetResult()
                                 .postedtravelordercard;

                    if (result != null)
                    {
                        var postResult = Hrmgt_PortClientService()
                                         .RejecttravelorderwebAsync(result.Travel_Order_No)
                                         .GetAwaiter()
                                         .GetResult()
                                         .return_value;

                        if (postResult == 200)
                        {
                            TempData["Notify"] = JsonConvert.SerializeObject(new Notify {
                                title = "Reject Travel Order", text = "Travel Request rejected successfully.", type = "success"
                            });
                            return(RedirectToAction(nameof(Index)));
                        }
                        else
                        {
                            TempData["Notify"] = JsonConvert.SerializeObject(new Notify {
                                title = "Reject Travel Order", text = "Reject details saved but rejection failed.", type = "error"
                            });
                        }
                    }
                    else
                    {
                        TempData["Notify"] = JsonConvert.SerializeObject(new Notify {
                            title = "Reject Travel Order", text = "Posting reject details failed.", type = "error"
                        });
                    }
                }
                else
                {
                    TempData["Notify"] = JsonConvert.SerializeObject(new Notify {
                        title = "Reject Travel Order", text = "Validation Error. Try Again.", type = "error"
                    });
                }
            }
            catch (Exception ex)
            {
                TempData["Notify"] = JsonConvert.SerializeObject(new Notify {
                    title = "Exception Error", text = ex.Message, type = "error"
                });
            }
            return(RedirectToAction(nameof(RejectRequest), new { travelOrderNo = vmObj.Travel_Order_No }));
        }
        public IActionResult RecommendRequest(PostedTravelOrderViewModel vmObj)
        {
            try
            {
                ModelState.Remove("Rejection_Remarks");
                if (ModelState.IsValid)
                {
                    var obj = _mapper.Map <postedtravelordercard>(vmObj);
                    obj.Local_Transportation_NrsSpecified = true;
                    obj.Fuel_NrsSpecified           = true;
                    obj.Other_Expenses_NrsSpecified = true;

                    Update updateObj = new Update
                    {
                        postedtravelordercard = obj
                    };

                    var result = Postedtravelordercard_PortClientService()
                                 .UpdateAsync(updateObj)
                                 .GetAwaiter()
                                 .GetResult()
                                 .postedtravelordercard;

                    if (result != null)
                    {
                        var postResult = Hrmgt_PortClientService()
                                         .RecommendtravelorderewebAsync(result.Travel_Order_No)
                                         .GetAwaiter()
                                         .GetResult()
                                         .return_value;

                        if (postResult == 200)
                        {
                            TempData["Notify"] = JsonConvert.SerializeObject(new Notify {
                                title = "Recommend Travel Order", text = "Travel Request recommended successfully.", type = "success"
                            });
                            return(RedirectToAction(nameof(Index)));
                        }
                        else
                        {
                            TempData["Notify"] = JsonConvert.SerializeObject(new Notify {
                                title = "Recommend Travel Order", text = "Updating travel order succeeded but posting recommendation failed.", type = "error"
                            });
                        }
                    }
                    else
                    {
                        TempData["Notify"] = JsonConvert.SerializeObject(new Notify {
                            title = "Recommend Travel Order", text = "Updating travel order fields failed.", type = "error"
                        });
                    }
                }
                else
                {
                    TempData["Notify"] = JsonConvert.SerializeObject(new Notify {
                        title = "Recommend Travel Order", text = "Validation Error. Try Again.", type = "error"
                    });
                }
            }
            catch (Exception ex)
            {
                TempData["Notify"] = JsonConvert.SerializeObject(new Notify {
                    title = "Exception Error", text = ex.Message, type = "error"
                });
            }
            return(RedirectToAction(nameof(RecommendRequest), new { travelOrderNo = vmObj.Travel_Order_No }));
        }