/// <summary> /// Muestra la ventana detalle en modo edit /// </summary> /// <history> /// [emoguel] 26/04/2016 Created /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { SourcePayment sourcePayment = (SourcePayment)dgrSourcePayments.SelectedItem; frmSourcePaymentDetail frmSourcePayment = new frmSourcePaymentDetail(); frmSourcePayment.Owner = this; frmSourcePayment.enumMode = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly; frmSourcePayment.oldSourcePayment = sourcePayment; if (frmSourcePayment.ShowDialog() == true) { int nIndex = 0; List <SourcePayment> lstSourcePayments = (List <SourcePayment>)dgrSourcePayments.ItemsSource; if (ValidateFilter(frmSourcePayment.sourcePayment)) //Validamos si cumple con los filtros actuales { ObjectHelper.CopyProperties(sourcePayment, frmSourcePayment.sourcePayment); //Actualizamos los datos lstSourcePayments.Sort((x, Y) => string.Compare(x.sbN, Y.sbN)); //Ordenamos la lista nIndex = lstSourcePayments.IndexOf(sourcePayment); //Obtenemos la posición del registro } else { lstSourcePayments.Remove(sourcePayment); //Quitamos el registro } dgrSourcePayments.Items.Refresh(); //Actualizamos la vista del contador GridHelper.SelectRow(dgrSourcePayments, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstSourcePayments.Count + " Source Payments."; //Actualizamos el contador } }
/// <summary> /// Abre la ventana detalle en modo add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 26/04/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmSourcePaymentDetail frmSourcePaymentDetail = new frmSourcePaymentDetail(); frmSourcePaymentDetail.Owner = this; frmSourcePaymentDetail.enumMode = EnumMode.Add; if (frmSourcePaymentDetail.ShowDialog() == true) { SourcePayment sourcePayment = frmSourcePaymentDetail.sourcePayment; if (ValidateFilter(sourcePayment))//Validamos que cumpla con los filtros actuales { List <SourcePayment> lstSourcePayment = (List <SourcePayment>)dgrSourcePayments.ItemsSource; lstSourcePayment.Add(sourcePayment); //Agregamos el registro a la lista lstSourcePayment.Sort((x, y) => string.Compare(x.sbN, y.sbN)); //Ordenamos la lista int nInde = lstSourcePayment.IndexOf(sourcePayment); //Obtenemos la posición del registro dgrSourcePayments.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrSourcePayments, nInde); //Seleccionamos el registro StatusBarReg.Content = lstSourcePayment.Count + " Source Payments."; //Actualizamos el contador } } }