Beispiel #1
0
        public static StatisticList GetStatistics(int packageID)
        {
            StatisticList statList = new StatisticList();

            SortedDictionary <string, string> customerList =
                new SortedDictionary <string, string>();

            SAPEventAttendeeAgencyMapReadWrite eventTrip =
                new SAPEventAttendeeAgencyMapReadWrite(Config._dbConnectionName);

            #region get statistic
            using (SAPDataReaderEventAttendeeAgencyMap rdrTrip =
                       eventTrip.ReaderSelectByPackageID(packageID))
            {
                if (rdrTrip.DataReader != null &&
                    rdrTrip.DataReader.HasRows)
                {
                    SAPFlightTrip flightTrip =
                        new SAPFlightTrip(Config.SAPUserName, Config.SAPPassword);
                    while (rdrTrip.DataReader.Read())
                    {
                        if (flightTrip.GetList(
                                rdrTrip.CustomerNumber.Trim(),
                                rdrTrip.AgencyNumber.Trim()))
                        {
                            BAPISTRDAT[] _bapiFlightTripList =
                                flightTrip._bapiFlightTripList;

                            foreach (BAPISTRDAT _bapiFlightTrip in _bapiFlightTripList)
                            {
                                if (_bapiFlightTrip.TRIPNUMBER != rdrTrip.TripNumber.Trim())
                                {
                                    continue;
                                }
                                statList.AdultAgeStat  += _bapiFlightTrip.NUMADULT;
                                statList.ChildAgeStat  += _bapiFlightTrip.NUMCHILD;
                                statList.InfantAgeStat += _bapiFlightTrip.NUMINFANT;
                                switch (_bapiFlightTrip.CLASS)
                                {
                                case "Y":
                                    statList.FirstClassStat++;
                                    break;

                                case "C":
                                    statList.BusinessClassStat++;
                                    break;

                                case "F":
                                    statList.EconomyClassStat++;
                                    break;
                                }
                            }
                        }
                    }// while (rdrTrip.DataReader.Read());
                }
            }
            #endregion

            return(statList);
        }
Beispiel #2
0
        private void buttonTicket_Click(object sender, RibbonControlEventArgs e)
        {
            PseudoProgressForm progress = new PseudoProgressForm();

            progress.ProgressLabel = "Querying SAP...";
            BackgroundWorker backgroundWorker = new BackgroundWorker();
            TicketSales      ticketDataset    = new TicketSales();

            backgroundWorker.DoWork +=
                delegate(object workSender, DoWorkEventArgs eventArg)
            {
                TicketSales.TicketSaleDataTable ticketSaleDataTable =
                    ticketDataset.TicketSale;

                SAPEventAttendeeAgencyMapReadWrite attendeeAgency =
                    new SAPEventAttendeeAgencyMapReadWrite(Config._dbConnectionName);

                SAPRefTravelAgencyReadWrite travelAgency =
                    new SAPRefTravelAgencyReadWrite(Config._dbConnectionName);

                //get all agencies where client booked flights to
                Dictionary <string, string> agencyList = new Dictionary <string, string>();
                using (SAPDataReaderEventAttendeeAgencyMap reader =
                           attendeeAgency.ReaderSelectAll())
                {
                    if (reader.DataReader.HasRows)
                    {
                        while (reader.DataReader.Read())
                        {
                            if (!agencyList.ContainsKey(reader.AgencyNumber))
                            {
                                string agencyName = string.Empty;
                                using (SAPDataReaderRefTravelAgency travelReader =
                                           travelAgency.ReaderSelectByAgencyNumber(reader.AgencyNumber))
                                {
                                    travelReader.DataReader.Read();
                                    agencyName = travelReader.AgencyName;
                                }

                                agencyList.Add(
                                    reader.AgencyNumber,
                                    agencyName);
                            }
                        }
                    }
                }

                SAPFlightTrip flightTripHelper =
                    new SAPFlightTrip(Config.SAPUserName, Config.SAPPassword);

                SAPFlightConnection flightConnectionHelper =
                    new SAPFlightConnection(Config.SAPUserName, Config.SAPPassword);

                foreach (KeyValuePair <string, string> agency in agencyList)
                {
                    TicketSales.TicketSaleRow ticketSaleRow =
                        ticketSaleDataTable.NewTicketSaleRow();

                    ticketSaleRow.AgencyName       = agency.Value;
                    ticketSaleRow.TicketsSold      = 0;
                    ticketSaleRow.TotalTicketPrice = 0;

                    flightTripHelper.GetList(string.Empty, agency.Key);

                    foreach (SAPServices.SAP_FLIGHTTRIPLIST.BAPISTRDAT flightTrip in flightTripHelper._bapiFlightTripList)
                    {
                        flightConnectionHelper.GetDetail(
                            flightTrip.FLCONN1,
                            flightTrip.FLDATE1,
                            string.Empty,
                            flightTrip.AGENCYNUM);

                        ticketSaleRow.TicketsSold      += 1;
                        ticketSaleRow.TotalTicketPrice += flightConnectionHelper._bapiPrice.PRICE_BUS1;
                    }

                    ticketSaleDataTable.AddTicketSaleRow(ticketSaleRow);
                }
            };

            backgroundWorker.RunWorkerCompleted +=
                delegate(object workSender, RunWorkerCompletedEventArgs eventArg)
            {
                progress.Close();
                progress.Dispose();

                ExcelHelper.LoadExcelSheet(
                    "TicketSalesDistribution",
                    Resources.TicketSalesDistribution,
                    ticketDataset);
            };

            backgroundWorker.RunWorkerAsync();
            progress.ShowDialog();
        }
