public int ApproveOatBookingRequest(OatTravelRequestApprovalModel travelRequestApprovalModels)
        {
            var c = _context.OatTravelRequestApprovalModel.Where(o => o.TravelRequestId == travelRequestApprovalModels.TravelRequestId).ToList();

            if (c.Count() > 0)
            {
                return(1);
            }

            _context.OatTravelRequestApprovalModel.Add(travelRequestApprovalModels);
            var s = _context.SaveChanges();

            return(s);
        }
        /// <summary>
        /// To save Reject Booking Request
        /// </summary>
        /// <param name="travelRequestApprovalModels"></param>
        /// <returns></returns>
        public int RejectOatBookingRequest(OatTravelRequestApprovalModel trApprovalModels)
        {
            var s = 0;
            //For Travel Request Approval
            var updateItem = _context.OatTravelRequestApprovalModel.Where(o => o.TravelRequestId == trApprovalModels.TravelRequestId).ToList();

            if (updateItem.Count() > 0)
            {
                foreach (var p in updateItem)
                {
                    p.ApprovalStatus  = trApprovalModels.ApprovalStatus;
                    p.ApprovedByEmpId = trApprovalModels.ApprovedByEmpId;
                    p.ApprovalDate    = System.DateTime.Now;
                    p.Comment         = trApprovalModels.Comment;
                }
            }
            else
            {
                _context.OatTravelRequestApprovalModel.Add(trApprovalModels);
            }
            return(_context.SaveChanges());
        }
示例#3
0
        /// <summary>
        /// Approve Booking Request for HOD
        /// </summary>
        /// <param name="travelReqId"></param>
        /// <returns></returns>
        public string ApproveOatBookingRequest(string travelReqId)
        {
            var jsonmsg      = string.Empty;
            var approvalList = new OatTravelRequestApprovalModel()
            {
                TravelRequestId        = Convert.ToInt32(travelReqId.Split(',')[0]), //Travel Request
                ApprovedByEmpId        = Convert.ToInt32(travelReqId.Split(',')[1]), //Employee Id of approver
                ApprovalStatus         = 1,
                IsMandatoryTravel      = 0,                                          // Convert.ToInt32(travelReqId.Split(',')[5]), //Is Mandatory Travel
                ApprovalDate           = System.DateTime.Now,
                Comment                = "Approved from HOD",
                ApprovedByEmpIdCLevel1 = 0,
                ApprovedByEmpIdCLevel2 = 0,
                ApprovalStatusCLevel1  = 0,
                ApprovalStatusCLevel2  = 0,
                CLevelComment1         = "",
                CLevelComment2         = "",
                CLevelAppDate1         = DateTime.Parse("01/01/1900"),
                CLevelAppDate2         = DateTime.Parse("01/01/1900"),
                RevenueApprovedStatus  = 0,
                RevenueApprovedDate    = DateTime.Parse("01/01/1900")
            };

            //Check Duplicate PNR
            //var chkpnr = Services.ADO.SodCommonServices.CheckDuplicatePNR(Convert.ToInt64(travelReqId.Split(',')[0]), 1);
            //if (!chkpnr.Equals("0"))
            //{
            //    return "Sorry : PNR has already generated for this booking request. Existing PNR No. :" + chkpnr;
            //}

            var s = _oatApproverRepositorty.ApproveOatBookingRequest(approvalList);

            if (s >= 1)
            {
                //Close Booking Request
                var trRequestMaster = new OALTravelRequestMasterModel()
                {
                    TravelRequestId = Convert.ToInt64(travelReqId.Split(',')[0]),
                    BookingStatus   = "Approved",
                    StatusDate      = System.DateTime.Now
                };
                var c = _oatApproverRepositorty.CloseOatBookingRequest_HOD(trRequestMaster);

                //Get Booking Request Data for Email Notification
                var sodRequestsList = new List <OALTravelRequestMasterModel>();
                var sodflightList   = new List <OALModels>();
                var sodPassList     = new List <OALPassengerModel>();
                var sodhotelList    = new List <OALHotelModel>();
                var dicList         = new Dictionary <string, object>();

                dicList         = _oatApproverRepositorty.GetOatBookingInfoForPNR(Convert.ToInt32(travelReqId.Split(',')[0]));
                sodRequestsList = dicList["bookingInfo"] as List <OALTravelRequestMasterModel>;
                sodflightList   = dicList["flightInfo"] as List <OALModels>;
                sodPassList     = dicList["passInfo"] as List <OALPassengerModel>;
                sodhotelList    = dicList["hotelInfo"] as List <OALHotelModel>;
                //sodPassMealsList = dicList["mealsInfo"] as List<PassengerMealAllocationModels>;

                //Send Approval Email Notification
                string emailSubject      = "OAT Booking Request Approval Notification from HOD :" + System.DateTime.Now.ToString("dd-MMM-yyyy-hh:mm:ss");
                var    emailTemplateName = "OatBookingRequest_Approval_User.html";

                //Send Email Notification Credentials
                var emailCredentials = EmailCredentials(emailSubject, emailTemplateName, sodRequestsList, sodflightList, sodPassList, sodhotelList, travelReqId);
                emailCredentials.TemplateFilePath = emailCredentials.TemplateFilePath.Replace("[Team]", "HOD");
                EmailNotifications.SendBookingRequestNotificationTo_Requester(emailCredentials, sodRequestsList[0].EmailId.Trim());

                jsonmsg = "Approval Alert for Request No. OAT-" + travelReqId.Split(',')[0] + ": \n Approval process has been completed successfully.";
            }
            return(s >= 1 ? jsonmsg : string.Empty);
        }
