コード例 #1
0
 /// <summary>
 /// Valida que un objeto ReimpresionMotive
 /// cumpla con los filtros actuales
 /// </summary>
 /// <param name="reimpresionMotive">objeto a validar</param>
 /// <returns>True. si cump´le | False. No cumple</returns>
 /// <history>
 /// [emoguel] created 16/04/2016
 /// </history>
 private bool ValidateFilter(ReimpresionMotive reimpresionMotive)
 {
     if (_nStatus != -1)//Filtro por estatus
     {
         if (reimpresionMotive.rmA != Convert.ToBoolean(_nStatus))
         {
             return(false);
         }
     }
     if (_reimpresionMotiveFilter.rmID > 0)//filtro por ID
     {
         if (_reimpresionMotiveFilter.rmID != reimpresionMotive.rmID)
         {
             return(false);
         }
     }
     if (!string.IsNullOrWhiteSpace(_reimpresionMotiveFilter.rmN))//Filtro por descripción
     {
         if (!reimpresionMotive.rmN.Contains(_reimpresionMotiveFilter.rmN, StringComparison.OrdinalIgnoreCase))
         {
             return(false);
         }
     }
     return(true);
 }
コード例 #2
0
        /// <summary>
        /// Muestra la ventana detalle en modo edit
        /// </summary>
        /// <history>
        /// [emoguel] 15/04/2016 Created
        /// </history>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            ReimpresionMotive          reimpresionMotive    = (ReimpresionMotive)dgrReimpresionMotives.SelectedItem;
            frmReimpresionMotiveDetail frmReimpresionMotive = new frmReimpresionMotiveDetail();

            frmReimpresionMotive.Owner                = this;
            frmReimpresionMotive.enumMode             = EnumMode.Edit;
            frmReimpresionMotive.oldReimpresionMotive = reimpresionMotive;
            if (frmReimpresionMotive.ShowDialog() == true)
            {
                int nIndex = 0;
                List <ReimpresionMotive> lstReimpresionMotive = (List <ReimpresionMotive>)dgrReimpresionMotives.ItemsSource;
                if (ValidateFilter(frmReimpresionMotive.reimpresionMotive))                                 //Verificamos que cumpla con los filtros actuales del grid
                {
                    ObjectHelper.CopyProperties(reimpresionMotive, frmReimpresionMotive.reimpresionMotive); //Actualizamos los valores
                    lstReimpresionMotive.Sort((x, y) => string.Compare(x.rmN, y.rmN));                      //Ordenamos la lista
                    nIndex = lstReimpresionMotive.IndexOf(reimpresionMotive);                               //Obtenemos el index del registro
                }
                else
                {
                    lstReimpresionMotive.Remove(reimpresionMotive);                          //Quitamos el registro
                }
                dgrReimpresionMotives.Items.Refresh();                                       //Actualizamos la vista
                GridHelper.SelectRow(dgrReimpresionMotives, nIndex);                         //Seleccionamos el contador
                StatusBarReg.Content = lstReimpresionMotive.Count + " Reimpresion Motives."; //Actualizamos el contador
            }
        }
コード例 #3
0
        /// <summary>
        /// Valida que tenga un motivo seleccionado y cierra el formulario
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [vipacheco] 09/Junio/2016 Created
        /// </history>
        private void btnOk_Click(object sender, RoutedEventArgs e)
        {
            ReimpresionMotive Selected = LstMotives.SelectedItem as ReimpresionMotive;

            if (Selected != null)
            {
                DialogResult = true;
            }
            else
            {
                UIHelper.ShowMessage("Please specify the motive", MessageBoxImage.Information, "Reimpresion Motives");
            }
        }
