Exemple #1
0
        /// <summary>
        /// Muestra la ventana detalle en modo edit
        /// </summary>
        /// <history>
        /// [emoguel] 25/04/2016 Created
        /// </history>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            ShowProgram          showProgram          = (ShowProgram)dgrShowPrograms.SelectedItem;
            frmShowProgramDetail frmShowProgramDetail = new frmShowProgramDetail();

            frmShowProgramDetail.Owner          = this;
            frmShowProgramDetail.oldShowProgram = showProgram;
            frmShowProgramDetail.enumMode       = EnumMode.Edit;
            if (frmShowProgramDetail.ShowDialog() == true)
            {
                List <ShowProgram> lstShowPrograms = (List <ShowProgram>)dgrShowPrograms.ItemsSource;
                int nIndex = 0;
                if (ValidateFilter(frmShowProgramDetail.showProgram))                           //Validar que cumpla con los filtros
                {
                    ObjectHelper.CopyProperties(showProgram, frmShowProgramDetail.showProgram); //Actualizar los datos
                    lstShowPrograms.Sort((x, y) => string.Compare(x.skN, y.skN));               //Ordenar la lista
                    nIndex = lstShowPrograms.IndexOf(showProgram);                              //Obtener la posición del registro
                }
                else
                {
                    lstShowPrograms.Remove(showProgram);                          //Remover el registro
                }
                dgrShowPrograms.Items.Refresh();                                  //Actualizar la vista
                GridHelper.SelectRow(dgrShowPrograms, nIndex);                    //Seleccionar el registro
                StatusBarReg.Content = lstShowPrograms.Count + " Show Programs."; //Actualizar el contador
            }
        }
Exemple #2
0
        /// <summary>
        /// Abre la ventana detalle en modo Search
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 25/04/2016
        /// </history>
        private void btnSearch_Click(object sender, RoutedEventArgs e)
        {
            frmShowProgramDetail frmShowProgramDetail = new frmShowProgramDetail();

            frmShowProgramDetail.Owner          = this;
            frmShowProgramDetail.enumMode       = EnumMode.Search;
            frmShowProgramDetail.oldShowProgram = _showProgramFilter;
            frmShowProgramDetail.nStatus        = _nStatus;
            if (frmShowProgramDetail.ShowDialog() == true)
            {
                _nStatus           = frmShowProgramDetail.nStatus;
                _showProgramFilter = frmShowProgramDetail.showProgram;
                LoadShowPrograms();
            }
        }
Exemple #3
0
        /// <summary>
        /// Abre la ventana detalle en modo Add
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 26/04/2016
        /// </history>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmShowProgramDetail frmShowProgramDetail = new frmShowProgramDetail();

            frmShowProgramDetail.Owner    = this;
            frmShowProgramDetail.enumMode = EnumMode.Add;
            if (frmShowProgramDetail.ShowDialog() == true)
            {
                ShowProgram showProgram = frmShowProgramDetail.showProgram;
                if (ValidateFilter(showProgram))//Validar si cumple con los filtros
                {
                    List <ShowProgram> lstShowPrograms = (List <ShowProgram>)dgrShowPrograms.ItemsSource;
                    lstShowPrograms.Add(showProgram);                                 //Agregamos el registro
                    lstShowPrograms.Sort((x, y) => string.Compare(x.skN, y.skN));     //Ordenar la lista
                    int nIndex = lstShowPrograms.IndexOf(showProgram);                //Obtener la posición del registro
                    dgrShowPrograms.Items.Refresh();                                  //Actualizar la vista
                    GridHelper.SelectRow(dgrShowPrograms, nIndex);                    //Seleccionar un registro
                    StatusBarReg.Content = lstShowPrograms.Count + " Show Programs."; //Actualizamos el contador
                }
            }
        }
