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 07/06/2016
        /// </history>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            Zone          zone          = (Zone)dgrZones.SelectedItem;
            frmZoneDetail frmZoneDetail = new frmZoneDetail();

            frmZoneDetail.Owner    = this;
            frmZoneDetail.enumMode = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly;
            frmZoneDetail.oldZone  = zone;
            if (frmZoneDetail.ShowDialog() == true)
            {
                int         nIndex   = 0;
                List <Zone> lstZones = (List <Zone>)dgrZones.ItemsSource;
                if (ValidateFilter(frmZoneDetail.zone))
                {
                    ObjectHelper.CopyProperties(zone, frmZoneDetail.zone); //Actualizamos los datos
                    lstZones.Sort((x, y) => string.Compare(x.znN, y.znN)); //ordenamos la lista
                    nIndex = lstZones.IndexOf(zone);                       //obtenemos la posición del registro
                }
                else
                {
                    lstZones.Remove(zone);                         //Quitamos el registro
                }
                dgrZones.Items.Refresh();                          //Actualizamos la vista
                GridHelper.SelectRow(dgrZones, nIndex);            //Seleccionamos el registro
                StatusBarReg.Content = lstZones.Count + " Zones."; //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 07/06/2016
        /// </history>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmZoneDetail frmZoneDatail = new frmZoneDetail();

            frmZoneDatail.Owner    = this;
            frmZoneDatail.enumMode = EnumMode.Add;
            if (frmZoneDatail.ShowDialog() == true)
            {
                if (ValidateFilter(frmZoneDatail.zone))//Verificamos que cumpla con los filtros
                {
                    List <Zone> lstZones = (List <Zone>)dgrZones.ItemsSource;
                    lstZones.Add(frmZoneDatail.zone);                      //Agregamos el registro
                    lstZones.Sort((x, y) => string.Compare(x.znN, y.znN)); //ordenamos la lista
                    int nIndex = lstZones.IndexOf(frmZoneDatail.zone);     //obtenemos la posición del registro
                    dgrZones.Items.Refresh();                              //Actualizamos la vista
                    GridHelper.SelectRow(dgrZones, nIndex);                //Seleccionamos el registro
                    StatusBarReg.Content = lstZones.Count + "Zones";       //Actualizamos el contador
                }
            }
        }