예제 #1
0
        /// <summary>
        /// Valida si un registro cumple con los filtros de la ventana
        /// </summary>
        /// <param name="newGuestStaTyp">registro a comparar</param>
        /// <returns>True. Si cumple con los filtros | False. no cumple con los filtros</returns>
        /// <history>
        /// [emoguel] created 24/03/2016
        /// </history>
        private bool ValidateFilter(GuestStatusType newGuestStaTyp)
        {
            if (_nStatus != -1)//Filtro por estatus
            {
                if (newGuestStaTyp.gsA != Convert.ToBoolean(_nStatus))
                {
                    return(false);
                }
            }

            if (!string.IsNullOrWhiteSpace(_guestStaTypFilter.gsID))//Filtro por ID
            {
                if (_guestStaTypFilter.gsID != newGuestStaTyp.gsID)
                {
                    return(false);
                }
            }

            if (!string.IsNullOrWhiteSpace(_guestStaTypFilter.gsN))//Filtro por descripcion
            {
                if (!newGuestStaTyp.gsN.Contains(_guestStaTypFilter.gsN, StringComparison.OrdinalIgnoreCase))
                {
                    return(false);
                }
            }

            return(true);
        }
예제 #2
0
        /// <summary>
        /// Muestra la ventada efficiency detail dependiendo de los permisos
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [Emoguel] created 24/03/2016
        /// </history>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            GuestStatusType          guestStaTyp   = (GuestStatusType)dgrGuestStaTyp.SelectedItem;
            frmGuestStatusTypeDetail frmGuesStaDet = new frmGuestStatusTypeDetail();

            frmGuesStaDet.guestStaTypOld = guestStaTyp;
            frmGuesStaDet.Owner          = this;
            frmGuesStaDet.enumMode       = ((_blnEdit == true) ? EnumMode.Edit : EnumMode.ReadOnly);
            if (frmGuesStaDet.ShowDialog() == true)
            {
                int nIndex = 0;
                List <GuestStatusType> lstGuestStaTyp = (List <GuestStatusType>)dgrGuestStaTyp.ItemsSource;
                if (!ValidateFilter(frmGuesStaDet.guestStaTyp)) //Validamos si cumple con los filtros
                {
                    lstGuestStaTyp.Remove(guestStaTyp);         //Quitamos el registro de la lista
                    StatusBarReg.Content = lstGuestStaTyp.Count + " Guest Status Types.";
                }
                else
                {
                    ObjectHelper.CopyProperties(guestStaTyp, frmGuesStaDet.guestStaTyp); //Actualizamos el valor del registro
                    lstGuestStaTyp.Sort((x, y) => string.Compare(x.gsN, y.gsN));         //Ordenamos la lista
                    nIndex = lstGuestStaTyp.IndexOf(guestStaTyp);                        //Obtenemos la posicion del registro actualizado para seleccionarlo
                }
                dgrGuestStaTyp.Items.Refresh();                                          //Refrescamos la vista
                GridHelper.SelectRow(dgrGuestStaTyp, nIndex);                            //Seleccionamos un registro
            }
        }
예제 #3
0
        /// <summary>
        /// Obtiene registros del catalogo GuestStatus
        /// </summary>
        /// <param name="guestStatusType">Objeto con filtros adicionales</param>
        /// <param name="nStatus">-1. Todos los registros | 0. Registros inactivos | 1. Registros activos</param>
        /// <returns>Lista de tipo GuestStatusType</returns>
        /// <history>
        /// [emoguel] created 24/03/2016
        /// [emoguel] modified 27/06/2016
        /// </history>
        public async static Task <List <GuestStatusType> > GetGuestStatusTypes(GuestStatusType guestStatusType = null, int nStatus = -1)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    var query = from gs in dbContext.GuestsStatusTypes
                                select gs;

                    if (nStatus != -1)//Filtro por estatus
                    {
                        bool blnEstatus = Convert.ToBoolean(nStatus);
                        query = query.Where(gs => gs.gsA == blnEstatus);
                    }

                    if (guestStatusType != null)                              //verificar si se tiene un objeto
                    {
                        if (!string.IsNullOrWhiteSpace(guestStatusType.gsID)) //filtro por ID
                        {
                            query = query.Where(gs => gs.gsID == guestStatusType.gsID);
                        }

                        if (!string.IsNullOrWhiteSpace(guestStatusType.gsN))//Filtro por descripcion
                        {
                            query = query.Where(gs => gs.gsN.Contains(guestStatusType.gsN));
                        }
                    }
                    return query.OrderBy(gs => gs.gsN).ToList();
                }
            }));
        }
예제 #4
0
        /// <summary>
        /// Abre la ventana detalle en modo add
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 28/03/2016
        /// </history>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmGuestStatusTypeDetail frmGuesStaDet = new frmGuestStatusTypeDetail();

            frmGuesStaDet.Owner    = this;
            frmGuesStaDet.enumMode = EnumMode.Add;
            if (frmGuesStaDet.ShowDialog() == true)
            {
                if (ValidateFilter(frmGuesStaDet.guestStaTyp))//Verificamos que cumpla con los filtros
                {
                    GuestStatusType        guestStaTyp    = frmGuesStaDet.guestStaTyp;
                    List <GuestStatusType> lstGuestStaTyp = (List <GuestStatusType>)dgrGuestStaTyp.ItemsSource;
                    lstGuestStaTyp.Add(guestStaTyp);                                      //Agregamos el nuevo registro
                    lstGuestStaTyp.Sort((x, y) => string.Compare(x.gsN, y.gsN));          //Ordenamos la lista
                    int nIndex = lstGuestStaTyp.IndexOf(guestStaTyp);                     //Buscamos la posición
                    StatusBarReg.Content = lstGuestStaTyp.Count + " Guest Status Types."; //Actualizamos el contador
                    dgrGuestStaTyp.Items.Refresh();
                    GridHelper.SelectRow(dgrGuestStaTyp, nIndex);
                }
            }
        }
예제 #5
0
        /// <summary>
        /// Llena el grid de guestStatusType
        /// </summary>
        /// <param name="nIndex">index de la fila a seleccionar</param>
        /// <history>
        /// [emoguel] created 24/03/2016
        /// </history>
        private async void LoadGuestStatusTypes(GuestStatusType guestStaTyp = null)
        {
            try
            {
                status.Visibility = Visibility.Visible;
                int nIndex = 0;
                List <GuestStatusType> lstGuestStaTyp = await BRGuestStatusTypes.GetGuestStatusTypes(_guestStaTypFilter, _nStatus);

                dgrGuestStaTyp.ItemsSource = lstGuestStaTyp;
                if (guestStaTyp != null && lstGuestStaTyp.Count > 0)
                {
                    guestStaTyp = lstGuestStaTyp.Where(gs => gs.gsID == guestStaTyp.gsID).FirstOrDefault();
                    nIndex      = lstGuestStaTyp.IndexOf(guestStaTyp);
                }
                GridHelper.SelectRow(dgrGuestStaTyp, nIndex);
                StatusBarReg.Content = lstGuestStaTyp.Count + " Guest Status Types.";
                status.Visibility    = Visibility.Collapsed;
            }
            catch (Exception ex)
            {
                UIHelper.ShowMessage(ex);
            }
        }
예제 #6
0
        /// <summary>
        /// Recarga el grid de guestStatusTypes
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 24/03/2016
        /// </history>
        private void btnRef_Click(object sender, RoutedEventArgs e)
        {
            GuestStatusType guestStaType = (GuestStatusType)dgrGuestStaTyp.SelectedItem;

            LoadGuestStatusTypes(guestStaType);
        }