Example #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);
        }
        private void CreateEventSlide()
        {
            Slide slide;
            Shape pictureShape;
            Table table;

            //get statistics

            PseudoProgressForm progress = new PseudoProgressForm();

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

            backgroundWorker.DoWork +=
                delegate(object sender, DoWorkEventArgs e)
            {
                statList = FlightDetail.GetStatistics(_packageID);
            };
            backgroundWorker.RunWorkerCompleted +=
                delegate(object sender, RunWorkerCompletedEventArgs e)
            {
                progress.Close();
                progress.Dispose();
            };

            backgroundWorker.RunWorkerAsync();
            progress.ShowDialog();

            SAPPackageEventReadOnly eventReadOnly =
                new SAPPackageEventReadOnly(Config._dbConnectionName);

            using (SAPDataReaderPackageEvent rdrEvent =
                       eventReadOnly.ReaderSelectByPackageID(_packageID))
            {
                if (rdrEvent.DataReader != null &&
                    rdrEvent.DataReader.HasRows)
                {
                    while (rdrEvent.DataReader.Read())
                    {
                        string posterEventFile = string.Empty;
                        posterEventFile =
                            Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures),
                                         "PackageImage" +
                                         _packageID.ToString() +
                                         "_" +
                                         rdrEvent.EventID.ToString() +
                                         ".jpg");

                        ByteToFile(rdrEvent.EventPhoto, posterEventFile);

                        #region event slide

                        slide = DuplicateSlide(slides[SlideTemplate.EventSlide]);

                        //event name
                        slide.Shapes[5].TextFrame.TextRange.Text = rdrEvent.EventName;

                        //event description
                        slide.Shapes[6].TextFrame.TextRange.Text = rdrEvent.EventDescription;

                        //event date
                        slide.Shapes[8].TextFrame.TextRange.Text = rdrEvent.EventDate.ToString("MM/dd/yyyy hh:mmtt");

                        //venue name + city
                        slide.Shapes[7].TextFrame.TextRange.Text = rdrEvent.VenueCity + ", " + rdrEvent.VenueState;

                        //event posters
                        slide.Shapes[2].Delete();
                        if (File.Exists(posterEventFile))
                        {
                            pictureShape = slide.Shapes.AddPicture(
                                posterEventFile,
                                MsoTriState.msoFalse,
                                MsoTriState.msoCTrue, imageLeft, imageTop, imageWidth, imageHeight);
                            pictureShape.ZOrder(MsoZOrderCmd.msoSendToBack);
                        }
                        #endregion

                        //create sports actor

                        //create pricing
                        slide = DuplicateSlide(slides[SlideTemplate.EventPricingSlide]);
                        table = slide.Shapes[4].Table;
                        if (table.Rows.Count == 4 && table.Columns.Count == 2)
                        {
                            table.Cell(2, 2).Shape.TextFrame.TextRange.Text = rdrEvent.GoldPackagePrice.ToString("c");
                            table.Cell(3, 2).Shape.TextFrame.TextRange.Text = rdrEvent.SilverPackagePrice.ToString("c");
                            table.Cell(4, 2).Shape.TextFrame.TextRange.Text = rdrEvent.BronzePackagePrice.ToString("c");
                            slide.Shapes[1].Delete();
                            if (File.Exists(posterEventFile))
                            {
                                pictureShape = slide.Shapes.AddPicture(
                                    posterEventFile,
                                    MsoTriState.msoFalse,
                                    MsoTriState.msoCTrue, imageLeft, imageTop, imageWidth, imageHeight);
                                pictureShape.ZOrder(MsoZOrderCmd.msoSendToBack);
                            }
                        }
                        else
                        {
                            slide.Delete();
                        }
                    } //while (rdrEvent.DataReader.Read());
                }
            }
        }