Exemple #4
0
        /// <summary>
        /// Llena el grid
        /// </summary>
        /// <param name="showProgram">Objeto a seleccionar</param>
        /// <history>
        /// [emoguel] created 25/04/2016
        /// </history>
        private async void LoadShowPrograms(ShowProgram showProgram = null)
        {
            try
            {
                status.Visibility = Visibility.Visible;
                int nIndex = 0;
                List <ShowProgram> lstShowPrograms = await BRShowPrograms.GetShowPrograms(_nStatus, _showProgramFilter);

                dgrShowPrograms.ItemsSource = lstShowPrograms;
                if (lstShowPrograms.Count > 0 && showProgram != null)
                {
                    showProgram = lstShowPrograms.Where(sk => sk.skID == showProgram.skID).FirstOrDefault();
                    nIndex      = lstShowPrograms.IndexOf(showProgram);
                }
                GridHelper.SelectRow(dgrShowPrograms, nIndex);
                StatusBarReg.Content = lstShowPrograms.Count + " Show Programs.";
                status.Visibility    = Visibility.Collapsed;
            }
            catch (Exception ex)
            {
                UIHelper.ShowMessage(ex);
            }
        }
Exemple #5
0
        /// <summary>
        /// Valida que un show program cumpla con los filtros Actuales
        /// </summary>
        /// <param name="showProgram">Objeto a validar</param>
        /// <returns>True. Si cumple | False. No cumple</returns>
        /// <history>
        /// [emoguel] created 25/04/2016
        /// </history>
        private bool ValidateFilter(ShowProgram showProgram)
        {
            if (_nStatus != -1)//Filtro por Status
            {
                if (showProgram.skA != Convert.ToBoolean(_nStatus))
                {
                    return(false);
                }
            }

            if (!string.IsNullOrWhiteSpace(_showProgramFilter.skID))//Filtro por ID
            {
                if (_showProgramFilter.skID != showProgram.skID)
                {
                    return(false);
                }
            }

            if (!string.IsNullOrWhiteSpace(_showProgramFilter.skN))//Filtro por descripción
            {
                if (!showProgram.skN.Contains(_showProgramFilter.skN, StringComparison.OrdinalIgnoreCase))
                {
                    return(false);
                }
            }

            if (!string.IsNullOrWhiteSpace(_showProgramFilter.sksg))//Filtro por categoria
            {
                if (_showProgramFilter.sksg != showProgram.sksg)
                {
                    return(false);
                }
            }

            return(true);
        }
Exemple #6
0
        /// <summary>
        /// Actualiza el grid
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param><
        /// <history>
        /// [emoguel] created 25/04/2016
        /// </history>
        private void btnRef_Click(object sender, RoutedEventArgs e)
        {
            ShowProgram showProgram = (ShowProgram)dgrShowPrograms.SelectedItem;

            LoadShowPrograms(showProgram);
        }
Exemple #7
0
        /// <summary>
        /// Obtiene registros del catalogo ShowPrograms
        /// </summary>
        /// <param name="nStatus">-1. Todos | 0. Inactivos | 1.Activos</param>
        /// <param name="showProgram">Objeto con filtros adicionales</param>
        /// <returns>Lista de tipo ShowProgram</returns>
        /// <history>
        /// [emoguel] created 25/04/2016
        /// [emoguel] modified 04/06/2016 se volvió async
        /// </history>
        public async static Task <List <ShowProgram> > GetShowPrograms(int nStatus = -1, ShowProgram showProgram = null)
        {
            List <ShowProgram> lstShowPrgrams = await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    var query = from sk in dbContext.ShowPrograms
                                select sk;

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

                    if (showProgram != null)
                    {
                        if (!string.IsNullOrWhiteSpace(showProgram.skID))//Filtro por ID
                        {
                            query = query.Where(sk => sk.skID == showProgram.skID);
                        }

                        if (!string.IsNullOrWhiteSpace(showProgram.skN))//Filtro por descripción
                        {
                            query = query.Where(sk => sk.skN.Contains(showProgram.skN));
                        }

                        if (!string.IsNullOrWhiteSpace(showProgram.sksg))//Filtro por category
                        {
                            query = query.Where(sk => sk.sksg == showProgram.sksg);
                        }
                    }

                    return(query.OrderBy(sk => sk.skN).ToList());
                }
            });

            return(lstShowPrgrams);
        }