Beispiel #3
0
        public static StatisticList GetStatistics(int packageID)
        {
            StatisticList statList = new StatisticList();

            SortedDictionary <string, int> locationCount =
                new SortedDictionary <string, int>();

            SortedDictionary <string, string> customerList =
                new SortedDictionary <string, string>();

            SAPEventAttendeeAgencyMapReadWrite eventTrip =
                new SAPEventAttendeeAgencyMapReadWrite(Config._dbConnectionName);

            SAPEventAttendeeReadWrite eventAttendee =
                new SAPEventAttendeeReadWrite(Config._dbConnectionName);

            #region get customer list first
            SAPCustomer sapCustomer =
                new SAPCustomer(Config.SAPUserName, Config.SAPPassword);

            if (sapCustomer.GetList())
            {
                foreach (SAPServices.SAP_FLIGHTCUSTOMERLIST.BAPISCUDAT customerItem in sapCustomer._customerList)
                {
                    if (!customerList.ContainsKey(customerItem.CUSTOMERID))
                    {
                        customerList.Add(
                            customerItem.CUSTOMERID,
                            customerItem.CITY);
                    }
                }
            }
            #endregion

            #region get statistic
            using (SAPDataReaderEventAttendeeAgencyMap rdrTrip =
                       eventTrip.ReaderSelectByPackageID(packageID))
            {
                if (rdrTrip.DataReader != null &&
                    rdrTrip.DataReader.HasRows)
                {
                    SAPFlightTrip flightTrip =
                        new SAPFlightTrip(Config.SAPUserName, Config.SAPPassword);
                    while (rdrTrip.DataReader.Read())
                    {
                        if (flightTrip.GetList(
                                rdrTrip.CustomerNumber.Trim(),
                                rdrTrip.AgencyNumber.Trim()))
                        {
                            SAPServices.SAP_FLIGHTTRIPLIST.BAPISTRDAT[] _bapiFlightTripList =
                                flightTrip._bapiFlightTripList;

                            foreach (SAPServices.SAP_FLIGHTTRIPLIST.BAPISTRDAT _bapiFlightTrip in _bapiFlightTripList)
                            {
                                if (_bapiFlightTrip.TRIPNUMBER != rdrTrip.TripNumber.Trim())
                                {
                                    continue;
                                }
                                statList.AdultAgeStat  += _bapiFlightTrip.NUMADULT;
                                statList.ChildAgeStat  += _bapiFlightTrip.NUMCHILD;
                                statList.InfantAgeStat += _bapiFlightTrip.NUMINFANT;
                                switch (_bapiFlightTrip.CLASS)
                                {
                                case "Y":
                                    statList.FirstClassStat++;
                                    break;

                                case "C":
                                    statList.BusinessClassStat++;
                                    break;

                                case "F":
                                    statList.EconomyClassStat++;
                                    break;
                                }
                            }
                        }
                    } //while (rdrTrip.DataReader.Read());
                }
            }
            #endregion

            using (SAPDataReaderEventAttendee rdrEventAttendee =
                       eventAttendee.ReaderSelectByPackageID(packageID))
            {
                if (rdrEventAttendee.DataReader != null &&
                    rdrEventAttendee.DataReader.HasRows)
                {
                    while (rdrEventAttendee.DataReader.Read())
                    {
                        //location demographics
                        if (customerList.ContainsKey(rdrEventAttendee.CustomerNumber.Trim()))
                        {
                            string location = customerList[rdrEventAttendee.CustomerNumber.Trim()].ToUpper();

                            if (locationCount.ContainsKey(location))
                            {
                                locationCount[location]++;
                            }
                            else
                            {
                                locationCount.Add(location, 1);
                            }
                        }
                    } //while (rdrEventAttendee.DataReader.Read());
                }
            }

            Population populate = null;

            if (locationCount.Count > 0)
            {
                populate = new Population();

                Population.PopulationTableDataTable dt =
                    populate.PopulationTable;

                foreach (KeyValuePair <string, int> kvp in locationCount)
                {
                    dt.AddPopulationTableRow(
                        kvp.Key,
                        kvp.Value);
                }
            }

            statList.LocationStat = populate;

            return(statList);
        }