コード例 #4
0
        /// <summary>
        /// Abre la ventana detalle en modo Add
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 16/04/2016
        /// </history>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmReimpresionMotiveDetail frmReimpresionMotive = new frmReimpresionMotiveDetail();

            frmReimpresionMotive.Owner    = this;
            frmReimpresionMotive.enumMode = EnumMode.Add;
            if (frmReimpresionMotive.ShowDialog() == true)
            {
                ReimpresionMotive reimpresionMotive = frmReimpresionMotive.reimpresionMotive;
                if (ValidateFilter(reimpresionMotive))//Verificamos si cumple con los filtros actuales
                {
                    List <ReimpresionMotive> lstReimpresionMotive = (List <ReimpresionMotive>)dgrReimpresionMotives.ItemsSource;
                    lstReimpresionMotive.Add(reimpresionMotive);                                 //Agregamos el registro nuevo
                    lstReimpresionMotive.Sort((x, y) => string.Compare(x.rmN, y.rmN));           //Ordenamos la lista
                    int nIndex = lstReimpresionMotive.IndexOf(reimpresionMotive);                //Obtemos la posicion del nuevo registro
                    dgrReimpresionMotives.Items.Refresh();                                       //Actualizamos la vista
                    GridHelper.SelectRow(dgrReimpresionMotives, nIndex);                         //Seleccionamos el registro nuevo
                    StatusBarReg.Content = lstReimpresionMotive.Count + " Reimpresion Motives."; //Actualizamos el contador
                }
            }
        }
コード例 #5
0
        /// <summary>
        /// Llena el grid de Reimpresion Motives
        /// </summary>
        /// <param name="reimpresionMotive">registro a seleccionar</param>
        /// <history>
        /// [emoguel] created 16/04/2016
        /// </history>
        private async void LoadReimpresionMotives(ReimpresionMotive reimpresionMotive = null)
        {
            try
            {
                status.Visibility = Visibility.Visible;
                int nIndex = 0;
                List <ReimpresionMotive> lstReimpresionMotive = await BRReimpresionMotives.GetReimpresionMotives(_nStatus, _reimpresionMotiveFilter);

                dgrReimpresionMotives.ItemsSource = lstReimpresionMotive;

                if (lstReimpresionMotive.Count > 0 && reimpresionMotive != null)
                {
                    reimpresionMotive = lstReimpresionMotive.Where(rm => rm.rmID == reimpresionMotive.rmID).FirstOrDefault();
                    nIndex            = lstReimpresionMotive.IndexOf(reimpresionMotive);
                }
                GridHelper.SelectRow(dgrReimpresionMotives, nIndex);
                StatusBarReg.Content = lstReimpresionMotive.Count + " Reimpresion Motives.";
                status.Visibility    = Visibility.Collapsed;
            }
            catch (Exception ex)
            {
                UIHelper.ShowMessage(ex);
            }
        }
コード例 #6
0
        /// <summary>
        /// Obtiene registros del catalogo ReimpresionMotives
        /// </summary>
        /// <param name="nStatus">-1. Todos | 0. Inactivos |1. Activos</param>
        /// <param name="reimpresionMotive">Objeto con filtros adicionales</param>
        /// <returns>Lista de tipo ReimpresionMotive</returns>
        /// <history>
        /// [emoguel] created 16/04/2016
        /// [emoguel] modified 28/06/2016 ---> Se volvió async
        /// </history>
        public async static Task <List <ReimpresionMotive> > GetReimpresionMotives(int nStatus = -1, ReimpresionMotive reimpresionMotive = null)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    var query = from rm in dbContext.ReimpresionMotives
                                select rm;

                    if (nStatus != -1)//Filtro por estatus
                    {
                        bool blnStatus = Convert.ToBoolean(nStatus);
                        query = query.Where(rm => rm.rmA == blnStatus);
                    }

                    if (reimpresionMotive != null)      //Verificamos si se tiene un objeto
                    {
                        if (reimpresionMotive.rmID > 0) //Filtro por ID
                        {
                            query = query.Where(rm => rm.rmID == reimpresionMotive.rmID);
                        }

                        if (!string.IsNullOrWhiteSpace(reimpresionMotive.rmN))//Filtro por Descripcion
                        {
                            query = query.Where(rm => rm.rmN.Contains(reimpresionMotive.rmN));
                        }
                    }
                    return query.OrderBy(rm => rm.rmN).ToList();
                }
            }));
        }
コード例 #7
0
        /// <summary>
        /// Actualiza los registros del grid
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 16/06/2016
        /// </history>
        private void btnRef_Click(object sender, RoutedEventArgs e)
        {
            ReimpresionMotive reimpresionMotive = (ReimpresionMotive)dgrReimpresionMotives.SelectedItem;

            LoadReimpresionMotives(reimpresionMotive);
        }