Esempio n. 1
0
        /// <summary>
        /// Función encargada de verificar si cuenta con los permisos de edicion!
        /// </summary>
        /// <history>
        /// [vipacheco] 23/04/2016 Created
        /// </history>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            // Se verifica que tenga permisos de editar
            if (_modeOpen != EnumMode.ReadOnly)
            {
                MealTicket mealTicket = grdMealTicket.SelectedItem as MealTicket;

                frmMealTicketsDetail frmealTkt = new frmMealTicketsDetail(_openBy)
                {
                    Owner = this
                };
                ObjectHelper.CopyProperties(frmealTkt._mealTicketCurrency, mealTicket);
                frmealTkt._modeOpen = EnumMode.Edit;
                frmealTkt.Title    += "Edit - ID " + mealTicket.meID;

                if (frmealTkt.ShowDialog().Value)
                {
                    int        indexOrigin = obsMealTicket.IndexOf(mealTicket);
                    MealTicket _mealTicket = ObjectHelper.CopyProperties(frmealTkt._mealTicketCurrency);

                    if (_modeOpen == EnumMode.Edit && _openBy == EnumOpenBy.Checkbox)
                    {
                        dsMealTicket.Source = BRMealTickets.GetMealTickets(_guestID);
                    }
                    else if (_modeOpen == EnumMode.Edit && _openBy == EnumOpenBy.Button)
                    {
                        obsMealTicket.Insert(indexOrigin, _mealTicket); obsMealTicket.Remove(mealTicket);
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="guestID">Clave del guest</param>
        /// <history>
        /// [vipacheco] 31/Marzo/2016 Created
        /// [vipacheco] 08/Agosto/2016 Modified -> Se agrega validacion isclosed
        /// </history>
        public frmMealTickets(EnumOpenBy openBy, int guestID = 0)
        {
            _guestID = guestID;
            _openBy  = openBy;

            bool isclosed = false;

            // Si no esta en modo busqueda
            if (guestID != 0)
            {
                lstMealTicket = BRMealTickets.GetMealTickets(guestID);
                SalesRoomCloseDates closeSalesRoom = BRSalesRooms.GetSalesRoom(Context.User.SalesRoom.srID);

                // Verificamos si alguno de sus cupones de comida es de una fecha cerrada, impedimos modificar los datos
                lstMealTicket.ForEach(x =>
                {
                    if (Common.IsClosed(x.meD, closeSalesRoom.srMealTicketsCloseD))
                    {
                        isclosed = true;
                        return;
                    }
                });

                // Si no esta en una fecha cerrada
                if (!isclosed)
                {
                    // Verificamos los permisos del usuario
                    if (Context.User.HasPermission(EnumPermission.MealTicket, EnumPermisionLevel.Standard))
                    {
                        _modeOpen = EnumMode.Edit;
                    }
                    else
                    {
                        _modeOpen = EnumMode.ReadOnly;
                    }
                }
            }
            // Esta en modo busqueda
            else
            {
                // Verificamos los permisos del usuario
                if (Context.User.HasPermission(EnumPermission.MealTicket, EnumPermisionLevel.Standard))
                {
                    _modeOpen = EnumMode.Edit;
                }
                else
                {
                    _modeOpen = EnumMode.ReadOnly;
                }
            }

            // Se verifica si tiene permisos de edición!
            InitializeComponent();

            GridHelper.SetUpGrid(grdMealTicket, new MealTicket());

            dtpFrom.Value = frmHost.dtpServerDate.AddDays(-(frmHost.dtpServerDate.Day) + 1);
            dtpTo.Value   = frmHost.dtpServerDate;
        }
Esempio n. 3
0
        /// <summary>
        /// Función para agregar un nuevo Meal Ticket
        /// </summary>
        /// <history>
        /// [vipacheco] 22/03/2016 Created
        /// </history>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmMealTicketsDetail mealTicketsDetail = new frmMealTicketsDetail(_openBy)
            {
                Owner = this
            };

            mealTicketsDetail._modeOpen = EnumMode.Add;
            mealTicketsDetail.Title    += "Add";

            if (mealTicketsDetail.ShowDialog().Value)
            {
                if (_modeOpen == EnumMode.Edit && _openBy == EnumOpenBy.Checkbox)
                {
                    dsMealTicket.Source = BRMealTickets.GetMealTickets(_guestID);
                }
                else if (_modeOpen == EnumMode.Edit && _openBy == EnumOpenBy.Button)
                {
                    obsMealTicket.Add(mealTicketsDetail._mealTicketCurrency);
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Función para la busqueda de un Meal Tickets de acuerdo a los datos ingresados!
        /// </summary>
        /// <history>
        /// [vipacheco] 18/03/2016 Created
        /// </history>
        private async void btnSearch_Click(object sender, RoutedEventArgs e)
        {
            int      mlTicket = 0, rateType = 0;
            string   folio = "";
            DateTime?fromDate = null, toDate = null;

            // Verificamos que tipo de RateType tiene para ocultar las columas necesarias
            RateType itemRate = cboRateType.SelectedItem as RateType;

            _busyIndicator.IsBusy = true;

            // Obtenemos el ID de Meal Ticket
            if (txtMealTicket.Text != "")
            {
                mlTicket = Convert.ToInt32(txtMealTicket.Text);
            }
            // Obtenemos el folio ID si se ingreso
            if (txtFolio.Text != "")
            {
                folio = txtFolio.Text;
            }
            // Obtenemos el Rate Type seleccionado
            if (cboRateType.SelectedItem != null)
            {
                rateType = itemRate.raID;
            }
            // Obtenemos la fecha FROM ingresada
            if (dtpFrom.Value.Value.Date != null)
            {
                fromDate = dtpFrom.Value.Value.Date;
            }
            // Obtenemos la fecha TO ingresada
            if (dtpTo.Value.Value.Date != null)
            {
                toDate = dtpTo.Value.Value.Date;
            }

            // Realizamos la busqueda con los parametros ingresados!
            //lstMealTicket = await BRMealTickets.GetMealTickets(mlTicket, folio, rateType, fromDate, toDate);
            obsMealTicket       = new ObservableCollection <MealTicket>(await BRMealTickets.GetMealTickets(mlTicket, folio, rateType, fromDate, toDate));
            dsMealTicket.Source = obsMealTicket;

            #region ColumnsVisibility
            // Se verifica que el SelectedItem no sea null
            if (itemRate != null)
            {
                // Si es diferente de tipo External!
                if (itemRate.raID != 4)
                {
                    controlColumnVisibility(Visibility.Visible, Visibility.Hidden, Visibility.Hidden);
                }
                // Es external
                else
                {
                    controlColumnVisibility(Visibility.Hidden, Visibility.Visible, Visibility.Visible);
                }
            }
            #endregion

            _busyIndicator.IsBusy = false;
        }