/// <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 04/06/2016 /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { UnavailableMotive unavailableMotive = (UnavailableMotive)dgrUnavailableMotives.SelectedItem; frmUnavailableMotiveDetail frmUnavailableMotDetail = new frmUnavailableMotiveDetail(); frmUnavailableMotDetail.Owner = this; frmUnavailableMotDetail.enumMode = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly; frmUnavailableMotDetail.oldUnavailableMotive = unavailableMotive; if (frmUnavailableMotDetail.ShowDialog() == true) { int nIndex = 0; List <UnavailableMotive> lstUnavailableMotives = (List <UnavailableMotive>)dgrUnavailableMotives.ItemsSource; if (ValidateFilter(frmUnavailableMotDetail.unavailableMotive)) //Verificamos que cumpla con ls filtros { ObjectHelper.CopyProperties(unavailableMotive, frmUnavailableMotDetail.unavailableMotive); //Actualizamos los datos lstUnavailableMotives.Sort((x, y) => string.Compare(x.umN, y.umN)); //Ordenamos la lista nIndex = lstUnavailableMotives.IndexOf(unavailableMotive); //Buscamos el contador } else { lstUnavailableMotives.Remove(unavailableMotive); } dgrUnavailableMotives.Items.Refresh(); ///Actualizamos la vista GridHelper.SelectRow(dgrUnavailableMotives, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstUnavailableMotives.Count + " Unavailable Motives"; //Actualizamos el contador } }
/// <summary> /// Abre la venta detalle en modo add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 04/06/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmUnavailableMotiveDetail frmUnavailableMotiveDetail = new frmUnavailableMotiveDetail(); frmUnavailableMotiveDetail.Owner = this; frmUnavailableMotiveDetail.enumMode = EnumMode.Add; if (frmUnavailableMotiveDetail.ShowDialog() == true) { if (ValidateFilter(frmUnavailableMotiveDetail.unavailableMotive))//verificamos que cumpla con los filtros { List <UnavailableMotive> lstUnavailableMotives = (List <UnavailableMotive>)dgrUnavailableMotives.ItemsSource; lstUnavailableMotives.Add(frmUnavailableMotiveDetail.unavailableMotive); //Agregamos el registro lstUnavailableMotives.Sort((x, y) => string.Compare(x.umN, y.umN)); //Ordenamos la lista int nIndex = lstUnavailableMotives.IndexOf(frmUnavailableMotiveDetail.unavailableMotive); //Obtenemos la posicion del registro dgrUnavailableMotives.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrUnavailableMotives, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstUnavailableMotives.Count + " Unavailable Motives."; //Actualizamos el contador } } }