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()); } } }