private void GetEventList() { _sourceEventList = new List <AssociatedEventList>(); SAPEventReadWrite eventRW = new SAPEventReadWrite(Config._dbConnectionName); using (SAPDataReaderEvent readerEvent = eventRW.ReaderSelectAll()) { if (readerEvent.DataReader != null && readerEvent.DataReader.HasRows) { while (readerEvent.DataReader.Read()) { AssociatedEventList item = new AssociatedEventList(); item.EventID = readerEvent.EventID; item.EventName = readerEvent.EventName; item.EventDate = readerEvent.EventDate; item.EventGoldPrice = readerEvent.GoldPackagePrice; item.EventSilverPrice = readerEvent.SilverPackagePrice; item.EventBronzePrice = readerEvent.BronzePackagePrice; item.EventVenue = readerEvent.VenueName; _sourceEventList.Add(item); } //while (readerEvent.DataReader.Read()); } } comboBoxName.DataSource = _sourceEventList; comboBoxName.DisplayMember = "EventName"; comboBoxName.ValueMember = "EventID"; }
private AssociatedEventList GetItem(int eventID) { if (_eventList == null) { _eventList = new Dictionary <int, AssociatedEventList>(); SAPEventReadWrite eventRW = new SAPEventReadWrite(Config._dbConnectionName); using (SAPDataReaderEvent readerEvent = eventRW.ReaderSelectAll()) { if (readerEvent.DataReader != null && readerEvent.DataReader.HasRows) { while (readerEvent.DataReader.Read()) { AssociatedEventList item = new AssociatedEventList(); item.EventID = readerEvent.EventID; item.EventName = readerEvent.EventName; item.EventGoldPrice = readerEvent.GoldPackagePrice; item.EventSilverPrice = readerEvent.SilverPackagePrice; item.EventBronzePrice = readerEvent.BronzePackagePrice; _eventList.Add(item.EventID, item); } //while (readerEvent.DataReader.Read()); } } } if (_eventList.ContainsKey(eventID)) { return(_eventList[eventID]); } return(null); }
private void PopulateEvents() { SAPEventReadWrite mEvent = new SAPEventReadWrite(Config._dbConnectionName); _eventData = mEvent.SelectAll(); }
public static bool AreEventsOutdated() { SAPEventReadWrite eventRW = new SAPEventReadWrite(Config._dbConnectionName); SAPDataSetEvent eventDataSet = eventRW.SelectAll(); SAPDataSetEvent.EventRow[] eventRows = (SAPDataSetEvent.EventRow[]) eventDataSet.Event.Select("EventDate >'" + DateTime.Now + "'"); if (eventRows.Length > 0) { return(false); } else { return(true); } }
private DateTime[] GetEventSchedules() { SAPEventReadWrite mEvent = new SAPEventReadWrite(Config._dbConnectionName); DateTime[] schedules = new DateTime[_eventData.Event.Rows.Count]; int i = 0; foreach (SAPDataSetEvent.EventRow row in _eventData.Event.Rows) { schedules[i] = row.EventDate; i++; } return(schedules); }
private void buttonDelete_Click(object sender, EventArgs e) { if (_eventCurrentIndex >= 0) { if (_sourceEvents.Count > 0) { EventList deletedEvent = _sourceEvents[_eventCurrentIndex]; if (deletedEvent.EventDeleteTag) { return; } SAPPackageEventMapReadWrite eventMapRW = new SAPPackageEventMapReadWrite(Config._dbConnectionName); if (eventMapRW.SelectByEventID( deletedEvent.EventID).PackageEventMap.Rows.Count > 0) { Message.DisplayMessage("Unable to delete. " + "Event is currently associated with a package."); return; } if (Message.DeleteMessage( deletedEvent.EventName) == DialogResult.Yes) { SAPEventReadWrite eventRW = new SAPEventReadWrite(Config._dbConnectionName); eventRW.Delete(deletedEvent.EventID); _sourceEvents.RemoveAt(_eventCurrentIndex); dataGridViewEvent.RowCount = _sourceEvents.Count; } } } }
private void VenueForm_Load(object sender, EventArgs e) { #region create grid SAPEventReadWrite eventRW = new SAPEventReadWrite(Config._dbConnectionName); SAPVenueReadWrite venueRW = new SAPVenueReadWrite(Config._dbConnectionName); _dtVenue = new DataTable(); //_dtVenue.Columns.Add("EditIco", typeof(byte[])); //_dtVenue.Columns.Add("DelIco", typeof(byte[])); _dtVenue.Columns.Add("VenueID", typeof(int)); _dtVenue.Columns.Add("VenueName", typeof(string)); _dtVenue.Columns.Add("VenueDescription", typeof(string)); _dtVenue.Columns.Add("VenueStreet", typeof(string)); _dtVenue.Columns.Add("VenueCity", typeof(string)); _dtVenue.Columns.Add("VenueState", typeof(string)); _dtVenue.Columns.Add("VenuePostalCode", typeof(string)); _dtVenue.Columns.Add("VenueGeographicMap", typeof(byte[])); _dtVenue.Columns.Add("VenueFacilityMap", typeof(byte[])); _dtVenue.Columns.Add("VenueImage", typeof(byte[])); _dtVenue.Columns.Add("EditTag", typeof(bool)); _dtVenue.Columns.Add("DelTag", typeof(bool)); //byte[] editIco = UtilityHelper.BitmapToByte(Resources.icoedit); //byte[] delIco = UtilityHelper.BitmapToByte(Resources.icodelete); //byte[] editDisableIco = UtilityHelper.BitmapToByte(Resources.icoedit_disabled); //byte[] delDisableIco = UtilityHelper.BitmapToByte(Resources.icodelete_disabled); bool editAble = false; bool delAble = false; List <int> usedVenue = new List <int>(); using (SAPDataReaderEvent rdrEvent = eventRW.ReaderSelectAll()) { if (rdrEvent.DataReader != null && rdrEvent.DataReader.HasRows) { while (rdrEvent.DataReader.Read()) { usedVenue.Add(rdrEvent.VenueID); } //while (rdrEvent.DataReader.Read()); } } using (SAPDataReaderVenue rdrVenue = venueRW.ReaderSelectAll()) { if (rdrVenue.DataReader != null && rdrVenue.DataReader.HasRows) { while (rdrVenue.DataReader.Read()) { //byte[] editImage = editIco; //byte[] delImage = delIco; bool tag = usedVenue.Contains(rdrVenue.VenueID); delAble = !tag; editAble = !tag; _dtVenue.Rows.Add( //editImage, //delImage, rdrVenue.VenueID, rdrVenue.VenueName, rdrVenue.VenueDescription, rdrVenue.VenueStreet, rdrVenue.VenueCity, rdrVenue.VenueState, rdrVenue.VenuePostalCode, rdrVenue.VenueGeographicMap, rdrVenue.VenueFacilityMap, rdrVenue.VenueImage, editAble, delAble); } //while (rdrVenue.DataReader.Read()); } } dataGridViewVenue.DataSource = _dtVenue; #endregion #region utilize grid GridHelper.HideColumns( dataGridViewVenue, SAPVenueReadWrite._venueIDColumnName, SAPVenueReadWrite._venueDescriptionColumnName, SAPVenueReadWrite._venueGeographicMapColumnName, SAPVenueReadWrite._venueFacilityMapColumnName, SAPVenueReadWrite._venueImageColumnName, "EditTag", "DelTag"); string[] columns = new string[] { //"EditIco", //"DelIco", SAPVenueReadWrite._venueNameColumnName, SAPVenueReadWrite._venueStreetColumnName, SAPVenueReadWrite._venueCityColumnName, SAPVenueReadWrite._venueStateColumnName, SAPVenueReadWrite._venuePostalCodeColumnName }; string[] titles = new string[] { //"", //"", "Venue", "Street", "City", "State", "Postal Code" }; int[] gridWidth = new int[] { //20, //20, 200, 100, 100, 100, 100 }; GridHelper.SetColumnTitle( dataGridViewVenue, columns, titles); GridHelper.SetWidthColumn( dataGridViewVenue, columns, gridWidth); #endregion mode = EnumFormMode.ViewMode; UtilityHelper.SetToReadOnly(Controls); if (_isChildForm) { mode = EnumFormMode.CallbackAdd; buttonAddSave.Text = "Save"; buttonCancel.Text = "Cancel"; dataGridViewVenue.Enabled = false; UtilityHelper.ClearTextbox(Controls); UtilityHelper.EnableControls(Controls); } }
public static PackageInfo GetPackageInfo() { PackageInfo packageInfoDataset = new PackageInfo(); PackageInfo.PackageDataTable packageInfoPackageDataTable = packageInfoDataset.Package; PackageInfo.EventDataTable packageInfoEventDataTable = packageInfoDataset.Event; PackageInfo.FlightDataTable packageInfoFlightDataTable = packageInfoDataset.Flight; SAPPackageReadWrite package = new SAPPackageReadWrite(Config._dbConnectionName); SAPEventReadWrite events = new SAPEventReadWrite(Config._dbConnectionName); SAPVenueReadWrite venue = new SAPVenueReadWrite(Config._dbConnectionName); SAPPackageEventMapReadWrite packageEventMap = new SAPPackageEventMapReadWrite(Config._dbConnectionName); SAPFlight flightHelper = new SAPFlight( Config.SAPUserName, Config.SAPPassword); SAPDataSetPackage packageDataset = package.SelectAll(); foreach (SAPDataSetPackage.PackageRow packageRow in packageDataset.Package.Rows) { PackageInfo.PackageRow packageInfoPackageRow = packageInfoPackageDataTable.AddPackageRow( packageRow.PackageID, packageRow.PackageName, packageRow.PackageDescription); SAPDataSetPackageEventMap packageEventMapDataset = packageEventMap.SelectByPackageID(packageRow.PackageID); foreach (SAPDataSetPackageEventMap.PackageEventMapRow packageEventMapRow in packageEventMapDataset.PackageEventMap.Rows) { SAPDataSetEvent eventDataset = events.SelectByEventID(packageEventMapRow.EventID); foreach (SAPDataSetEvent.EventRow eventRow in eventDataset.Event.Rows) { PackageInfo.EventRow packageInfoEventRow = packageInfoEventDataTable.AddEventRow( eventRow.EventID, packageInfoPackageRow, eventRow.EventName, eventRow.EventDescription, eventRow.EventDate.ToString(), eventRow.VenueName, 0, 0, 0); string venueCity = string.Empty; using (SAPDataReaderVenue venueReader = venue.ReaderSelectByVenueID(eventRow.VenueID)) { if (venueReader.DataReader.HasRows) { venueReader.DataReader.Read(); venueCity = venueReader.VenueCity.ToUpper(); } } if (venueCity != string.Empty) { flightHelper.GetList(string.Empty, venueCity); foreach (SAPServices.SAP_FLIGHTLIST.BAPISFLDAT flight in flightHelper._flightList) { //flight dates should be between today and before the event date if (Convert.ToDateTime(flight.FLIGHTDATE) > DateTime.Today && Convert.ToDateTime(flight.FLIGHTDATE) < eventRow.EventDate) { flightHelper.CheckAvailability(flight.AIRLINEID, flight.CONNECTID, flight.FLIGHTDATE); PackageInfo.FlightRow packageInfoFlightRow = packageInfoFlightDataTable.AddFlightRow( packageInfoEventRow, flight.AIRLINE, flight.FLIGHTDATE, flight.DEPTIME, flight.AIRPORTFR, flight.CITYFROM, flight.AIRPORTTO, flight.CITYTO, flight.ARRDATE, flight.ARRTIME, flightHelper._availability.FIRSTFREE, flightHelper._availability.BUSINFREE, flightHelper._availability.ECONOFREE); packageInfoEventRow.GoldAvailability += flightHelper._availability.FIRSTFREE; packageInfoEventRow.SilverAvailability += flightHelper._availability.BUSINFREE; packageInfoEventRow.BronzeAvailability += flightHelper._availability.ECONOFREE; } } } } } } return(packageInfoDataset); }
public static Sales GetSalesData(int month, int year) { Sales salesDataset = new Sales(); Sales.PackageDataTable salesPackageDataTable = salesDataset.Package; Sales.PackageSaleDataTable salesPackageSaleDataTable = salesDataset.PackageSale; Sales.EventDataTable salesEventDataTable = salesDataset.Event; Sales.EventSaleDataTable salesEventSaleDataTable = salesDataset.EventSale; Sales.FlightDataTable salesFlightDataTable = salesDataset.Flight; SAPPackageReadWrite package = new SAPPackageReadWrite(Config._dbConnectionName); SAPEventAttendeeReadWrite attendee = new SAPEventAttendeeReadWrite(Config._dbConnectionName); SAPEventAttendeeAgencyMapReadWrite eventAttendeeAgencyMap = new SAPEventAttendeeAgencyMapReadWrite(Config._dbConnectionName); SAPPackageEventMapReadWrite packageEventMap = new SAPPackageEventMapReadWrite(Config._dbConnectionName); SAPEventReadWrite events = new SAPEventReadWrite(Config._dbConnectionName); SAPFlightTrip flightTripHelper = new SAPFlightTrip(Config.SAPUserName, Config.SAPPassword); SAPFlightConnection flightConnectionHelper = new SAPFlightConnection(Config.SAPUserName, Config.SAPPassword); //fetch all packages SAPDataSetPackage packageDataset = package.SelectAll(); //iterate through the packages foreach (SAPDataSetPackage.PackageRow packageRow in packageDataset.Package.Rows) { Sales.PackageRow salesPackageRow = salesPackageDataTable.AddPackageRow(packageRow.PackageID, packageRow.PackageName); SAPDataSetEventAttendee attendeeDataset = attendee.SelectByPackageID(packageRow.PackageID); SAPDataSetPackageEventMap packageEventMapDataset = packageEventMap.SelectByPackageID(packageRow.PackageID); foreach (SAPDataSetEventAttendee.EventAttendeeRow eventAttendeeRow in attendeeDataset.EventAttendee.Rows) { if ((eventAttendeeRow.Created.Month == month || month == 0) && (eventAttendeeRow.Created.Year == year || year == 0)) { //build temp package table Sales.PackageSaleRow salesPackageSaleRow = salesPackageSaleDataTable.AddPackageSaleRow( salesPackageRow, eventAttendeeRow.EventAttendeeID, eventAttendeeRow.Created, eventAttendeeRow.DateOfBirth, eventAttendeeRow.CustomerNumber, 0, 0); SAPDataSetEventAttendeeAgencyMap eventAttendeeAgencyMapDataset = eventAttendeeAgencyMap.SelectByEventAttendeeID(eventAttendeeRow.EventAttendeeID); for (int i = 0; i < packageEventMapDataset.PackageEventMap.Rows.Count; i++) { SAPDataSetPackageEventMap.PackageEventMapRow packageEventMapRow = packageEventMapDataset.PackageEventMap.Rows[i] as SAPDataSetPackageEventMap.PackageEventMapRow; SAPDataSetEvent eventDataset = events.SelectByEventID(packageEventMapRow.EventID); SAPDataSetEvent.EventRow eventRow = eventDataset.Event[0]; //assumes same record position as to event, need to revise!!! //SAPDataSetEventAttendeeAgencyMap.EventAttendeeAgencyMapRow eventAttendeeAgencyMapRow = // eventAttendeeAgencyMapDataset.EventAttendeeAgencyMap.Rows[i] as // SAPDataSetEventAttendeeAgencyMap.EventAttendeeAgencyMapRow; DataRow[] eventAttendeeAgencyMapDataRow = eventAttendeeAgencyMapDataset.EventAttendeeAgencyMap.Select("EventID = " + packageEventMapRow.EventID); SAPDataSetEventAttendeeAgencyMap.EventAttendeeAgencyMapRow eventAttendeeAgencyMapRow = eventAttendeeAgencyMapDataRow[0] as SAPDataSetEventAttendeeAgencyMap.EventAttendeeAgencyMapRow; Sales.EventRow salesEventRow = salesEventDataTable.FindByEventID(eventRow.EventID); if (salesEventRow == null) { salesEventRow = salesEventDataTable.AddEventRow( eventRow.EventID, eventRow.EventName, eventRow.GoldPackagePrice, eventRow.SilverPackagePrice, eventRow.BronzePackagePrice, eventRow.GoldPackageTrueCost, eventRow.SilverPackageTrueCost, eventRow.BronzePackageTrueCost); } salesEventSaleDataTable.AddEventSaleRow( salesEventRow, packageRow.PackageID, eventAttendeeRow.EventAttendeeID, eventAttendeeAgencyMapRow.AgencyNumber, eventAttendeeAgencyMapRow.TripNumber, string.Empty, 0, 0); } } } } foreach (Sales.PackageSaleRow salesPackageSalesRow in salesPackageSaleDataTable.Rows) { foreach (DataRow row in salesPackageSalesRow.GetChildRows("PackageSale_EventSale")) { Sales.EventSaleRow salesEventSaleRow = row as Sales.EventSaleRow; flightTripHelper.GetList( salesPackageSalesRow.CustomerNumber.Trim(), salesEventSaleRow.AgencyNumber); foreach (SAPServices.SAP_FLIGHTTRIPLIST.BAPISTRDAT trip in flightTripHelper._bapiFlightTripList) { if (salesEventSaleRow.TripNumber == trip.TRIPNUMBER) { flightConnectionHelper.GetDetail( trip.FLCONN1, trip.FLDATE1, string.Empty, salesEventSaleRow.AgencyNumber); Sales.EventRow salesEventRow = salesEventDataTable.FindByEventID(salesEventSaleRow.EventID); decimal ticketPrice = 0; switch (trip.CLASS) { case "F": salesEventSaleRow.Cost = salesEventRow.GoldPackageCost; salesEventSaleRow.Price = salesEventRow.GoldPackagePrice; salesEventSaleRow.PackageType = "Gold"; ticketPrice = trip.NUMADULT == 1 ? flightConnectionHelper._bapiPrice.PRICE_FST1 : trip.NUMCHILD == 1 ? flightConnectionHelper._bapiPrice.PRICE_FST2 : trip.NUMINFANT == 1 ? flightConnectionHelper._bapiPrice.PRICE_FST3 : 0; break; case "C": salesEventSaleRow.Cost = salesEventRow.SilverPackageCost; salesEventSaleRow.Price = salesEventRow.SilverPackagePrice; salesEventSaleRow.PackageType = "Silver"; ticketPrice = trip.NUMADULT == 1 ? flightConnectionHelper._bapiPrice.PRICE_BUS1 : trip.NUMCHILD == 1 ? flightConnectionHelper._bapiPrice.PRICE_BUS2 : trip.NUMINFANT == 1 ? flightConnectionHelper._bapiPrice.PRICE_BUS3 : 0; break; case "Y": salesEventSaleRow.Cost = salesEventRow.BronzePackageCost; salesEventSaleRow.Price = salesEventRow.BronzePackagePrice; salesEventSaleRow.PackageType = "Bronze"; ticketPrice = trip.NUMADULT == 1 ? flightConnectionHelper._bapiPrice.PRICE_ECO1 : trip.NUMCHILD == 1 ? flightConnectionHelper._bapiPrice.PRICE_ECO2 : trip.NUMINFANT == 1 ? flightConnectionHelper._bapiPrice.PRICE_ECO3 : 0; break; } salesPackageSalesRow.Cost += salesEventSaleRow.Cost; salesPackageSalesRow.Price += salesEventSaleRow.Price; salesFlightDataTable.AddFlightRow( salesEventSaleRow, trip.FLCONN1, trip.FLDATE1, trip.CLASS, ticketPrice, trip.NUMADULT, trip.NUMCHILD, trip.NUMINFANT); } } } } return(salesDataset); }
private void frmEvent_Load(object sender, EventArgs e) { #region Initialize Venue Combobox SAPVenueReadWrite venue = new SAPVenueReadWrite(Config._dbConnectionName); comboBoxVenue.DataSource = venue.SelectAll().Venue; comboBoxVenue.DisplayMember = SAPVenueReadWrite._venueNameColumnName; comboBoxVenue.ValueMember = SAPVenueReadWrite._venueIDColumnName; #endregion #region Get Event Types SAPEventTypeReadWrite eventTypeRW = new SAPEventTypeReadWrite(Config._dbConnectionName); SAPDataSetEventType.EventTypeDataTable dtEventType = eventTypeRW.SelectAll().EventType; comboBoxEventType.DataSource = dtEventType; comboBoxEventType.DisplayMember = SAPEventTypeReadWrite._eventTypeNameColumnName; comboBoxEventType.ValueMember = SAPEventTypeReadWrite._eventTypeIDColumnName; SAPEventActorReadWrite actors = new SAPEventActorReadWrite(Config._dbConnectionName); comboBoxActor.DataSource = actors.SelectAll().EventActor; comboBoxActor.DisplayMember = SAPEventActorReadWrite._eventActorNameColumnName; comboBoxActor.ValueMember = SAPEventActorReadWrite._eventActorIDColumnName; #endregion #region Initialize Event Package Grid dataGridViewPackage.VirtualMode = true; DataGridViewTextBoxColumn columnPackageType = new DataGridViewTextBoxColumn(); columnPackageType.HeaderText = "Name"; columnPackageType.Name = "ColumnName"; columnPackageType.Width = 70; columnPackageType.ReadOnly = true; columnPackageType.Frozen = true; columnPackageType.DefaultCellStyle.BackColor = Color.FromKnownColor(KnownColor.Control); columnPackageType.SortMode = DataGridViewColumnSortMode.NotSortable; dataGridViewPackage.Columns.Add(columnPackageType); DataGridViewTextBoxColumn columnPrice = new DataGridViewTextBoxColumn(); columnPrice.HeaderText = "Price"; columnPrice.Name = "ColumnPrice"; columnPrice.Width = 85; columnPrice.DefaultCellStyle.Format = "c"; columnPrice.DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight; columnPrice.SortMode = DataGridViewColumnSortMode.NotSortable; dataGridViewPackage.Columns.Add(columnPrice); DataGridViewTextBoxColumn columnCost = new DataGridViewTextBoxColumn(); columnCost.HeaderText = "Cost"; columnCost.Name = "ColumnCost"; columnCost.Width = 85; columnCost.DefaultCellStyle.Format = "c"; columnCost.DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight; columnCost.SortMode = DataGridViewColumnSortMode.NotSortable; dataGridViewPackage.Columns.Add(columnCost); SAPActorEventReadOnly actorEvent = new SAPActorEventReadOnly(Config._dbConnectionName); DataTable dtEventActor = new DataTable(); dtEventActor.Columns.Add("ActorName", typeof(string)); dtEventActor.Columns.Add("ActorID", typeof(string)); if (_eventID > 0) { using (SAPDataReaderActorEvent rdrActorEvent = actorEvent.ReaderSelectByEventID(_eventID)) { if (rdrActorEvent.DataReader != null && rdrActorEvent.DataReader.HasRows) { while (rdrActorEvent.DataReader.Read()) { dtEventActor.Rows.Add( rdrActorEvent.EventActorName, rdrActorEvent.EventActorID); } //while (rdrActorEvent.DataReader.Read()); } } } dsEventActor = new DataSet(); dsEventActor.Tables.Add(dtEventActor); dataGridViewActor.DataSource = dsEventActor.Tables[0]; #endregion #region Populate Values openFileDialog.FileName = string.Empty; _packageTypeList = new List <PackageTypeList>(); if (_eventID > 0) { SAPEventReadWrite eventRW = new SAPEventReadWrite(Config._dbConnectionName); using (SAPDataReaderEvent rdrEvent = eventRW.ReaderSelectByEventID(_eventID)) { rdrEvent.DataReader.Read(); textBoxName.Text = rdrEvent.EventName; textBoxDescription.Text = rdrEvent.EventDescription; dateTimePickerSchedule.Value = rdrEvent.EventDate; comboBoxEventType.Text = rdrEvent.EventTypeName; comboBoxVenue.Text = rdrEvent.VenueName; monthCalendarSchedule.SetDate(rdrEvent.EventDate); _packageTypeList.Add( new PackageTypeList( "Gold", rdrEvent.GoldPackagePrice, rdrEvent.GoldPackageTrueCost)); _packageTypeList.Add( new PackageTypeList( "Silver", rdrEvent.SilverPackagePrice, rdrEvent.SilverPackageTrueCost)); _packageTypeList.Add( new PackageTypeList( "Bronze", rdrEvent.BronzePackagePrice, rdrEvent.BronzePackageTrueCost)); _previousImage = rdrEvent.EventPhoto; using (MemoryStream ms = new MemoryStream(rdrEvent.EventPhoto, 0, rdrEvent.EventPhoto.Length)) { ms.Write(rdrEvent.EventPhoto, 0, rdrEvent.EventPhoto.Length); pictureBoxPoster.Image = Image.FromStream(ms, true); } } } else { _packageTypeList.Add(new PackageTypeList("Gold", 0, 0)); _packageTypeList.Add(new PackageTypeList("Silver", 0, 0)); _packageTypeList.Add(new PackageTypeList("Bronze", 0, 0)); } if (_isReadOnly) { UtilityHelper.SetToReadOnly(Controls); buttonSave.Enabled = false; dataGridViewPackage.ReadOnly = true; GridHelper.HideColumns( dataGridViewActor, "ColumnActorID", "ColumnDelete"); buttonAddToList.Enabled = false; pictureBoxNewVenue.Enabled = false; } pictureBoxNewVenue.Image = Resources.iconew; dataGridViewPackage.RowCount = _packageTypeList.Count; #endregion }
private void buttonSave_Click(object sender, EventArgs e) { string eventName = comboBoxEventType.Text.Trim(); int eventTypeID = 0; int eventID = _eventID; bool hasNoError = true; bool isSuccess = false; errorProvider.Clear(); #region get price/cost DateTime eventSchedule = new DateTime( monthCalendarSchedule.SelectionEnd.Year, monthCalendarSchedule.SelectionEnd.Month, monthCalendarSchedule.SelectionEnd.Day, dateTimePickerSchedule.Value.Hour, dateTimePickerSchedule.Value.Minute, dateTimePickerSchedule.Value.Second); decimal goldPackageCost = Convert.ToDecimal(_packageTypeList[0].PackageCost); decimal silverPackageCost = Convert.ToDecimal(_packageTypeList[1].PackageCost); decimal bronzePackageCost = Convert.ToDecimal(_packageTypeList[2].PackageCost); decimal totalPackageCost = goldPackageCost + silverPackageCost + bronzePackageCost; #endregion _eventList = new EventList(); #region check image file string fileName = openFileDialog.FileName; byte[] byteImage = null; if (File.Exists(fileName)) { FileInfo imageFile = new FileInfo(fileName); using (FileStream fs = new FileStream( fileName, FileMode.Open, FileAccess.Read, FileShare.Read)) { int fileSize = Convert.ToInt32(imageFile.Length); byteImage = new byte[fileSize]; int bytesRead = fs.Read( byteImage, 0, fileSize); fs.Close(); } } else if (_eventID > 0) { byteImage = _previousImage; } else { byteImage = UtilityHelper.BitmapToByte(Resources.blank); } #endregion if (byteImage == null) { errorProvider.SetError(pictureBoxPoster, "Poster is required."); hasNoError = false; } if (eventName.Length == 0) { errorProvider.SetError(comboBoxEventType, "Event Type is required."); hasNoError = false; } if (textBoxName.Text.Trim().Length == 0) { errorProvider.SetError(textBoxName, "Event name is required."); hasNoError = false; } if (textBoxDescription.Text.Trim().Length == 0) { errorProvider.SetError(textBoxDescription, "Event description is required."); hasNoError = false; } if (!hasNoError) { return; } try { SAPEventTypeReadWrite eventType = new SAPEventTypeReadWrite(Config._dbConnectionName); SAPDataSetEventType.EventTypeDataTable dtEventType = eventType.SelectByEventTypeName(eventName).EventType; if (dtEventType.Rows.Count > 0) { eventTypeID = ((SAPDataSetEventType.EventTypeRow)dtEventType.Rows[0]).EventTypeID; } if (eventTypeID == 0) { eventType.Insert( eventName, eventName, out eventTypeID); } using (SWPTransactionDBConnection dbTransaction = new SWPTransactionDBConnection(Config._dbConnectionName)) { try { SAPEventReadWrite mEvent = new SAPEventReadWrite(dbTransaction); SAPEventActorReadWrite eventActor = new SAPEventActorReadWrite(dbTransaction); SAPEventActorMapReadWrite eventActorMap = new SAPEventActorMapReadWrite(dbTransaction); if (_eventID == 0) { mEvent.Insert( Convert.ToInt32(comboBoxVenue.SelectedValue), eventTypeID, textBoxName.Text, textBoxDescription.Text, byteImage, eventSchedule, _packageTypeList[0].PackagePrice, _packageTypeList[1].PackagePrice, _packageTypeList[2].PackagePrice, goldPackageCost, silverPackageCost, bronzePackageCost, totalPackageCost, out eventID); } else { mEvent.Update( _eventID, Convert.ToInt32(comboBoxVenue.SelectedValue), eventTypeID, textBoxName.Text, textBoxDescription.Text, byteImage, eventSchedule, _packageTypeList[0].PackagePrice, _packageTypeList[1].PackagePrice, _packageTypeList[2].PackagePrice, goldPackageCost, silverPackageCost, bronzePackageCost, totalPackageCost); } if (dsEventActor.Tables[0].Rows.Count == 0) { eventActorMap.DeleteByEventID(eventID); } DataTable dtAdded = dsEventActor.Tables[0].GetChanges(DataRowState.Added); DataTable dtDeleted = dsEventActor.Tables[0].GetChanges(DataRowState.Deleted); int eventActorMapID = 0; if (dtAdded != null) { foreach (DataRow dr in dtAdded.Rows) { int eventActorID = Convert.ToInt32(dr[1]); if (eventActorID == 0) { eventActor.Insert( (string)dr[0], out eventActorID); } eventActorMap.Insert( eventID, eventActorID, out eventActorMapID); } } if (dtDeleted != null) { foreach (DataRow dr in dtDeleted.Rows) { int eventActorID = (int)dr[1]; if (eventActorID != 0) { eventActorMap.DeleteByEventActorID(eventActorID); } } } dbTransaction.Transaction.Commit(); isSuccess = true; } catch (Exception ex) { dbTransaction.Transaction.Rollback(); ErrorForm errorForm = new ErrorForm(ex.Message, ex.ToString()); errorForm.ShowDialog(this); errorForm.Close(); } finally { dbTransaction.Transaction.Dispose(); } } } catch (Exception ex) { ErrorForm errorForm = new ErrorForm(ex.Message, ex.ToString()); errorForm.ShowDialog(this); errorForm.Close(); } if (isSuccess) { _eventList.EventName = textBoxName.Text; _eventList.EventDescription = textBoxDescription.Text; _eventList.EventPhoto = byteImage; _eventList.EventID = eventID; DialogResult = DialogResult.OK; Close(); } }
private void GetSource() { List <EventList> unUsedEvent = new List <EventList>(); List <EventList> usedEvent = new List <EventList>(); _sourceEvents = new List <EventList>(); SAPEventReadWrite eventRW = new SAPEventReadWrite(Config._dbConnectionName); SAPEventAttendeeAgencyMapReadWrite eventAttendyMapRW = new SAPEventAttendeeAgencyMapReadWrite(Config._dbConnectionName); SAPPackageEventMapReadWrite packageEventMapRW = new SAPPackageEventMapReadWrite(Config._dbConnectionName); using (SAPDataReaderEvent readerEvent = eventRW.ReaderSelectAll()) { if (readerEvent.DataReader != null && readerEvent.DataReader.HasRows) { SAPDataSetEventAttendeeAgencyMap.EventAttendeeAgencyMapDataTable dtEventAttendee = eventAttendyMapRW.SelectAll().EventAttendeeAgencyMap; SAPDataSetPackageEventMap.PackageEventMapDataTable dtPackageEvent = packageEventMapRW.SelectAll().PackageEventMap; while (readerEvent.DataReader.Read()) { EventList item = new EventList(); item.EventName = readerEvent.EventName; item.EventDescription = readerEvent.EventDescription; item.EventPhoto = readerEvent.EventPhoto; item.EventID = readerEvent.EventID; DataRow[] rows = dtEventAttendee.Select("EventID = " + item.EventID.ToString()); if (rows != null && rows.Length > 0) { item.EventEditTag = true; item.EventDeleteTag = true; usedEvent.Add(item); } else { item.EventEditTag = false; rows = dtPackageEvent.Select("EventId = " + item.EventID.ToString()); item.EventDeleteTag = (rows != null && rows.Length > 0); unUsedEvent.Add(item); } }// while (readerEvent.DataReader.Read()); _sourceEvents.AddRange(unUsedEvent); _sourceEvents.AddRange(usedEvent); } } if (_sourceEvents.Count > 0) { pictureBoxPoster.Image = UtilityHelper.ByteToImage(_sourceEvents[0].EventPhoto); } }
public static void CreateSeedData() { #region create random name/date of birth list Random rand = new Random((int)DateTime.Now.Ticks); int index = 0; List <string> names = new List <string>(); List <string> nameList = Properties.Resources.ValidNames.Split( Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList <string>(); DateTime[] dobs = new DateTime[Config.SeedDataLimit * 4 + 1]; int month = DateTime.Now.Month; int day = DateTime.Now.Day; int year = DateTime.Now.Year; int nameCounter = 0; do { if (!names.Contains(nameList[nameCounter])) { names.Add(nameList[nameCounter]); index = rand.Next(year - 40, year); dobs[names.Count - 1] = new DateTime(index, month, day); nameCounter++; } } while (names.Count < Config.SeedDataLimit * 4 + 1); #endregion cityCountry = new SortedDictionary <string, string>(); SetCityCountry(); #region Clear Tables SAPEventActorMapReadWrite eventActorMapRW = new SAPEventActorMapReadWrite(Config._dbConnectionName); SAPDataSetEventActorMap eventActorMapDataSet = eventActorMapRW.SelectAll(); foreach (SAPDataSetEventActorMap.EventActorMapRow row in eventActorMapDataSet.EventActorMap.Rows) { eventActorMapRW.Delete(row.EventActorMapID); } SAPEventAttendeeAgencyMapReadWrite eventAttendeeAgencyMapRW = new SAPEventAttendeeAgencyMapReadWrite(Config._dbConnectionName); SAPDataSetEventAttendeeAgencyMap eventAttendeeAgencyMapDataSet = eventAttendeeAgencyMapRW.SelectAll(); foreach (SAPDataSetEventAttendeeAgencyMap.EventAttendeeAgencyMapRow row in eventAttendeeAgencyMapDataSet.EventAttendeeAgencyMap.Rows) { eventAttendeeAgencyMapRW.Delete(row.EventAttendeeAgencyMapID); } SAPEventAttendeeReadWrite eventAttendeeRW = new SAPEventAttendeeReadWrite(Config._dbConnectionName); SAPDataSetEventAttendee eventAttendeeDataSet = eventAttendeeRW.SelectAll(); foreach (SAPDataSetEventAttendee.EventAttendeeRow row in eventAttendeeDataSet.EventAttendee.Rows) { eventAttendeeRW.Delete(row.EventAttendeeID); } SAPEventActorReadWrite eventActorRW = new SAPEventActorReadWrite(Config._dbConnectionName); SAPDataSetEventActor eventActorDataSet = eventActorRW.SelectAll(); foreach (SAPDataSetEventActor.EventActorRow row in eventActorDataSet.EventActor.Rows) { eventActorRW.Delete(row.EventActorID); } SAPPackageEventMapReadWrite packageEventMapRW = new SAPPackageEventMapReadWrite(Config._dbConnectionName); SAPDataSetPackageEventMap packageEventMapDataset = packageEventMapRW.SelectAll(); foreach (SAPDataSetPackageEventMap.PackageEventMapRow row in packageEventMapDataset.PackageEventMap.Rows) { packageEventMapRW.Delete(row.PackageEventMapID); } SAPPackageReadWrite packageRW = new SAPPackageReadWrite(Config._dbConnectionName); SAPDataSetPackage packageDataSet = packageRW.SelectAll(); foreach (SAPDataSetPackage.PackageRow row in packageDataSet.Package.Rows) { packageRW.Delete(row.PackageID); } SAPEventReadWrite eventRW = new SAPEventReadWrite(Config._dbConnectionName); SAPDataSetEvent eventDataSet = eventRW.SelectAll(); foreach (SAPDataSetEvent.EventRow row in eventDataSet.Event.Rows) { eventRW.Delete(row.EventID); } SAPEventTypeReadWrite eventTypeRW = new SAPEventTypeReadWrite(Config._dbConnectionName); SAPDataSetEventType eventTypeDataSet = eventTypeRW.SelectAll(); foreach (SAPDataSetEventType.EventTypeRow row in eventTypeDataSet.EventType.Rows) { eventTypeRW.Delete(row.EventTypeID); } #endregion #region Repopulate Tables SAPEventTypeReadWrite seedEventTypeRW = new SAPEventTypeReadWrite(Config._dbSeedConnectionName); SAPDataSetEventType seedEventTypeDataSet = seedEventTypeRW.SelectAll(); int retEventTypeID = 0; foreach (SAPDataSetEventType.EventTypeRow row in seedEventTypeDataSet.EventType.Rows) { eventTypeRW.Insert(row.EventTypeName, row.EventTypeDescription, out retEventTypeID); } SAPEventReadWrite seedEventRW = new SAPEventReadWrite(Config._dbSeedConnectionName); SAPDataSetEvent seedEventDataSet = seedEventRW.SelectAll(); int retEventID = 0; //check the difference in seed date to adjust the event dates long monthDiff = UtilityHelper.GetMonthDifference( Config.DateLastSeed, DateTime.Now); foreach (SAPDataSetEvent.EventRow row in seedEventDataSet.Event.Rows) { using (SAPDataReaderEventType rdrSeedEventType = eventTypeRW.ReaderSelectByEventTypeName(row.EventTypeName)) { if (rdrSeedEventType.DataReader != null && rdrSeedEventType.DataReader.HasRows) { DateTime newDate = new DateTime(); //long monthDifference = // UtilityHelper.GetMonthDifference(DateTime.Now, row.EventDate); newDate = row.EventDate.AddMonths((int)monthDiff); rdrSeedEventType.DataReader.Read(); eventRW.Insert(row.VenueID, rdrSeedEventType.EventTypeID, row.EventName, row.EventDescription, row.EventPhoto, newDate, row.GoldPackagePrice, row.SilverPackagePrice, row.BronzePackagePrice, row.GoldPackageTrueCost, row.SilverPackageTrueCost, row.BronzePackageTrueCost, row.EventTotalCost, out retEventID); } } } SAPPackageReadWrite seedPackageRW = new SAPPackageReadWrite(Config._dbSeedConnectionName); SAPDataSetPackage seedPackageDataset = seedPackageRW.SelectAll(); int retPackageID = 0; foreach (SAPDataSetPackage.PackageRow row in seedPackageDataset.Package.Rows) { packageRW.Insert(row.PackageName, row.PackageDescription, row.PackageImage, out retPackageID); } int retPackageEventMapID = 0; int[] seedNumberOfEventPerPackage = { 4, 3, 4, 4 }; int packageIndex = 0; using (SAPDataReaderPackage rdrPackage = packageRW.ReaderSelectAll()) { if (rdrPackage.DataReader != null && rdrPackage.DataReader.HasRows) { int eventIdx = 0; while (rdrPackage.DataReader.Read()) { int eventID = 0; for (int idx = 0; idx < seedNumberOfEventPerPackage[packageIndex]; idx++) { using (SAPDataReaderEvent rdrEvent = eventRW.ReaderSelectAll()) { if (rdrEvent.DataReader != null && rdrEvent.DataReader.HasRows) { if (eventIdx == 0) { rdrEvent.DataReader.Read(); eventID = rdrEvent.EventID; } else { for (int eidx = 0; eidx <= eventIdx; eidx++) { rdrEvent.DataReader.Read(); eventID = rdrEvent.EventID; } } } } packageEventMapRW.Insert(rdrPackage.PackageID, eventID, out retPackageEventMapID); eventIdx++; } packageIndex++; } } } #endregion int currentNameIndex = 0; //get the 3 package here SAPPackageEventReadOnly packageEvent = new SAPPackageEventReadOnly(Config._dbConnectionName); _flightConnection = new SAPFlightConnection(Config.SAPUserName, Config.SAPPassword); #region generate data using (SAPDataReaderPackage rdrPackage = packageRW.ReaderSelectAll()) { if (rdrPackage.DataReader != null && rdrPackage.DataReader.HasRows) { while (rdrPackage.DataReader.Read()) { if (Array.IndexOf(packages, rdrPackage.PackageName.ToUpper().Trim()) > -1) { List <string> location = new List <string>(); SeedEventDataList[] flights = GetEvent(rdrPackage.PackageID); for (int i = 1; i <= Config.SeedDataLimit; i++) { DateTime previousDate = DateTime.MinValue; string cityFrom = string.Empty; #region iterate for each event for (int idx = 0; idx < flights.Length; idx++) { BAPISCODAT selectedItem = null; string selectedClass = string.Empty; if (_flightConnection.GetList("", Config.SeedTravelAgency, cityFrom, flights[idx].VenueCity)) { List <int> classTypeIndex = new List <int>(); BAPISCODAT[] flightList = _flightConnection._bapiConnectionList; do { #region random classtype if (classTypeIndex.Count < 3) { do { int ridx = rand.Next(0, 3); if (!classTypeIndex.Contains(ridx)) { classTypeIndex.Add(ridx); break; } } while (true); } string classType = _classType[classTypeIndex[classTypeIndex.Count - 1]]; #endregion foreach (BAPISCODAT item in flightList) { bool isAvailable = true; if (!IsValidFlightDate(item.FLIGHTDATE, flights[idx].EventDate, previousDate)) { continue; } isAvailable = IsFlightAvailable(item, classType); #region check if city to is not found on previous list //make sure that this is the startup point of the event if (isAvailable) { if (previousDate == DateTime.MinValue) { if (location.Contains(item.CITYFROM)) { //mark this in case there would be no more cityfrom on the list if (selectedItem == null) { selectedItem = item; selectedClass = classType; } } else { location.Add(item.CITYFROM); selectedItem = item; selectedClass = classType; classTypeIndex.Add(1); classTypeIndex.Add(2); classTypeIndex.Add(3); break; } } else { selectedItem = item; selectedClass = classType; classTypeIndex.Add(1); classTypeIndex.Add(2); classTypeIndex.Add(3); break; } } #endregion } } while (classTypeIndex.Count < 3); } previousDate = flights[idx].EventDate; if (selectedItem != null) { SeedEventDataList eventData = flights[idx]; eventData.AgencyNum = selectedItem.AGENCYNUM; eventData.FlightConnNo = selectedItem.FLIGHTCONN; eventData.CityFrom = selectedItem.CITYFROM; eventData.FlightDate = selectedItem.FLIGHTDATE; eventData.ClassType = selectedClass; flights[idx] = eventData; cityFrom = eventData.VenueCity; } } #endregion #region verify if there's flight bool isReady = true; for (int idx = 0; idx < flights.Length; idx++) { if (String.IsNullOrEmpty(flights[idx].FlightConnNo)) { isReady = false; } } #endregion if (isReady) { string customerCity = flights[0].CityFrom; string customerName = names[currentNameIndex]; string language = string.Empty; string country = GetCountry(customerCity, out language); string dob = string.Format("{0:yyyy-MM-dd}", dobs[currentNameIndex]); string customerNumber = string.Empty; bool isError = false; #region save customer SAPCustomer customer = new SAPCustomer(Config.SAPUserName, Config.SAPPassword); if (customer.CreateFromData( customerCity, country, customerName, "P", "none", language, "N/A", "", "")) { //get customer number of inserted customer bool found = false; while (!found) { customer.GetList(); if (customer._customerList.Length > 0) { //search last 3 for (int j = customer._customerList.Length - 1; j > (customer._customerList.Length - 3); j--) { if (customer._customerList[j].CUSTNAME.Trim() == customerName.Trim()) { customerNumber = customer._customerList[j].CUSTOMERID; found = true; break; } } } else { break; } } } else { isError = true; } #endregion #region create flight trip if (customerNumber.Length > 0) { SAPFlightTrip flightTrip = new SAPFlightTrip(Config.SAPUserName, Config.SAPPassword); for (int idx = 0; idx < flights.Length; idx++) { SeedEventDataList item = flights[idx]; string tripNumber; string travelAgencyNumber; if (flightTrip.CreateTrip( item.AgencyNum, item.ClassType, customerNumber, item.FlightConnNo, "", item.FlightDate, "", "none", dob, customerName, out travelAgencyNumber, out tripNumber)) { flights[idx].TripNumber = tripNumber; } else { isError = true; } } } #endregion #region save to local db if (!isError) { int eventAttendeeID = 0; SAPEventAttendeeReadWrite eventAttendee = new SAPEventAttendeeReadWrite(Config._dbConnectionName); DateTime dateCreate; eventAttendee.Insert( rdrPackage.PackageID, customerNumber, DateTime.Now, out dateCreate, out eventAttendeeID); for (int idx = 0; idx < flights.Length; idx++) { int eventAttendMapID = 0; SAPEventAttendeeAgencyMapReadWrite eventMap = new SAPEventAttendeeAgencyMapReadWrite(Config._dbConnectionName); eventMap.Insert( eventAttendeeID, flights[idx].EventID, flights[idx].AgencyNum, flights[idx].TripNumber, out eventAttendMapID); } } #endregion currentNameIndex++; } //reset flights for (int idx = 0; idx < flights.Length; idx++) { flights[idx].AgencyNum = string.Empty; flights[idx].ClassType = string.Empty; flights[idx].FlightConnNo = string.Empty; flights[idx].FlightDate = string.Empty; flights[idx].TripNumber = string.Empty; } } } } } } #endregion Config.UpdateKey(Config._keySeedData, "true"); Config.UpdateKey(Config._keyDateLastSeed, DateTime.Now.ToString()); }