예제 #1
0
        /// <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);
        }
예제 #2
0
 /// <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
     });
 }
예제 #3
0
        /// <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();
            }
        }