private void saveNewReservation(Vendor vendor) { int clientID = this.client.ClientID; int userID = TravelAgenceMasterClass.CurrentUser.UserID; int vendorId; if (vendor == null) { vendor = (Vendor)cboVendors.SelectedItem; } vendorId = vendor.VendorID; ReservationTypes typeId; switch (((ReservationType)cboType.SelectedItem).Description) { case "Hotel": typeId = ReservationTypes.Hotel; break; case "Flight": typeId = ReservationTypes.Flight;; break; case "Visa": typeId = ReservationTypes.Visa;; break; case "Insurance": typeId = ReservationTypes.Insurance; break; case "Transfer": typeId = ReservationTypes.Transfer; break; case "Other": typeId = ReservationTypes.Other; break; default: typeId = 0; break; } Reservation r = new Reservation(); r.ClientID = clientID; r.CreationUserID = userID; r.DateCreated = DateTime.Now; r.TypeID = (int)typeId; r.DateFrom = dtpFromDate.Value; r.DateTo = dtpToDate.Value; r.StatusID = (int)ReservationStatuses.Pending; r.VendorID = vendorId; r.BasicPrice = decimal.Parse(txtFareBasic.Text); r.Taxes = decimal.Parse(txtTaxes.Text); r.CommitionRatio = decimal.Parse(txtCommitionRatio.Text); r.NetPrice = decimal.Parse(txtNetPrice.Text); r.Commission = decimal.Parse(txtCommition.Text); r.PaidAmount = 0; r.Note = txtNotes.Text; TravelAgenceMasterClass.TravelAgencyContext.Reservations.Add(r); TravelAgenceMasterClass.TravelAgencyContext.SaveChanges(); switch (typeId) { case ReservationTypes.Hotel: HotelReservation hr = new HotelReservation(); hr.ReservationID = r.ReservationID; hr.HotelName = txtHotelName.Text; hr.Location = txtHotelLocation.Text; hr.SingleRooms = int.Parse(singleRoomsUpDown.Value.ToString()); hr.DoubleRooms = int.Parse(DoubleRoomsUpDown.Value.ToString()); hr.TripleRooms = int.Parse(TripleRoomsUpDown.Value.ToString()); hr.QuadRooms = int.Parse(QuadRoomsUpDown.Value.ToString()); TravelAgenceMasterClass.TravelAgencyContext.HotelReservations.Add(hr); break; case ReservationTypes.Flight: FlightReservation fr = new FlightReservation(); fr.ReservationID = r.ReservationID; fr.FromLocation = txtDepartureLocation.Text; fr.ToLocation = txtArrivalLocation.Text; fr.AirLine = txtAirLine.Text; fr.RefAirLine = txtRefAirLine.Text; fr.TicketNo = txtTicketNo.Text; fr.RefSystem = txtRefSystem.Text; TravelAgenceMasterClass.TravelAgencyContext.FlightReservations.Add(fr); break; case ReservationTypes.Visa: VisaReservation vr = new VisaReservation(); vr.ReservationID = r.ReservationID; vr.Country = txtVisaCountry.Text; vr.VisaType = txtVisaType.Text; TravelAgenceMasterClass.TravelAgencyContext.VisaReservations.Add(vr); break; default: break; } foreach (DataGridViewRow d in ClientNamesGridView.Rows) { if (d.Index < ClientNamesGridView.Rows.Count - 1) { ReservationClient rc = new ReservationClient(); rc.ReservationID = r.ReservationID; rc.ClientName = d.Cells[0].Value.ToString(); TravelAgenceMasterClass.TravelAgencyContext.ReservationClients.Add(rc); } } TravelAgenceMasterClass.TravelAgencyContext.SaveChanges(); }
public void saveCurrentReservation() { //int clientID = this.client.ClientID; //int userID = TravelAgenceMasterClass.CurrentUser.UserID; int vendorId = ((Vendor)cboVendors.SelectedItem).VendorID; CurReservation.VendorID = vendorId; CurReservation.DateFrom = dtpFromDate.Value; CurReservation.DateTo = dtpToDate.Value; CurReservation.BasicPrice = decimal.Parse(txtFareBasic.Text); CurReservation.CommitionRatio = decimal.Parse(txtCommitionRatio.Text); CurReservation.Commission = decimal.Parse(txtCommition.Text); CurReservation.Taxes = decimal.Parse(txtTaxes.Text); CurReservation.NetPrice = decimal.Parse(txtNetPrice.Text); CurReservation.Note = txtNotes.Text; TravelAgenceMasterClass.TravelAgencyContext.SaveChanges(); switch (((ReservationType)cboType.SelectedItem).TypeId) { case 1: CurReservation.HotelReservation.HotelName = txtHotelName.Text; CurReservation.HotelReservation.Location = txtHotelLocation.Text; CurReservation.HotelReservation.SingleRooms = int.Parse(singleRoomsUpDown.Value.ToString()); CurReservation.HotelReservation.DoubleRooms = int.Parse(DoubleRoomsUpDown.Value.ToString()); CurReservation.HotelReservation.TripleRooms = int.Parse(TripleRoomsUpDown.Value.ToString()); CurReservation.HotelReservation.QuadRooms = int.Parse(QuadRoomsUpDown.Value.ToString()); break; case 2: CurReservation.FlightReservation.FromLocation = txtDepartureLocation.Text; CurReservation.FlightReservation.ToLocation = txtArrivalLocation.Text; CurReservation.FlightReservation.AirLine = txtAirLine.Text; CurReservation.FlightReservation.RefAirLine = txtRefAirLine.Text; CurReservation.FlightReservation.TicketNo = txtRefAirLine.Text; CurReservation.FlightReservation.RefSystem = txtRefSystem.Text; break; case 3: CurReservation.VisaReservation.VisaType = txtVisaType.Text; CurReservation.VisaReservation.Country = txtVisaCountry.Text; break; default: break; } if (CurReservation.StatusID == 2) { CurReservation.StatusID = 4; } CurReservation = TravelAgenceMasterClass.TravelAgencyContext.Reservations.Where(Rc => Rc.ReservationID == CurReservation.ReservationID).SingleOrDefault(); while (CurReservation.ReservationClients.Count > 0) { ReservationClient RClient = CurReservation.ReservationClients.ElementAt(0); RClient = TravelAgenceMasterClass.TravelAgencyContext.ReservationClients.Where(Rc => Rc.ReservationClientID == RClient.ReservationClientID).SingleOrDefault(); CurReservation.ReservationClients.Remove(RClient); TravelAgenceMasterClass.TravelAgencyContext.ReservationClients.Remove(RClient); } //TravelAgenceMasterClass.TravelAgencyContext.SaveChanges(); foreach (DataGridViewRow d in ClientNamesGridView.Rows) { if (d.Index < ClientNamesGridView.Rows.Count - 1) { ReservationClient rc = new ReservationClient(); rc.ReservationID = CurReservation.ReservationID; rc.ClientName = d.Cells[0].Value.ToString(); TravelAgenceMasterClass.TravelAgencyContext.ReservationClients.Add(rc); } } TravelAgenceMasterClass.TravelAgencyContext.SaveChanges(); }