/// <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 02/06/2016 /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { SegmentCategory segmentCategory = (SegmentCategory)dgrSegmentsCategories.SelectedItem; frmSegmentCategoryDetail frmSegmentCategoryDet = new frmSegmentCategoryDetail(); frmSegmentCategoryDet.Owner = this; frmSegmentCategoryDet.oldSegmentCategory = segmentCategory; frmSegmentCategoryDet.enumMode = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly; if (frmSegmentCategoryDet.ShowDialog() == true) { List <SegmentCategory> lstSegmentsCategories = (List <SegmentCategory>)dgrSegmentsCategories.ItemsSource; int nIndex = 0; if (ValidateFilter(frmSegmentCategoryDet.segmentCategory)) //verificamos que cumpla con los filtros { ObjectHelper.CopyProperties(segmentCategory, frmSegmentCategoryDet.segmentCategory); //Actualizamos los datos lstSegmentsCategories.Sort((x, y) => string.Compare(x.scN, y.scN)); //Ordenamos la lista nIndex = lstSegmentsCategories.IndexOf(frmSegmentCategoryDet.segmentCategory); //Buscamos la posición del regsitro } else { lstSegmentsCategories.Remove(frmSegmentCategoryDet.segmentCategory); //Quitamos el registro } dgrSegmentsCategories.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrSegmentsCategories, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstSegmentsCategories.Count + " Segments Categories"; //Actualizamos el contador } }
/// <summary> /// Abre la ventana detalle en modo Add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 02/06/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmSegmentCategoryDetail frmSegmentCategory = new frmSegmentCategoryDetail(); frmSegmentCategory.Owner = this; frmSegmentCategory.enumMode = EnumMode.Add; if (frmSegmentCategory.ShowDialog() == true) { if (ValidateFilter(frmSegmentCategory.segmentCategory))//Verificamos que cumpla con los filtros { List <SegmentCategory> lstSegmentsCategory = (List <SegmentCategory>)dgrSegmentsCategories.ItemsSource; lstSegmentsCategory.Add(frmSegmentCategory.segmentCategory); //Agregamos el registro int nIndex = lstSegmentsCategory.IndexOf(frmSegmentCategory.segmentCategory); //Buscamos la posición del registro dgrSegmentsCategories.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrSegmentsCategories, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstSegmentsCategory.Count + " Segments Categories"; //Actualizamos el contador } } }