/// <summary> /// Valida los campos obligatorios segun sea requerido /// </summary> /// <returns> False - Algun Campo Vacio | True - Campos llenados correctamente </returns> /// <history> /// [vipacheco] 01/04/2016 Created /// [vipahceco] 15/Agosto/2016 Modified -> Se valida que el ticket tenga pax asociados. /// </history> private bool ValidateGeneral() { MealTicketType ticketCurrent = cboType.SelectedItem as MealTicketType; if (frmMealTickets._guestID == 0) { RateType rateType = cboRateType.SelectedItem as RateType; PersonnelShort personnel = cboCollaborator.SelectedItem as PersonnelShort; AgencyShort agency = cboAgency.SelectedItem as AgencyShort; if (rateType == null) { UIHelper.ShowMessage("Select an option of rate type, please", MessageBoxImage.Information); return(false); } else if (rateType.raID >= 2 && rateType.raID < 4 && personnel == null) { UIHelper.ShowMessage("Select a collaborator, please", MessageBoxImage.Information); return(false); } else if (rateType.raID == 4 && (agency == null || txtRepresentative.Text == "")) { UIHelper.ShowMessage("Select an agency and write the representative name in the field for External option.", MessageBoxImage.Information); return(false); } else if (ticketCurrent == null) { UIHelper.ShowMessage("Select an option of meal type, please", MessageBoxImage.Information); return(false); } // Verificamos el Pax int adults, minors = 0; if (string.IsNullOrEmpty(txtAdults.Text) && string.IsNullOrEmpty(txtMinors.Text)) { UIHelper.ShowMessage("Set the Pax information, adults or minors", MessageBoxImage.Information); return(false); } else if (int.TryParse(txtAdults.Text, out adults) && int.TryParse(txtMinors.Text, out minors)) { // Verificamos que no sean ambos 0 if (adults == 0 && minors == 0) { UIHelper.ShowMessage("Set the Pax information, adults or minors", MessageBoxImage.Information); return(false); } } } else { if (ticketCurrent == null) { UIHelper.ShowMessage("Select an option of meal type, please", MessageBoxImage.Information); return(false); } } return(true); }
/// <summary> /// Crea un nuevo mealticket /// </summary> /// <param name="_rateType"></param> /// <param name="_mealType"></param> /// <param name="_personnel"></param> /// <param name="_agency"></param> /// <param name="_meAdults"></param> /// <param name="_meMinors"></param> /// <param name="_meTAdultsString"></param> /// <param name="_meTMinorsString"></param> /// <param name="folioNew"></param> /// <returns></returns> /// <history> /// [vipacheco] 25/Abril/2016 Created /// </history> private MealTicket CreateMealTicket(RateType _rateType, MealTicketType _mealType, PersonnelShort _personnel, AgencyShort _agency, int _meAdults, int _meMinors, string _meTAdultsString, string _meTMinorsString, int folioNew) { return(new MealTicket { meD = dtpDate.Value.Value.Date, megu = frmMealTickets._guestID, meQty = frmMealTickets._Qty, meType = _mealType.myID, meAdults = _meAdults, meMinors = _meMinors, meFolios = folioNew + "", meTAdults = Convert.ToDecimal(_meTAdultsString), meTMinors = Convert.ToDecimal(_meTMinorsString), meComments = txtComments.Text, mesr = Context.User.SalesRoom.srID, meCanc = chkCancel.IsChecked.Value, mera = cboRateType.IsVisible ? _rateType.raID : 1, mepe = cboCollaborator.IsVisible ? _personnel.peID : null, mePrinted = chkPrinted.IsChecked.Value, meag = cboAgency.IsVisible ? _agency.agID : null, merep = txtRepresentative.IsVisible ? txtRepresentative.Text : null, meAuthorizedBy = Context.User.User.peID }); }
/// <summary> /// Guarda la informacion proporcionada! /// </summary> /// <history> /// [vipacheco] 23/03/2016 Created /// </history> private void btnSave_Click(object sender, RoutedEventArgs e) { if (ValidateGeneral()) { RateType _rateType = cboRateType.SelectedItem as RateType; MealTicketType _mealType = cboType.SelectedItem as MealTicketType; PersonnelShort _personnel = cboCollaborator.SelectedItem as PersonnelShort; AgencyShort _agency = cboAgency.SelectedItem as AgencyShort; int _meAdults = Convert.ToInt32((txtAdults.Text == "") ? "0" : txtAdults.Text); int _meMinors = Convert.ToInt32((txtMinors.Text == "") ? "0" : txtMinors.Text); string _meTAdultsString = txtTAdults.Text.TrimStart('$'); string _meTMinorsString = txtTMinors.Text.TrimStart('$'); // Agrega un nuevo Meal Ticket if (_modeOpen == EnumMode.Add) { // Obtenemos el folio a asignar int folioNew = 1 + BRMealTicketFolios.GetMaxMealTicketFolio(Context.User.SalesRoom.srID, _mealType.myID, _rateType == null ? 1 : _rateType.raID); _mealTicketCurrency = CreateMealTicket(_rateType, _mealType, _personnel, _agency, _meAdults, _meMinors, _meTAdultsString, _meTMinorsString, folioNew); //Actualizamos el folio! BRMealTicketFolios.UpdateMealTicketFolio(Context.User.SalesRoom.srID, _mealType.myID, _rateType == null ? 1 : _rateType.raID, $"{folioNew}"); //Guardamos el Meal Ticket Creado BRMealTickets.InsertNewMealTicket(_mealTicketCurrency); } // Modo edicion else { int folio = Convert.ToInt32(_mealTicketCurrency.meFolios); // Creamos el Meal Ticket con el guestID _mealTicketCurrency.meD = dtpDate.Value.Value.Date; _mealTicketCurrency.megu = _mealTicketCurrency.megu != 0 ? _mealTicketCurrency.megu : frmMealTickets._guestID; _mealTicketCurrency.meQty = frmMealTickets._Qty; _mealTicketCurrency.meType = _mealType.myID; _mealTicketCurrency.meAdults = _meAdults; _mealTicketCurrency.meMinors = _meMinors; _mealTicketCurrency.meFolios = $"{folio}"; _mealTicketCurrency.meTAdults = Convert.ToDecimal(_meTAdultsString); _mealTicketCurrency.meTMinors = Convert.ToDecimal(_meTMinorsString); _mealTicketCurrency.meComments = txtComments.Text; _mealTicketCurrency.mesr = Context.User.SalesRoom.srID; _mealTicketCurrency.meCanc = chkCancel.IsChecked.Value; _mealTicketCurrency.mera = frmMealTickets._guestID > 0 ? 1 : _rateType.raID; _mealTicketCurrency.mepe = cboCollaborator.IsVisible ? _personnel.peID : null; _mealTicketCurrency.mePrinted = chkPrinted.IsChecked.Value; _mealTicketCurrency.meag = cboAgency.IsVisible ? _agency.agID : null; _mealTicketCurrency.merep = txtRepresentative.IsVisible ? txtRepresentative.Text : null; _mealTicketCurrency.meAuthorizedBy = Context.User.User.peID; //Actualizamos el folio! BRMealTicketFolios.UpdateMealTicketFolio(Context.User.SalesRoom.srID, _mealType.myID, _rateType.raID, _mealTicketCurrency.meFolios); // Insertamos el nuevo Meal Ticket con el folio asignado BRMealTickets.UpdateMealTicket(_mealTicketCurrency); } //Actualizamos el campo guMealTicket del Guest BRGuests.UpdateFieldguMealTicket(true, frmMealTickets._guestID); DialogResult = true; Close(); } }