示例#4
0
        /// <summary>
        /// Reject Booking Request
        /// </summary>
        /// <param name="travelReqId"></param>
        /// <returns></returns>
        public string RejectOatBookingRequest(string travelReqId)
        {
            var jsonmsg = string.Empty;


            //Initialize list for updating revenue status
            var approvalList = new OatTravelRequestApprovalModel()
            {
                TravelRequestId        = Convert.ToInt32(travelReqId.Split(',')[0]),
                ApprovedByEmpId        = Convert.ToInt32(travelReqId.Split(',')[1]),
                ApprovalStatus         = 2,
                ApprovalDate           = System.DateTime.Now,
                Comment                = "Rejected from HOD",
                ApprovedByEmpIdCLevel1 = 0,
                ApprovedByEmpIdCLevel2 = 0,
                ApprovalStatusCLevel1  = 0,
                ApprovalStatusCLevel2  = 0,
                CLevelComment1         = "",
                CLevelComment2         = "",
                CLevelAppDate1         = DateTime.Parse("01/01/1900"),
                CLevelAppDate2         = DateTime.Parse("01/01/1900"),
                RevenueApprovedStatus  = 0,
                RevenueApprovedDate    = DateTime.Parse("01/01/1900")
            };
            var s = _oatApproverRepositorty.RejectOatBookingRequest(approvalList);

            if (s >= 1)
            {
                //Close Booking Request
                var trRequestMaster = new OALTravelRequestMasterModel()
                {
                    TravelRequestId = Convert.ToInt32(travelReqId.Split(',')[0]),
                    BookingStatus   = "Rejected by HOD",
                    StatusDate      = System.DateTime.Now
                };
                var c = _oatApproverRepositorty.CloseOatBookingRequest_HOD(trRequestMaster);

                //Get Booking Request Data for Email Notification
                var sodRequestsList = new List <OALTravelRequestMasterModel>();
                var sodflightList   = new List <OALModels>();
                var sodPassList     = new List <OALPassengerModel>();
                var sodhotelList    = new List <OALHotelModel>();
                var dicList         = new Dictionary <string, object>();

                dicList         = _oatApproverRepositorty.GetOatBookingInfoForPNR(Convert.ToInt32(travelReqId.Split(',')[0]));
                sodRequestsList = dicList["bookingInfo"] as List <OALTravelRequestMasterModel>;
                sodflightList   = dicList["flightInfo"] as List <OALModels>;
                sodPassList     = dicList["passInfo"] as List <OALPassengerModel>;
                sodhotelList    = dicList["hotelInfo"] as List <OALHotelModel>;
                //sodPassMealsList = dicList["mealsInfo"] as List<PassengerMealAllocationModels>;
                //string bookingType = sodRequestsList[0].SodBookingTypeId == 1 ? "SOD" : "NON-SOD";

                //Send Rejection Email Notification
                string emailSubject      = "OAT Booking Request Rejection Notification from HOD :" + System.DateTime.Now.ToString("dd-MMM-yyyy-hh:mm:ss");
                var    emailTemplateName = "OatBookingRequest_Rejection_User.html";

                //Send Email Notification Credentials
                var emailCredentials = EmailCredentials(emailSubject, emailTemplateName, sodRequestsList, sodflightList, sodPassList, sodhotelList, travelReqId);
                emailCredentials.TemplateFilePath = emailCredentials.TemplateFilePath.Replace("[Team]", "HOD");
                EmailNotifications.SendBookingRequestNotificationTo_Requester(emailCredentials, sodRequestsList[0].EmailId.Trim());

                jsonmsg = "Rejection Alert for Request No. OAT-" + travelReqId.Split(',')[0] + ": \n Rejection process has been completed successfully.";
            }
            return(s >= 1 ? jsonmsg : string.Empty);
        }