Ejemplo n.º 1
0
        /// <summary>
        /// Abre la ventana detalle en modo "detalle" o "edición" dependiendo de sus permisos
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 30/04/2016
        /// </history>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            Bank          bank          = (Bank)dtgBanks.SelectedItem;
            frmBankDetail frmBankDetail = new frmBankDetail();

            frmBankDetail.Owner    = this;
            frmBankDetail.enumMode = EnumMode.Edit;
            frmBankDetail.oldBank  = bank;
            if (frmBankDetail.ShowDialog() == true)
            {
                List <Bank> lstBanks = (List <Bank>)dtgBanks.ItemsSource;
                int         nIndex   = 0;
                if (ValidateFilter(frmBankDetail.bank))                          //Verificamos que cumpla con los filtros
                {
                    ObjectHelper.CopyProperties(bank, frmBankDetail.bank, true); //Actualizamos los datos del registro
                    lstBanks.Sort((x, y) => string.Compare(x.bkN, y.bkN));       //Reordenamos la lista
                    nIndex = lstBanks.IndexOf(bank);                             //Buscamos la posición del registro
                }
                else
                {
                    lstBanks.Remove(bank);                         //Quitamos de la lista
                }
                dtgBanks.Items.Refresh();                          //Actualizamos la vista
                GridHelper.SelectRow(dtgBanks, nIndex);            //Seleccionamos el registro
                StatusBarReg.Content = lstBanks.Count + " Banks."; //Actualizamos el contador
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Abre la ventana detalle en modo Add
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 30/04/2016
        /// </history>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmBankDetail frmBankDetail = new frmBankDetail();

            frmBankDetail.Owner    = this;
            frmBankDetail.enumMode = EnumMode.Add;
            if (frmBankDetail.ShowDialog() == true)
            {
                if (ValidateFilter(frmBankDetail.bank))//Validamos que cumpla con los filtros actuales
                {
                    List <Bank> lstBanks = (List <Bank>)dtgBanks.ItemsSource;
                    lstBanks.Add(frmBankDetail.bank);                      //Agregamos el registro a la lista
                    lstBanks.Sort((x, y) => string.Compare(x.bkN, y.bkN)); //Ordenamos la lista
                    int nIndex = lstBanks.IndexOf(frmBankDetail.bank);     //BUscamos la posicion del registro
                    dtgBanks.Items.Refresh();                              //Actualizamos la vista
                    GridHelper.SelectRow(dtgBanks, nIndex);                //Seleccionamos el registro
                    StatusBarReg.Content = lstBanks.Count + " Banks.";     //Actualizamos el contador
                }
            }
        }