/// <summary> /// Valida que un objeto tipo reasonCancellationFolio /// cumpla con los filtros actuales /// </summary> /// <param name="reasonCancellationFolio">objeot a validar</param> /// <returns>True. Si cumple | False. No cumple</returns> /// <history> /// [emoguel] created 14/04/2016 /// </history> private bool ValidateFilter(ReasonCancellationFolio reasonCancellationFolio) { if (_nStatus != -1)//Filtro por estatus { if (reasonCancellationFolio.rcfA != Convert.ToBoolean(_nStatus)) { return(false); } } if (!string.IsNullOrWhiteSpace(_reasonCancelFolFilter.rcfID))//Filtro por ID { if (reasonCancellationFolio.rcfID != _reasonCancelFolFilter.rcfID) { return(false); } } if (!string.IsNullOrWhiteSpace(_reasonCancelFolFilter.rcfN))//Filtro por descripción { if (!reasonCancellationFolio.rcfN.Contains(_reasonCancelFolFilter.rcfN, StringComparison.OrdinalIgnoreCase)) { return(false); } } return(true); }
/// <summary> /// Muestra la ventana detalle en modo edit /// </summary> /// <history> /// [emoguel] 14/04/2016 Created /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { ReasonCancellationFolio reasonCancellationFolio = (ReasonCancellationFolio)dgrReaCanFols.SelectedItem; frmReasonCancellationFolioDetail frmReaCanFolDetail = new frmReasonCancellationFolioDetail(); frmReaCanFolDetail.Owner = this; frmReaCanFolDetail.enumMode = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly; frmReaCanFolDetail.oldReasonCanFol = reasonCancellationFolio; if (frmReaCanFolDetail.ShowDialog() == true) { int nIndex = 0; List <ReasonCancellationFolio> lstReaCanFols = (List <ReasonCancellationFolio>)dgrReaCanFols.ItemsSource; if (ValidateFilter(frmReaCanFolDetail.reasonCancellationFolio)) //Verificamos si cumple con los filtros actuales { ObjectHelper.CopyProperties(reasonCancellationFolio, frmReaCanFolDetail.reasonCancellationFolio); //Actualizamos los datos del registro lstReaCanFols.Sort((x, y) => string.Compare(x.rcfN, y.rcfN)); //ordenamos la lista nIndex = lstReaCanFols.IndexOf(reasonCancellationFolio); //obtenemos la posicion del registro } else { lstReaCanFols.Remove(reasonCancellationFolio); } dgrReaCanFols.Items.Refresh(); //Actualizamos los items del grid GridHelper.SelectRow(dgrReaCanFols, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstReaCanFols.Count + " Reason For Cancellation Of Folios."; //Actualizamos el contador } }
/// <summary> /// abre la ventana detalle en modo Add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 14/04/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmReasonCancellationFolioDetail frmResCanFolDetail = new frmReasonCancellationFolioDetail(); frmResCanFolDetail.Owner = this; frmResCanFolDetail.enumMode = EnumMode.Add; if (frmResCanFolDetail.ShowDialog() == true) { ReasonCancellationFolio reasonCacellationFolio = frmResCanFolDetail.reasonCancellationFolio; if (ValidateFilter(reasonCacellationFolio))//Verificamos si cumple con los filtros { List <ReasonCancellationFolio> lstReaCanFols = (List <ReasonCancellationFolio>)dgrReaCanFols.ItemsSource; lstReaCanFols.Add(reasonCacellationFolio); //Agregamos el registro a la lista lstReaCanFols.Sort((x, y) => string.Compare(x.rcfN, y.rcfN)); //Ordenamos la lista int nIndex = lstReaCanFols.IndexOf(reasonCacellationFolio); dgrReaCanFols.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrReaCanFols, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstReaCanFols.Count + " Reason For Cancellation Of Folios."; //Actualizamos el contador } } }
/// <summary> /// Llena el grid de Folio Cancelation Folios /// </summary> /// <param name="reasonCancellationFollio">Objeto a seleccionar</param> /// <history> /// [emoguel] created 14/04/2016 /// </history> private async void LoadReasonCancellationFolios(ReasonCancellationFolio reasonCancellationFollio = null) { try { status.Visibility = Visibility.Visible; int nIndex = 0; List <ReasonCancellationFolio> lstReaCanFols = await BRReasonCancellationFolios.GetReasonCancellationFolios(_nStatus, _reasonCancelFolFilter); dgrReaCanFols.ItemsSource = lstReaCanFols; if (lstReaCanFols.Count > 0 && reasonCancellationFollio != null) { reasonCancellationFollio = lstReaCanFols.Where(rcf => rcf.rcfID == reasonCancellationFollio.rcfID).FirstOrDefault(); nIndex = lstReaCanFols.IndexOf(reasonCancellationFollio); } GridHelper.SelectRow(dgrReaCanFols, nIndex); StatusBarReg.Content = lstReaCanFols.Count + " Reason For Cancellation Of Folios."; status.Visibility = Visibility.Collapsed; } catch (Exception ex) { UIHelper.ShowMessage(ex); } }
/// <summary> /// Actualiza los registros del grid /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 14/04/2016 /// </history> private void btnRef_Click(object sender, RoutedEventArgs e) { ReasonCancellationFolio reasonCancellationFolio = (ReasonCancellationFolio)dgrReaCanFols.SelectedItem; LoadReasonCancellationFolios(reasonCancellationFolio); }
/// <summary> /// Obtiene registros del Catalogo ReasonCancellationFolios /// </summary> /// <param name="nStatus">-1. Todos | 0. Inactivos | 1.Activos</param> /// <param name="reasonCancellationFolio">objeto con filtros especiales</param> /// <returns>Lista de tipo ReasonCancellationFolio</returns> /// <history> /// [emoguel] created 14/04/2016 /// </history> public async static Task <List <ReasonCancellationFolio> > GetReasonCancellationFolios(int nStatus = -1, ReasonCancellationFolio reasonCancellationFolio = null) { List <ReasonCancellationFolio> lstReasonCancellation = await Task.Run(() => { using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString())) { var query = from rcf in dbContext.ReasonsCancellationFolios select rcf; if (nStatus != -1)//Filtro por estatus { bool blnStatus = Convert.ToBoolean(nStatus); query = query.Where(rcf => rcf.rcfA == blnStatus); } if (reasonCancellationFolio != null) //Verificamos que se tenga un objeto { if (!string.IsNullOrWhiteSpace(reasonCancellationFolio.rcfID)) //Filtro por ID { query = query.Where(rcf => rcf.rcfID == reasonCancellationFolio.rcfID); } if (!string.IsNullOrWhiteSpace(reasonCancellationFolio.rcfN))//Filtro po descripción { query = query.Where(rcf => rcf.rcfN.Contains(reasonCancellationFolio.rcfN)); } } return(query.OrderBy(rcf => rcf.rcfN).ToList()); } }); return(lstReasonCancellation); }