private DetalleValidacion ValidaLayout() { DetalleValidacion detallevalidacion = new DetalleValidacion(); bool Exito = true; string ValoresInvalidos = ""; if (dtArchivo.Columns.Count != layoutColumnas) { Exito = false; ValoresInvalidos = "Se esperan 3 columnas."; } if (dtArchivo.Rows.Count == 0) { Exito = false; ValoresInvalidos = ValoresInvalidos + "Se esperan al menos 2 filas."; } if (Exito) { detallevalidacion.CodigoError = 0; detallevalidacion.Mensaje = "EXITO"; detallevalidacion.VerificacionValida = true; } else { detallevalidacion.CodigoError = erLayOut_NoEsElEsperado; detallevalidacion.Mensaje = "El layout no corresponde con el esperado. " + ValoresInvalidos; detallevalidacion.VerificacionValida = false; } return(detallevalidacion); }
private DetalleValidacion ValidaFormatoExcel() { DetalleValidacion detallevalidacion = new DetalleValidacion(); string contentType = "application/octetstream"; string ext = System.IO.Path.GetExtension(RutaArchivo + NombreArchivo).ToLower(); Microsoft.Win32.RegistryKey registryKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(ext); if (registryKey != null && registryKey.GetValue("Content Type") != null) { contentType = registryKey.GetValue("Content Type").ToString(); } //"application/vnd.ms-excel" //"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" if (contentType == TipoMIME) { detallevalidacion.CodigoError = 0; detallevalidacion.Mensaje = "EXITO"; detallevalidacion.VerificacionValida = true; } else { detallevalidacion.CodigoError = erArchivo_NoEsExcel; detallevalidacion.Mensaje = "Archivo invalido. No es un archivo de Excel valido."; detallevalidacion.VerificacionValida = false; } return(detallevalidacion); }
private DetalleValidacion ValidaCuentaBancaria() { DetalleValidacion detallevalidacion = new DetalleValidacion(); bool Exito = true; string ValoresInvalidos = ""; int RowNo = 1; foreach (DataRow row in dtArchivo.Rows) { RowNo = RowNo + 1; if (Convert.ToString(row[colCta]).Trim() != string.Empty & Convert.ToString(row[colCta]).Trim() != CuentaBancaria.ToString()) { Exito = false; ValoresInvalidos = ValoresInvalidos + RowNo.ToString() + ", "; } } if (Exito) { detallevalidacion.CodigoError = 0; detallevalidacion.Mensaje = "EXITO"; detallevalidacion.VerificacionValida = true; } else { detallevalidacion.CodigoError = erCtaBan_EncontroCuentaDistinta; detallevalidacion.Mensaje = "Se espera cuenta bancaria: " + CuentaBancaria.ToString() + ". Corrija la(s) fila(s): " + ValoresInvalidos; detallevalidacion.VerificacionValida = false; } return(detallevalidacion); }
public DetalleValidacion ValidaParentezco() { Conciliacion.RunTime.App objApp = new Conciliacion.RunTime.App(); DetalleValidacion detallevalidacion = new DetalleValidacion(); string Pedidoreferencia = ""; var ListaPedidoCliente = CrearListaGenerica(new { PedidoReferencia = "", Cliente = "" }); ListaPedidoCliente.Clear(); bool ResultadoValidacion = true; string DetalleError = ""; if (dtArchivo.Rows.Count > 0) { foreach (DataRow row in dtArchivo.Rows) { Pedidoreferencia = row[colDoc].ToString(); DataTable dtDetallePedido = objApp.Consultas.PedidoReferenciaDetalle(Pedidoreferencia); if (dtDetallePedido.Rows.Count > 0) { ListaPedidoCliente.Add(new { PedidoReferencia = dtDetallePedido.Rows[0]["PedidoReferencia"].ToString().Trim(), Cliente = dtDetallePedido.Rows[0]["Cliente"].ToString().Trim() }); } } } DataTable dtClienteFamilia; if (ListaPedidoCliente.Count > 0) { dtClienteFamilia = objApp.Consultas.FamiliaresCliente(Convert.ToInt32(ListaPedidoCliente[0].Cliente)); List <string> ListaFamilia = (from DataRow row in dtClienteFamilia.Rows select row["Cliente"].ToString()).Distinct().ToList(); foreach (var Cliente in ListaPedidoCliente) { if (!ListaFamilia.Exists(e => e.Contains(Cliente.Cliente))) { var ListaPedidos = ListaPedidoCliente.Where(x => x.Cliente == Cliente.Cliente).ToList(); ListaPedidos.ForEach(x => DetalleError += " \n " + x.PedidoReferencia.ToString().Trim() + " del cliente: " + x.Cliente.ToString().Trim() + ","); ResultadoValidacion = false; } } } if (ResultadoValidacion) { detallevalidacion.CodigoError = 0; detallevalidacion.Mensaje = "Todos los pedidos cargados corresponden a clientes emparentados."; detallevalidacion.VerificacionValida = true; } else { detallevalidacion.CodigoError = 500; detallevalidacion.Mensaje = "Los pedidos " + DetalleError + "\n no están emparentados y no serán cargados."; detallevalidacion.VerificacionValida = false; } return(detallevalidacion); }
public bool ArchivoValido(string RutaArchivo, string NombreArchivo) { bool existe; DetalleValidacion ValidoExcel = new DetalleValidacion(); existe = (NombreArchivo.Trim() != string.Empty & TipoMIME.Trim() != string.Empty & RutaArchivo.Trim() != string.Empty) & (File.Exists(RutaArchivo + NombreArchivo)); if (existe) { ValidoExcel = ValidaFormatoExcel(); return(ValidoExcel.CodigoError == 0); } else { return(false); } }
private DetalleValidacion ValidaMonto() { DetalleValidacion detallevalidacion = new DetalleValidacion(); bool Exito = true; string ValoresInvalidos = ""; double Monto; int rowNo = 1; foreach (DataRow row in dtArchivo.Rows) { rowNo = rowNo + 1; if (double.TryParse(row[colMon].ToString().Trim(), out Monto)) { Monto = Convert.ToDouble(string.Format("{0:C}", Monto).Replace("$", "")); if (Monto <= 0) { Exito = false; ValoresInvalidos = ValoresInvalidos + rowNo + ", "; } } else if (Convert.ToString(row[colMon]) != string.Empty) { Exito = false; ValoresInvalidos = ValoresInvalidos + rowNo + ", "; } } if (Exito) { detallevalidacion.CodigoError = 0; detallevalidacion.Mensaje = "EXITO"; detallevalidacion.VerificacionValida = true; } else { detallevalidacion.CodigoError = erMonto_Invalido; detallevalidacion.Mensaje = "Monto invalido. No es un valor numérico, es menor a $1 o excede dos decimales. Corrija los valores en la(s) fila(s): " + ValoresInvalidos; detallevalidacion.VerificacionValida = false; } return(detallevalidacion); }
private DetalleValidacion ValidaEncabezado() { DetalleValidacion detallevalidacion = new DetalleValidacion(); if (dtArchivo.Columns.Count >= 3 && string.Compare(GeneraMD5(strEncabezado), GeneraMD5(dtArchivo.Columns[0].ColumnName + dtArchivo.Columns[1].ColumnName + dtArchivo.Columns[2].ColumnName)) == 0) { detallevalidacion.CodigoError = 0; detallevalidacion.Mensaje = "EXITO"; detallevalidacion.VerificacionValida = true; } else { detallevalidacion.CodigoError = erEncabezado_Invalido; detallevalidacion.Mensaje = "Encabezado invalido. Se espera: Documento Cuenta Monto en la primer fila"; detallevalidacion.VerificacionValida = false; } return(detallevalidacion); }
private DetalleValidacion ValidaDocumentoReferencia() { Conciliacion.RunTime.App objApp = new Conciliacion.RunTime.App(); DetalleValidacion detallevalidacion = new DetalleValidacion(); bool Exito = true; string ValoresInvalidos = ""; int rowNo = 1; foreach (DataRow row in dtArchivo.Rows) { rowNo = rowNo + 1; //if ( ! Conciliacion.RunTime.App.Consultas.VerificaPedidoReferenciaExiste(row[colDoc].ToString()) ) ReferenciaNoConciliadaPedido ReferenciaNoConciliada = objApp.Consultas.ConsultaPedidoReferenciaEspecificoCliente(Corporativo, Sucursal, 1, 1, 1, 1, row[colDoc].ToString()); if (ReferenciaNoConciliada.Pedido == 0 || ReferenciaNoConciliada.CelulaPedido == 0 || ReferenciaNoConciliada.AñoPedido == 0) { Exito = false; ValoresInvalidos = ValoresInvalidos + rowNo.ToString() + ", "; } } if (Exito) { detallevalidacion.CodigoError = 0; detallevalidacion.Mensaje = "EXITO"; detallevalidacion.VerificacionValida = true; } else { detallevalidacion.CodigoError = erDocRef_EncontroDocRefDistinto; detallevalidacion.Mensaje = "No existe la Referencia Documento. Corrija la(s) fila(s): " + ValoresInvalidos; detallevalidacion.VerificacionValida = false; } return(detallevalidacion); }
public DetalleValidacion ValidaLineaVacia() { DetalleValidacion detallevalidacion = new DetalleValidacion(); bool Exito = true; string ValoresInvalidos = ""; int rowNo = 1; foreach (DataRow row in dtArchivo.Rows) { rowNo = rowNo + 1; for (int colNo = 0; colNo <= layoutColumnas - 1; colNo++) { if (Convert.ToString(row[colNo]) == string.Empty) { Exito = false; ValoresInvalidos = ValoresInvalidos + rowNo.ToString() + ", "; break; } } } if (Exito) { detallevalidacion.CodigoError = 0; detallevalidacion.Mensaje = "EXITO"; detallevalidacion.VerificacionValida = true; } else { detallevalidacion.CodigoError = erCelda_Vacia; detallevalidacion.Mensaje = "Celda vacía. Una o mas celdas estan vacías. Corrija la(s) fila(s): " + ValoresInvalidos; detallevalidacion.VerificacionValida = false; } return(detallevalidacion); }