public List <ListaDocumentosCartaXSLT> cadenaImpresionMilenia(int pedido, string ip) { List <ListaDocumentosCartaXSLT> cartas = new List <ListaDocumentosCartaXSLT>(); EntMileniaPosVenta ent = new EntMileniaPosVenta(); try { var det = ent.obtenerDetalleMilenias(pedido); ArrayList milenias = this.ImprimeGarantiaMilenia(det, ip); if (milenias == null) { return(cartas); } for (int i = 0; i < milenias.Count; i++) { cartas.Add((ListaDocumentosCartaXSLT)milenias[i]); //sourcekey = "PolizasMilenia" + i.ToString(); } } catch (Exception e) { } return(cartas); }
}// public bool ValidaImpresionMilenia() { bool esImpresionMilenia = false; EntMileniaPosVenta catalogoGenerico = new EntMileniaPosVenta(); DataSet catalogo = catalogoGenerico.ObtenerCatalogo(57); if (catalogo.Tables.Count > 0) { foreach (DataRow Catalogos in catalogo.Tables[0].Rows) { if (Catalogos["fiItemId"].ToString().Trim().Equals("17") && Convert.ToBoolean(Catalogos["flStatus"])) { esImpresionMilenia = true; break; } } } return(esImpresionMilenia); }
public ArrayList ImprimeGarantiaMilenia(DataSet detalleMilenia, string ip) { ArrayList Retorno = new ArrayList(); EntMileniaPosVenta ent = new EntMileniaPosVenta(); try { if (detalleMilenia != null && detalleMilenia.Tables.Count > 0 && detalleMilenia.Tables[0].Rows.Count > 0) { //bool esNuevaMilenia = Convert.ToBoolean(((Hashtable)ConfigurationManager.Read("MileniaConfiguracion"))["NuevosCertificados"]); //if (!esNuevaMilenia) //{ // Retorno = this.ImprimeGarantiaExtendida(impresionSurtimiento); //} //else //{ if (ValidaImpresionMilenia()) { if (this.ValidarExisteMilenia((int)detalleMilenia.Tables[0].Rows[0]["fiNoPedido"])) { Retorno = ImprimeGarantiaLigadaXML(detalleMilenia, ip); } } //} } else { System.Diagnostics.Trace.WriteLine("El pedido no contiene Milenias", "LOG"); Retorno = null; } } catch (Exception ex) { System.Diagnostics.Trace.WriteLine("Error al Generar el XML de La garantia Milenia Ligada, En APIMILENIA", "LOG"); throw new ApplicationException("No se pudo imprimir la Garantia Milenia por el siguiente motivo: " + ex.Message, ex.InnerException); } return(Retorno); }
public bool ValidarExisteMilenia(int Pedido) { bool vbContieneMil = false; EntMileniaPosVenta Milenia = new EntMileniaPosVenta(); try { DataSet esmilenia = Milenia.PedidoContieneMilenia(Pedido); if (esmilenia != null && esmilenia.Tables.Count > 0 && esmilenia.Tables[0].Rows.Count > 0) { if (Convert.ToBoolean(esmilenia.Tables[0].Rows[0]["EsMilenia"])) { vbContieneMil = true; } } return(vbContieneMil); } catch (Exception e) { System.Diagnostics.Trace.WriteLine("Error al verificar si es el pedido contiene Milenia ", "LOG"); return(vbContieneMil); } }
public ArrayList ImprimeGarantiaLigadaXML(DataSet detalleMilenia, string ip) { ArrayList retorno = new ArrayList(); bool esReimpMilPostVenta = true; double SKUReimprimir = 0; double SKUReImpresoMilPosTVenta = 0; EntMileniaPosVenta EntMileniaR = new EntMileniaPosVenta(); //double skuPromoMilenia = Convert.ToDouble(((Hashtable)ConfigurationManager.Read("MileniaConfiguracion"))["SKUInstalacionMiniSplit"]); string[] Polizas = null; int viEstilo = 1; try { StringBuilder contenido; string nombreCliente = ""; string telefonoCliente = ""; string direccionCliente = ""; int esAplicaImpresionSerie = 1; DataTable dtDatosMilPV = new DataTable(); bool esMileniaPostventaEmpleado = false; string duracionGExt = ""; DateTime iniVig; DateTime finVig; string descripProdcuto = ""; bool esAntiguoMil = false; string poliza = ""; int viPedido = (int)detalleMilenia.Tables[0].Rows[0]["fiNopedido"]; ManejadorEntregaDomicilio manejadorEAD = new ManejadorEntregaDomicilio(); if (manejadorEAD.ValidaTiendaConImpresionMilenia()) { esAplicaImpresionSerie = 0;//Verifica si es milenia entrega a domicilio } EntMileniaPosVenta entmilPV = new EntMileniaPosVenta(); DataSet dsDatosVAE = entmilPV.DatosEmpleadoPostVentaMilenia(viPedido); if (dsDatosVAE.Tables.Count > 0 && dsDatosVAE.Tables[0].Rows.Count > 0) { esMileniaPostventaEmpleado = true; nombreCliente = dsDatosVAE.Tables[0].Rows[0]["fcEmpNombre"].ToString().Trim(); telefonoCliente = dsDatosVAE.Tables[0].Rows[0]["fcTelefono"].ToString().Trim(); direccionCliente = dsDatosVAE.Tables[0].Rows[0]["fcCalle"].ToString().Trim() + ", " + dsDatosVAE.Tables[0].Rows[0]["fcColonia"].ToString().Trim() + ", " + dsDatosVAE.Tables[0].Rows[0]["fcEstado"].ToString().Trim(); dtDatosMilPV = EntMileniaR.ObtieneTiposMileniasPV(viPedido).Tables[0]; } else { nombreCliente = detalleMilenia.Tables[0].Rows[0]["fcCteNombre"].ToString().Trim() + " " + detalleMilenia.Tables[0].Rows[0]["fcCteApaterno"].ToString().Trim() + " " + detalleMilenia.Tables[0].Rows[0]["fcCteAMaterno"].ToString().Trim(); if (detalleMilenia.Tables[0].Rows[0]["fcCteTel"].ToString().Trim() != null) { telefonoCliente = detalleMilenia.Tables[0].Rows[0]["fcCteTel"].ToString().Trim(); } if (detalleMilenia.Tables[0].Rows[0]["fcCteDirCalle"].ToString().Trim() != null) { direccionCliente = detalleMilenia.Tables[0].Rows[0]["fcCteDirCalle"].ToString().Trim() + " " + detalleMilenia.Tables[0].Rows[0]["fcCteColonia"].ToString().Trim(); } } EntRelacionVentaConGarantia garantia = new EntRelacionVentaConGarantia(); DataSet dsDatosGarantias = detalleMilenia; ///si es un pedido de solo milenias Obtenemos la sku de la poliza a reimprimir /* if (esReimpMilPostVenta) * { * if ((dsDatosGarantias.Tables.Count > 0) && (dsDatosGarantias.Tables[0].Rows.Count > 0)) * { * foreach (DataRow garantiaExtendida in dsDatosGarantias.Tables[0].Rows) * { * if (this.polizaMilenia == garantiaExtendida["fiPoliza"].ToString()) * { * SKUReimprimir = Double.Parse(garantiaExtendida["fiProdId"].ToString()); * } * } * } * }*/ //Si es reimpresion, se almacenan el folio de la poliza(s) seleccionada /*if (this.esReimpresion) * { * Polizas = FiltrarPolizaReimpresion(this.polizaMilenia); * }*/ foreach (DataTable dtMilenia in detalleMilenia.Tables) { /*Validacion de cantida de sku*/ foreach (DataRow garantiaExtendida in dtMilenia.Rows) { if (garantiaExtendida["fdFecIniGext"] == System.DBNull.Value || garantiaExtendida["fdFecIniGext"] == System.DBNull.Value) { continue; } if (garantiaExtendida["fdFecIniGext"].ToString() == garantiaExtendida["DuracionGEXT"].ToString()) { continue; } poliza = garantiaExtendida["fiPoliza"].ToString(); //Validación que reimprime solo la poliza seleccionada, omite las no seleccionadas. if (this.esReimpresion) { if (!poliza.Equals(String.Empty)) { if (!this.CompararPolizaMilenia(poliza, Polizas)) { continue; } } } if (this.esReimpresion) { /**** Si recibe un número de poliza es de reimpresión ****/ /* if (!esReimpMilPostVenta) * { * if (!this.polizaMilenia.Equals(String.Empty)) * { * if (!this.polizaMilenia.Equals(poliza)) * { continue; } * } * }*/ } string numeroSerie = ""; //Validacion para saber si tiene un numero de serie o se imprime como omitido //Concatena el valor del precio del producto numeroSerie = garantiaExtendida["fiNoSerie"].ToString(); //+ "\n" +" Precio: $" + garantiaExtendida["viPrecio"].ToString().Trim() ; //Empieza la identificacion de tipos de polizas Milenia EntMileniaPlus EntVerificagarantia = new EntMileniaPlus(); ///EntRelacionVentaConGarantia EntVerificagarantia = new EntRelacionVentaConGarantia(); String tipoMileniaImpr = string.Empty; if (esMileniaPostventaEmpleado) { DataRow[] drAux = dtDatosMilPV.Select("fiprodID = " + garantiaExtendida["FIPRODID"].ToString()); if (drAux.Length > 0) { tipoMileniaImpr = drAux[0]["FCTIPO"].ToString().Trim(); } else { tipoMileniaImpr = "SIN TIPO"; } } else { tipoMileniaImpr = EntVerificagarantia.obtenerTipoMileniaImprimir(Double.Parse(garantiaExtendida["fiProdId"].ToString()), viPedido); } //Se valida que el tipo de milenia no venga vacio if (tipoMileniaImpr.Equals("")) { continue; } //Fecha a partir de la cual se imprimen nuevas polizas DateTime nuevasClausulas = Convert.ToDateTime("04/09/2009"); // Se invoca al generador de XML de impresion duracionGExt = garantiaExtendida["Duracion"].ToString(); iniVig = Convert.ToDateTime(garantiaExtendida["fdFecIniGProv"].ToString().Trim()); //viPrecio = garantiaExtendida["viPrecio"].ToString(); finVig = Convert.ToDateTime(garantiaExtendida["DuracionGEXT"].ToString().Trim()); descripProdcuto = garantiaExtendida["fcProdDesc"].ToString().Trim(); esAntiguoMil = !Convert.ToBoolean(((Hashtable)ConfigurationManager.Read("MileniaConfiguracion"))["NuevosCertificados"]); /*Validacion para saber que tipo de poliza manda*/ DateTime FechaImpresionNuevaMil = Convert.ToDateTime(((Hashtable)ConfigurationManager.Read("MileniaConfiguracion"))["FechaImprimeNuevaMil"]); if (Convert.ToBoolean(((Hashtable)ConfigurationManager.Read("MileniaConfiguracion"))["EsMileniaAsterisco"])) { //Valida si la la fecha es mayor a la fecha que se enceuntra en Configuracionmanager, si es mayor, significa que es una poliza nueva, si 1no , esta //activa la configuracion para que imprima las poliza nuevas con el asterisco pero la poliza sigue siendo viejita, antes de la fecha estipulada if (DateTime.Now <= FechaImpresionNuevaMil) { //Imprime Poliza Con asterisco viEstilo = 3; } else { viEstilo = 1; } } else if (DateTime.Now >= FechaImpresionNuevaMil) { //Imprime Poliza Nueva sin asterisco viEstilo = 2; } string rutaXSLT; contenido = this.GetXmlPoliza(viEstilo, tipoMileniaImpr, poliza, nombreCliente, direccionCliente, telefonoCliente, duracionGExt, iniVig, finVig, descripProdcuto, esAplicaImpresionSerie.ToString(), numeroSerie, nuevasClausulas, esAntiguoMil, ip, out rutaXSLT); ListaDocumentosCartaXSLT contenid = new ListaDocumentosCartaXSLT() { Aplicacion = "CartasMilenia", RutaPlantillaXSLT = rutaXSLT, DatosXSLT = FiltrarXML(contenido.ToString()), NoCopias = 1 }; retorno.Add(contenid); contadorMilenia++; } } return(retorno); } catch (Exception ex) { // ExceptionPolicy.HandleException(ex, "Default"); //No se muestra la excepción para no detener las otras impresiones. return(retorno); } return(retorno); }
private StringBuilder XmlMileniaDouble(string fileXls, string[] poliza, string[] nombreCliente, string[] direccionCliente, string[] telefonoCliente, string[] garantiaExtendida, DateTime[] inicioVigencia, DateTime[] finVigencia, string[] articuloDescripcion, string[] esAplicaImpresionSerie, string[] numeroSerie, DateTime nuevasClausulas, EntMileniaPosVenta EntMileniaR ) { StringBuilder sbContenido = new StringBuilder(); sbContenido = new StringBuilder(); sbContenido.Append("<?xml version='1.0' encoding='utf-8' ?>"); /*if (EntMileniaR.esMileRemplazo(impresionSurtimiento.Venta.IdPedido)) * sbContenido.Append("<?xml-stylesheet type='text/xsl' href='" + fileXls + "' ?>"); * else * sbContenido.Append("<?xml-stylesheet type='text/xsl' href='/ElektraFront/Xsl/GarantiaExtendida.xslt' ?>");*/ sbContenido.Append("<?xml-stylesheet type='text/xsl' href='" + fileXls + "' ?>"); sbContenido.Append("<Datos>"); sbContenido.Append("<DatosImpresion>"); sbContenido.Append("<Tipo>cta</Tipo>"); sbContenido.Append("</DatosImpresion>"); sbContenido.Append("<GarantiaExtendida>"); sbContenido.Append("<DatosGarantia>"); //if (inicioVigencia >= nuevasClausulas) // contenido.Append("<NvaClausulas>1</NvaClausulas>"); //else // contenido.Append("<NvaClausulas>0</NvaClausulas>"); sbContenido.Append("<NoPoliza>" + poliza[0] + "</NoPoliza>"); sbContenido.Append("<NombreCliente>" + nombreCliente[0] + "</NombreCliente>"); sbContenido.Append("<DomicilioCliente>" + direccionCliente[0] + "</DomicilioCliente>"); sbContenido.Append("<TelefonoCliente>" + telefonoCliente[0] + "</TelefonoCliente>"); sbContenido.Append("<DuracionPoliza1>" + garantiaExtendida[0] + "</DuracionPoliza1>"); sbContenido.Append("<FechaInicio1>" + inicioVigencia[0].Day.ToString() + " de " + inicioVigencia[0].ToString("MMMM", CultureInfo.CurrentCulture) + " de " + inicioVigencia[0].Year.ToString() + "</FechaInicio1>"); sbContenido.Append("<FechaFin1>" + finVigencia[0].Day.ToString() + " de " + finVigencia[0].ToString("MMMM", CultureInfo.CurrentCulture) + " de " + finVigencia[0].Year.ToString() + "</FechaFin1>"); sbContenido.Append("<DuracionPoliza2>" + garantiaExtendida[1] + "</DuracionPoliza2>"); sbContenido.Append("<FechaInicio2>" + inicioVigencia[1].Day.ToString() + " de " + inicioVigencia[1].ToString("MMMM", CultureInfo.CurrentCulture) + " de " + inicioVigencia[1].Year.ToString() + "</FechaInicio2>"); sbContenido.Append("<FechaFin2>" + finVigencia[1].Day.ToString() + " de " + finVigencia[1].ToString("MMMM", CultureInfo.CurrentCulture) + " de " + finVigencia[1].Year.ToString() + "</FechaFin2>"); sbContenido.Append("<NombreCompania>Elektra del Milenio SA de CV</NombreCompania>"); sbContenido.Append("<TipoTienda></TipoTienda>"); sbContenido.Append("</DatosGarantia>"); sbContenido.Append("<Productos>"); //if (!esReimpMilPostVenta) // contenido.Append("<Descripcion>" + detalleVenta.ProductoServicio.Descripcion + "</Descripcion>"); //else // contenido.Append("<Descripcion>" + garantiaExtendida["FcProdDesc"].ToString() + "</Descripcion>"); sbContenido.Append("<Descripcion1>" + articuloDescripcion[0] + "</Descripcion1>"); sbContenido.Append("<EsImprimeSerie1>" + esAplicaImpresionSerie[0].ToString() + "</EsImprimeSerie1>"); sbContenido.Append("<NumSerie1>" + numeroSerie[0] + "</NumSerie1>"); sbContenido.Append("<Descripcion2>" + articuloDescripcion[1] + "</Descripcion2>"); sbContenido.Append("<EsImprimeSerie2>" + esAplicaImpresionSerie[1].ToString() + "</EsImprimeSerie2>"); sbContenido.Append("<NumSerie2>" + numeroSerie[1] + "</NumSerie2>"); sbContenido.Append("</Productos>"); sbContenido.Append("</GarantiaExtendida>"); sbContenido.Append("</Datos>"); return(sbContenido); }//