Ejemplo n.º 1
0
        /// <summary>
        /// Obtiene registros del catalogo FoliosCXC
        /// </summary>
        /// <param name="nStatus">-1. Todos los registros | 0. Registros inactivos | 1.Registros Activos</param>
        /// <returns>Lista de tipo FolioCXC</returns>
        /// <history>
        /// [emoguel] created 22/03/2016
        /// [emoguel] modified se volvió async
        /// </history>
        public async static Task <List <FolioCXC> > GetFoliosCXC(FolioCXC folioCXC = null, int nStatus = -1)
        {
            List <FolioCXC> lstFolios = await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    var query = from fi in dbContext.FoliosCXC
                                select fi;

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

                    if (folioCXC != null)                                                                        //Validamos si se tiene un objeto
                    {
                        if (folioCXC.fiFrom > 0 && folioCXC.fiTo > 0)                                            //Validamos que se tenga un rango mayor a 0
                        {
                            query = query.Where(fi => folioCXC.fiFrom >= fi.fiFrom && folioCXC.fiTo <= fi.fiTo); //Filtramos por folio
                        }
                    }

                    return(query.OrderBy(fi => fi.fiID).ToList());//Ordenamos por ID
                }
            });

            return(lstFolios);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Muestra la ventada detalle
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 22/03/2016
        /// </history>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            FolioCXC          folioCXC       = (FolioCXC)dgrFoliosCXC.SelectedItem;
            frmFolioCXCDetail frmFolioDetail = new frmFolioCXCDetail();

            frmFolioDetail.Owner       = this;
            frmFolioDetail.oldFolioCxc = folioCXC;
            frmFolioDetail.enumMode    = ((_blnEdit == true)?EnumMode.Edit:EnumMode.ReadOnly);

            if (frmFolioDetail.ShowDialog() == true)
            {
                int             nIndex       = 0;
                List <FolioCXC> lstFoliosCXC = (List <FolioCXC>)dgrFoliosCXC.ItemsSource;
                if (!ValidateFilter(frmFolioDetail.folioCXC)) //Validar si cumple con los filtros
                {
                    lstFoliosCXC.Remove(folioCXC);            //Quitamos de la lista
                }
                else
                {
                    ObjectHelper.CopyProperties(folioCXC, frmFolioDetail.folioCXC);//Actualizamos con los datos nuevos
                    lstFoliosCXC.Sort((x, y) => x.fiID.CompareTo(y.fiID));
                    nIndex = lstFoliosCXC.IndexOf(folioCXC);
                }

                dgrFoliosCXC.Items.Refresh();
                StatusBarReg.Content = lstFoliosCXC.Count + " Folios.";
                GridHelper.SelectRow(dgrFoliosCXC, nIndex);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Valida si el registro nuevo cumple con los filtros actuales
        /// </summary>
        /// <param name="newFolio"></param>
        /// <history>
        /// [emoguel] created 22/03/2016
        /// </history>
        private bool ValidateFilter(FolioCXC newFolio)
        {
            if (_nStatus != -1)//Validamos que se tenga definido un estatus
            {
                bool blnEstatus = Convert.ToBoolean(_nStatus);
                if (newFolio.fiA != blnEstatus)
                {
                    return(false);
                }
            }

            if (_folioFilter.fiFrom > 0 && _folioFilter.fiTo > 0)//Validamos que se tenga un rango
            {
                if (!(newFolio.fiFrom >= _folioFilter.fiFrom && newFolio.fiTo <= _folioFilter.fiTo))
                {
                    return(false);
                }
            }

            return(true);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Abre la ventana detalle en modo Add
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 22/03/2016
        /// </history>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmFolioCXCDetail frmFolioDetail = new frmFolioCXCDetail();

            frmFolioDetail.Owner    = this;
            frmFolioDetail.enumMode = EnumMode.Add;
            if (frmFolioDetail.ShowDialog() == true)
            {
                FolioCXC folioCXC = frmFolioDetail.folioCXC;

                if (ValidateFilter(folioCXC))
                {
                    List <FolioCXC> lstFoliosCXC = (List <FolioCXC>)dgrFoliosCXC.ItemsSource;
                    lstFoliosCXC.Add(folioCXC);
                    lstFoliosCXC.Sort((x, y) => x.fiID.CompareTo(y.fiID));
                    int nIndex = lstFoliosCXC.IndexOf(folioCXC);
                    dgrFoliosCXC.Items.Refresh();
                    GridHelper.SelectRow(dgrFoliosCXC, nIndex);
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Agrega|Actualiza un registro en el catalogo de FoliosCXC
        /// </summary>
        /// <param name="folioCXC">Objeto a guardar</param>
        /// <param name="blnUpdate">True. Actualiza | False. Agrega</param>
        /// <returns>0. No se guardó | 1. Guardado correctamente | -2. Verificar el rango</returns>
        /// <history>
        /// [emoguel] created 22/03/2016
        /// </history>
        public static int SaveFolioCXC(FolioCXC folioCXC, bool blnUpdate)
        {
            bool blnIsValid = false;

            using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
            {
                #region Actualizar
                if (blnUpdate)                                                                                                                //Actualizar
                {
                    blnIsValid = (bool)(dbContext.USP_OR_ValidateFolioCXC(folioCXC.fiFrom, folioCXC.fiTo, folioCXC.fiA, 1).FirstOrDefault()); //Valida si se puede guardar


                    if (blnIsValid)//Si es valido
                    {
                        dbContext.Entry(folioCXC).State = System.Data.Entity.EntityState.Modified;
                    }
                    else//No es valido
                    {
                        return(-2);
                    }
                }
                #endregion
                #region Insertar
                else//Insertar
                {
                    blnIsValid = (bool)(dbContext.USP_OR_ValidateFolioCXC(folioCXC.fiFrom, folioCXC.fiTo, folioCXC.fiA, 0).FirstOrDefault());//Valida si se puede guardar

                    if (blnIsValid)//Si es valido
                    {
                        dbContext.FoliosCXC.Add(folioCXC);
                    }
                    else//No es valido
                    {
                        return(-2);
                    }
                }
                #endregion
                return(dbContext.SaveChanges());
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Llena el grid de folios
        /// </summary>
        /// <history>
        /// [emoguel] created 22/03/2016
        /// </history>
        private async void LoadFoliosCXC(FolioCXC folioCxc = null)
        {
            try
            {
                status.Visibility = Visibility.Visible;
                int             nIndex       = 0;
                List <FolioCXC> lstFoliosCXC = await BRFoliosCXC.GetFoliosCXC(_folioFilter, _nStatus);

                dgrFoliosCXC.ItemsSource = lstFoliosCXC;
                if (folioCxc != null && lstFoliosCXC.Count > 0)
                {
                    folioCxc = lstFoliosCXC.Where(fi => fi.fiID == folioCxc.fiID).FirstOrDefault();
                    nIndex   = lstFoliosCXC.IndexOf(folioCxc);
                }
                GridHelper.SelectRow(dgrFoliosCXC, nIndex);
                StatusBarReg.Content = lstFoliosCXC.Count + " Folios.";
                status.Visibility    = Visibility.Collapsed;
            }
            catch (Exception ex)
            {
                UIHelper.ShowMessage(ex);
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Recarga el grid de folios
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 22/03/2016
        /// </history>
        private void btnRef_Click(object sender, RoutedEventArgs e)
        {
            FolioCXC folioCxc = (FolioCXC)dgrFoliosCXC.SelectedItem;

            LoadFoliosCXC(folioCxc);
        }