Example #1
0
        /// <summary>
        /// Muestra la ventana detalle
        /// </summary>
        /// <history>
        /// [emoguel] 11/04/2016 Created
        /// </history>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            Post          post          = (Post)dgrPosts.SelectedItem;
            frmPostDetail frmPostDetail = new frmPostDetail();

            frmPostDetail.Owner    = this;
            frmPostDetail.oldPost  = post;
            frmPostDetail.enumMode = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly;
            if (frmPostDetail.ShowDialog() == true)
            {
                int         nIndex   = 0;
                List <Post> lstPosts = (List <Post>)dgrPosts.ItemsSource;
                if (ValidateFilter(frmPostDetail.post))                    //Verificamos si cumple con los filtros actuales
                {
                    ObjectHelper.CopyProperties(post, frmPostDetail.post); //Actualizamos los datos del registro
                    lstPosts.Sort((x, y) => string.Compare(x.poN, y.poN)); //Ordenamos la lista
                    nIndex = lstPosts.IndexOf(post);                       //buscamos la posiciĆ³n del registro nuevo
                }
                else
                {
                    lstPosts.Remove(post);//Quitamos el registro de la lista
                }
                dgrPosts.Items.Refresh();
                GridHelper.SelectRow(dgrPosts, nIndex);
                StatusBarReg.Content = lstPosts.Count + " Posts.";
            }
        }
Example #2
0
        /// <summary>
        /// Abre la ventana en modo add
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 11/04/2016
        /// </history>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmPostDetail frmPostDetail = new frmPostDetail();

            frmPostDetail.Owner    = this;
            frmPostDetail.enumMode = EnumMode.Add;
            if (frmPostDetail.ShowDialog() == true)
            {
                Post post = frmPostDetail.post;
                if (ValidateFilter(post))//verificamos si cumple con los filtros actuales
                {
                    List <Post> lstFiltros = (List <Post>)dgrPosts.ItemsSource;
                    lstFiltros.Add(post);                                    //Agreamos un registro nuevo
                    lstFiltros.Sort((x, y) => string.Compare(x.poN, y.poN)); //Ordenamos la lista
                    int nIndex = lstFiltros.IndexOf(post);                   //Obtenemos la posiciĆ³n del registro
                    dgrPosts.Items.Refresh();                                //Actualizamos la vista
                    GridHelper.SelectRow(dgrPosts, nIndex);                  //Seleccionamos el registro nuevo
                    StatusBarReg.Content = lstFiltros.Count + " Post.";      //Actualizamos el contador
                }
            }
        }