public IEnumerable <TicketCappingModel> GetList()
        {
            List <TicketCappingModel> data = new List <TicketCappingModel>();

            Abacus.Ticketing.TicketIssueManager manager = new Abacus.Ticketing.TicketIssueManager();

            var collection = manager.GetTLMTable(null);

            foreach (var item in collection)
            {
                TicketCappingModel temp = new TicketCappingModel();
                temp.AirlineCode = item.Carrier;
                temp.MaxValue    = item.MaximumLimit;
                temp.MinValue    = item.MinimumLimit;
                temp.RemainValue = item.Remaining;
                data.Add(temp);
            }
            return(data.AsEnumerable());
        }
Example #2
0
        //public bool IssueTicket(Int64 PNRId, int UserId)
        //{
        //    string GDSRefNo = ent.PNRs.Where(x => x.PNRId == PNRId).FirstOrDefault().GDSRefrenceNumber;
        //    Abacus.Ticketing.TicketIssueManager manager = new Abacus.Ticketing.TicketIssueManager();
        //    try
        //    {
        //        var retriveData = BookingManager.RetrievePNR(GDSRefNo);

        //        if (string.IsNullOrEmpty(retriveData.PassengerList.FirstOrDefault().TicketNumber))
        //        {
        //            retriveData = manager.IssueTicket(GDSRefNo, (decimal)0);
        //        }

        //        int TicketStatusId = ent.PNRs.Where(x => x.PNRId == PNRId).FirstOrDefault().TicketStatusId;

        //        if (TicketStatusId != 4)
        //        {
        //            var dbPassengerList = ent.Passengers.Where(x => x.PNRId == PNRId && x.isDeleted == false).ToArray();
        //            int paxCounter = 0;
        //            foreach (var item in retriveData.PassengerList)
        //            {
        //                Passengers pass = dbPassengerList.ElementAt(paxCounter);
        //                pass.TicketNumber = item.TicketNumber;

        //                ent.ApplyCurrentValues(pass.EntityKey.EntitySetName, pass);
        //                ent.SaveChanges();
        //                paxCounter++;
        //            }
        //            ent.Air_IssueTickets(PNRId, UserId);
        //        }
        //        return true;
        //    }
        //    catch (GDS.GDSException ex)
        //    {

        //        throw ex;
        //    }
        //    catch (Exception ex)
        //    {

        //        throw ex;
        //    }
        //}


        public bool IssueTicket(Int64 PNRId, int UserId)
        {
            var result = ent.PNRs.Where(x => x.PNRId == PNRId).FirstOrDefault();

            if (result != null)
            {
                string GDSRefNo = result.GDSRefrenceNumber;
                Abacus.Ticketing.TicketIssueManager manager = new Abacus.Ticketing.TicketIssueManager();
                try
                {
                    var retriveData = BookingManager.RetrievePNR(GDSRefNo, null);

                    if (string.IsNullOrEmpty(retriveData.PassengerList.FirstOrDefault().TicketNumber))
                    {
                        retriveData = manager.IssueTicket(GDSRefNo, (decimal)0);
                    }

                    int TicketStatusId = ent.PNRs.Where(x => x.PNRId == PNRId).FirstOrDefault().TicketStatusId;

                    if (TicketStatusId != 4)
                    {
                        var dbPassengerList = ent.Passengers.Where(x => x.PNRId == PNRId && x.isDeleted == false).ToArray();
                        int paxCounter      = 0;
                        foreach (var item in retriveData.PassengerList)
                        {
                            Passengers pass = dbPassengerList.ElementAt(paxCounter);
                            pass.TicketNumber = item.TicketNumber;

                            ent.ApplyCurrentValues(pass.EntityKey.EntitySetName, pass);
                            ent.SaveChanges();
                            paxCounter++;
                        }
                        ent.Air_IssueTickets(PNRId, UserId);
                    }
                    return(true);
                }
                catch (GDS.GDSException ex)
                {
                    throw ex;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                string GDSRefNo = ent.TBO_PNRs.Where(x => x.MPNRId == PNRId).FirstOrDefault().RecLoc;
                Abacus.Ticketing.TicketIssueManager manager = new Abacus.Ticketing.TicketIssueManager();
                try
                {
                    var retriveData = BookingManager.RetrievePNR(GDSRefNo, null);

                    if (string.IsNullOrEmpty(retriveData.PassengerList.FirstOrDefault().TicketNumber))
                    {
                        retriveData = manager.IssueTicket(GDSRefNo, (decimal)0);
                    }

                    int TicketStatusId = ent.TBO_MasterPNRs.Where(x => x.MPNRId == PNRId).FirstOrDefault().TicketStatusId;

                    if (TicketStatusId != 4 || TicketStatusId != 16 || TicketStatusId != 19)
                    {
                        var dbPassengerList = ent.TBO_Passengers.Where(x => x.MPNRId == PNRId && x.IsDeleted == false).ToArray();
                        int paxCounter      = 0;
                        foreach (var item in retriveData.PassengerList)
                        {
                            TBO_Passengers pass    = dbPassengerList.ElementAt(paxCounter);
                            TBO_PNRTickets tickets = pass.TBO_PNRTickets.FirstOrDefault();

                            tickets.TicketNumber = item.TicketNumber;

                            ent.ApplyCurrentValues(tickets.EntityKey.EntitySetName, tickets);
                            ent.SaveChanges();
                            paxCounter++;
                        }
                        ent.TBO_Air_IssueTickets(PNRId, UserId);
                    }
                    return(true);
                }
                catch (GDS.GDSException ex)
                {
                    throw ex;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }