/// <summary> /// Procedimiento para validar los datos del número de factura. Devuelve una exepción si los datos no son válidos /// </summary> private void ValidarDatosNumeroFactura() { // Reviso si se selecciono un tipo de guía if (ddlTipoFactura.SelectedIndex == -1) { // No se selecciono throw new Exception("Debe seleccionar un tipo de factura"); } // Reviso si se ingreso un número de sucursal if (txtNroSucursalFactura.Text == "") { // No se ingreso throw new Exception("Debe ingresar un número de sucursal de la factura"); } // Reviso si el número de sucursal es válido if (Validaciones.obtieneEntero(txtNroSucursalFactura.Text) == 0) { // El número de sucursal es inválido throw new Exception("El número de sucursal de la factura es inválido"); } // Reviso si se ingreso un número de factura if (txtNroFactura.Text == "") { // No se ingreso throw new Exception("Debe ingresar un número de factura"); } // Reviso si el número de factura es válido if (Validaciones.obtieneEntero(txtNroFactura.Text) == 0) { // El número de sucursal es inválido throw new Exception("El número de factura es inválido"); } // Valido que el número de factura no se haya ingresado en las guías IGuia guia = GuiaFactory.GetGuia(); guia.TipoGuia = ddlTipoFactura.SelectedValue; guia.NroSucursalGuia = txtNroSucursalFactura.Text; guia.NroGuia = Validaciones.obtieneEntero(txtNroFactura.Text); guia.Consultar(); if (guia.GuiaID > 0) { // En número de factura ya se ingreso throw new Exception("El número de factura ya se ingreso"); } // Valido que el número de factura no se haya ingresado en las facturas IFactura factura = FacturaFactory.GetFactura(); factura.TipoGuia = ddlTipoFactura.SelectedValue; factura.NroSucursalGuia = txtNroSucursalFactura.Text; factura.NroGuia = Validaciones.obtieneEntero(txtNroFactura.Text); DsFactura dsFac = factura.GetByNroFactura(); if (dsFac.Datos.Count > 0) { // En número de factura ya se ingreso throw new Exception("El número de factura ya se ingreso"); } }
public override global::System.Data.DataSet Clone() { DsFactura cln = ((DsFactura)(base.Clone())); cln.InitVars(); cln.SchemaSerializationMode = this.SchemaSerializationMode; return(cln); }
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) { DsFactura ds = new DsFactura(); global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny(); any.Namespace = ds.Namespace; sequence.Items.Add(any); type.Particle = sequence; global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); if (xs.Contains(dsSchema.TargetNamespace)) { global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); try { global::System.Xml.Schema.XmlSchema schema = null; dsSchema.Write(s1); for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();) { schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); s2.SetLength(0); schema.Write(s2); if ((s1.Length == s2.Length)) { s1.Position = 0; s2.Position = 0; for (; ((s1.Position != s1.Length) && (s1.ReadByte() == s2.ReadByte()));) { ; } if ((s1.Position == s1.Length)) { return(type); } } } } finally { if ((s1 != null)) { s1.Close(); } if ((s2 != null)) { s2.Close(); } } } xs.Add(dsSchema); return(type); }
private void butImprimir_Click(object sender, System.EventArgs e) { try { IGuia oGuia = GuiaFactory.GetGuia(); IFactura oFactura = FacturaFactory.GetFactura(); DsGuias ds = new DsGuias(); DsFactura dsFacturas = null; DsGuiaFacturaImpresion dsFacturaImpresion; IAgencia agencia = null; int tipoImpresionGuiaID = 0; int puedeReimprimir = 0; /*if(this.rbCodigo.Checked) * ds = oGuia.GetGuiasOneByCodigoBarra(this.txtCodigoBarra.Text.Trim()); */ if (this.rbCodigo.Checked) { try { oGuia.TipoGuia = NegociosSisPackInterface.SisPack.TipoGuia(this.txtCodigoBarra.Text.Substring(0, 1).Trim()).Trim(); if (oGuia.TipoGuia.Equals("")) { throw new Exception("Errores.Invalidos.CodigoBarrasLongitud"); } oGuia.NroSucursalGuia = this.txtCodigoBarra.Text.Substring(1, 4); oGuia.NroGuia = Convert.ToInt32(this.txtCodigoBarra.Text.Substring(5)); } catch (Exception) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se ha ingresado un nro. de guía correcto."); return; } } else if (this.rbTipo.Checked) { oGuia.TipoGuia = this.ddlTipoGuia.SelectedValue; oGuia.NroSucursalGuia = this.txtNroSucursal.Text.Trim().Equals("") ? "0" : this.txtNroSucursal.Text.Trim(); oGuia.NroGuia = this.txtNroGuia.Text.Trim().Equals("") ? 0 : Convert.ToInt32(this.txtNroGuia.Text.Trim()); } else { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se ha ingresado el nro. de guía ha reimprimir."); return; } ds = oGuia.GetGuiaOneDataSet(); if (ds.Datos.Count == 0) { oFactura.TipoGuia = oGuia.TipoGuia; oFactura.NroSucursalGuia = oGuia.NroSucursalGuia; oFactura.NroGuia = oGuia.NroGuia; dsFacturas = oFactura.GetByNroFactura(); } if (ds.Datos.Count > 0) { DsGuias.DatosRow dr = (DsGuias.DatosRow)ds.Datos.Rows[0]; this.txtGuiaID.Text = dr.GuiaID.ToString(); puedeReimprimir = oGuia.VerificarReImpresion(dr.GuiaID, this.usuario.AgenciaID); if (puedeReimprimir == 1) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir una guia FPD en el destino."); return; } else if (puedeReimprimir == 2) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir la guia ya que no esta en la agencia."); return; } else { oGuia.RegistrarReImpresion(this.usuario.UsuarioID, this.usuario.AgenciaID, dr.GuiaID); } /* Traer datos de impresión. */ agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = dr.AgenciaOrigenID; agencia.ConsultarBasico(); dr = null; /* Traer los datos de la guía para la impresión. */ IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias(); oAdminGuia.GuiaID = Convert.ToInt32(this.txtGuiaID.Text.Trim()); dsFacturaImpresion = oAdminGuia.GetDataSetImpresionByGuiaID(); oAdminGuia = null; // 20/12/2013. Consulto (seteo) el tipo de impresion segun la agencia y la empresa de facturacion tipoImpresionGuiaID = Convert.IsDBNull(dsFacturaImpresion.Datos[0].TipoImpresionGuiaID) ? 0 : dsFacturaImpresion.Datos[0].TipoImpresionGuiaID; Session["DatosGuia"] = dsFacturaImpresion; /*************************************************/ } else if (ds.Datos.Count == 0) { if (dsFacturas.Datos.Count > 0) { DsFactura.DatosRow drFac = (DsFactura.DatosRow)dsFacturas.Datos.Rows[0]; //this.txtGuiaID.Text = drFac.GuiaID.ToString(); /* Traer datos de impresión. */ agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = drFac.AgenciaID; agencia.ConsultarBasico(); /* Traer los datos de la factura para la impresión. */ oFactura.FacturaID = drFac.FacturaID; // Reviso si se trata de una factura de concepto de facturación o de una factura que cancela un remito pendiente if (dsFacturas.Datos[0].ClasificacionFacturaID == (Int32)NegociosSisPackInterface.SisPack.ClasificacionFactura.ConceptoFacturacion) { // Se trata de una factura de concepto de facturación dsFacturaImpresion = ToDsGuiaFacturaConceptoImpresion(oFactura.GetFacturaConceptoImpresionByFacturaID()); tipoImpresionGuiaID = Convert.IsDBNull(dsFacturaImpresion.Datos[0].TipoImpresionGuiaID) ? 0 : dsFacturaImpresion.Datos[0].TipoImpresionGuiaID; Session["DatosGuia"] = dsFacturaImpresion; } else { // Se trata de una factura de un flete pago en destino, entrega o un remito de cta cte dsFacturaImpresion = ToDsGuiaFacturaImpresion(drFac.AgenciaID, oFactura.GetFacturaImpresionByFacturaID()); // 20/12/2013. Consulto (seteo) el tipo de impresion segun la agencia y la empresa de facturacion tipoImpresionGuiaID = Convert.IsDBNull(dsFacturaImpresion.Datos[0].TipoImpresionGuiaID) ? 0 : dsFacturaImpresion.Datos[0].TipoImpresionGuiaID; Session["DatosGuia"] = dsFacturaImpresion; } drFac = null; /*************************************************/ } else { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se encuentra la guía / factura ingresada."); return; } } // Se comenta la siguiente linea para el desarrollo de integracion de SisPack-Delfos. El tipo de impresion depende de la empresa y la agencia. Esto estaba al 20/12/2013 //int tipoImpresionGuiaID = Convert.IsDBNull(agencia.TipoImpresionGuiaId) ? 0 : agencia.TipoImpresionGuiaId; // Si es Unidad de Logistica, imprimir el comprobante como Autoimpresor_EnBlanco if (oGuia.TipoGuia == "X") { tipoImpresionGuiaID = (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.Autoimpresor_EnBlanco; } if (tipoImpresionGuiaID == 0) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir la guía ingresada. El tipo de impresión no está definido."); return; } if (tipoImpresionGuiaID == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir una guía pre-impresa."); return; } string implementacion = System.Configuration.ConfigurationSettings.AppSettings["Implementacion"].ToString(); string paginaImpresion = agencia.GetPaginaImpresion(tipoImpresionGuiaID, implementacion); if (paginaImpresion.Trim().Equals("")) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir la guía ingresada. La página de impresión no está definida."); return; } agencia = null; /*****************************/ string scriptString = "<script language='javascript'>\n"; scriptString += " window.showModalDialog('"+ paginaImpresion + "?CantCopias=" + this.txtCantCopias.Text.Trim() + "','Reimprimiendo Guía...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');"; scriptString += " window.location.href = 'ReImprimirGuiaDestino.aspx';\n"; scriptString += " </script>\n"; Page.RegisterStartupScript("scriptImpresion", scriptString); oGuia = null; oFactura = null; dsFacturaImpresion = null; ds = null; dsFacturas = null; } catch (Exception ex) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message); } }
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); DsFactura ds = new DsFactura(); global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); any1.Namespace = "http://www.w3.org/2001/XMLSchema"; any1.MinOccurs = new decimal(0); any1.MaxOccurs = decimal.MaxValue; any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; sequence.Items.Add(any1); global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; any2.MinOccurs = new decimal(1); any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; sequence.Items.Add(any2); global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); attribute1.Name = "namespace"; attribute1.FixedValue = ds.Namespace; type.Attributes.Add(attribute1); global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); attribute2.Name = "tableTypeName"; attribute2.FixedValue = "FacturaDataTable"; type.Attributes.Add(attribute2); type.Particle = sequence; global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); if (xs.Contains(dsSchema.TargetNamespace)) { global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); try { global::System.Xml.Schema.XmlSchema schema = null; dsSchema.Write(s1); for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();) { schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); s2.SetLength(0); schema.Write(s2); if ((s1.Length == s2.Length)) { s1.Position = 0; s2.Position = 0; for (; ((s1.Position != s1.Length) && (s1.ReadByte() == s2.ReadByte()));) { ; } if ((s1.Position == s1.Length)) { return(type); } } } } finally { if ((s1 != null)) { s1.Close(); } if ((s2 != null)) { s2.Close(); } } } xs.Add(dsSchema); return(type); }
private void ImprimirGuia(int GuiaID, NegociosSisPackInterface.SisPack.ClasificacionGuia ClasificacionGuia) { try { IGuia oGuia = GuiaFactory.GetGuia(); IFactura oFactura = FacturaFactory.GetFactura(); DsGuias ds = new DsGuias(); DsFactura dsFacturas = null; DsGuiaFacturaImpresion dsFacturaImpresion; IAgencia agencia = null; oGuia.GuiaID = GuiaID; if (ClasificacionGuia == NegociosSisPackInterface.SisPack.ClasificacionGuia.Remito) { ds = oGuia.GetGuiaOneDataSet(); } else if (ClasificacionGuia == NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oFactura.FacturaID = GuiaID; dsFacturas = oFactura.GetFacturaByFacturaID(GuiaID); } if (ds.Datos.Count > 0) { DsGuias.DatosRow dr = (DsGuias.DatosRow)ds.Datos.Rows[0]; /* Traer datos de impresión. */ agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = dr.AgenciaOrigenID; agencia.ConsultarBasico(); dr = null; /* Traer los datos de la guía para la impresión. */ IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias(); oAdminGuia.GuiaID = GuiaID; dsFacturaImpresion = oAdminGuia.GetDataSetImpresionByGuiaID(); oAdminGuia = null; Session["DatosGuia"] = dsFacturaImpresion; /*************************************************/ } else if (ds.Datos.Count == 0) { if (dsFacturas.Datos.Count > 0) { DsFactura.DatosRow drFac = (DsFactura.DatosRow)dsFacturas.Datos.Rows[0]; //this.txtGuiaID.Text = drFac.GuiaID.ToString(); /* Traer datos de impresión. */ agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = drFac.AgenciaID; agencia.ConsultarBasico(); /* Traer los datos de la factura para la impresión. */ oFactura.FacturaID = drFac.FacturaID; // Reviso si se trata de una factura de concepto de facturación o de una factura que cancela un remito pendiente if (dsFacturas.Datos[0].ClasificacionFacturaID == (Int32)NegociosSisPackInterface.SisPack.ClasificacionFactura.ConceptoFacturacion) { // Se trata de una factura de concepto de facturación Session["DatosGuia"] = ToDsGuiaFacturaConceptoImpresion(oFactura.GetFacturaConceptoImpresionByFacturaID()); } else { // Se trata de una factura de un flete pago en destino, entrega o un remito de cta cte dsFacturaImpresion = ToDsGuiaFacturaImpresion(drFac.AgenciaID, oFactura.GetFacturaImpresionByFacturaID()); Session["DatosGuia"] = dsFacturaImpresion; } drFac = null; /*************************************************/ } else { return; } } int tipoImpresionGuiaID = Convert.IsDBNull(agencia.TipoImpresionGuiaId) ? 0 : agencia.TipoImpresionGuiaId; if (tipoImpresionGuiaID == 0) { return; } if (tipoImpresionGuiaID == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa) { return; } string implementacion = System.Configuration.ConfigurationSettings.AppSettings["Implementacion"].ToString(); string paginaImpresion = agencia.GetPaginaImpresion(tipoImpresionGuiaID, implementacion); if (paginaImpresion.Trim().Equals("")) { return; } agencia = null; /*****************************/ ImprimirGuiaBlanco(); oGuia = null; oFactura = null; dsFacturaImpresion = null; ds = null; dsFacturas = null; } catch (Exception ex) { } }
private void dtgSolicitudRetiro_ItemCommand_1(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { if (e.CommandName == "Imprimir") { try { Session["GuiaPasajeACtaCteID"] = e.Item.Cells[0].Text; Session["GuiaID"] = e.Item.Cells[1].Text; //controlar que no haya sido ya impresa //if (true) //{ #region ImpresionDeComprobantes // Reviso si se registro una factura por un remito IFactura factura = FacturaFactory.GetFactura(); factura.GuiaID = Utiles.Validaciones.obtieneEntero(e.Item.Cells[1].Text); factura.ClasificacionFacturaID = (int)NegociosSisPackInterface.SisPack.ClasificacionFactura.Remito; DsFactura ds = factura.ObtenerFacturaDeRemitoByGuiaID(); if (ds.Datos.Rows.Count > 0) { factura.FacturaID = (int)ds.Datos.Rows[0]["FacturaID"]; } // Reviso si se genero la factura if (factura.FacturaID != 0) { // Si se genero //VSA: Session["DatosGuia"] = ToDsGuiaFacturaImpresion(factura.GetFacturaImpresionByGuiaID()); Session["DatosGuia"] = ToDsGuiaFacturaImpresion(factura.GetFacturaImpresionByFacturaID()); // Seteo la página con la cual se va a imprimir la factura IAgencia agOrigen = AgenciaFactory.GetAgencia(); //agOrigen.AgenciaID = AgenciaConectadaID; IGuia guia = GuiaFactory.GetGuia(); guia.GuiaID = Utiles.Validaciones.obtieneEntero(e.Item.Cells[1].Text); guia.Consultar(); agOrigen.AgenciaID = guia.AgenciaDestinoID; agOrigen.ConsultarBasico(); string pagina = ObtienePaginaImpresion(agOrigen.TipoImpresionGuiaId); agOrigen = null; /* VSA: Controlar si el remito original se pasó a cuenta corriente -> Imprimir un nuevo remito no factura. */ string nombreListado = ExportarPDF(factura.GetFacturaImpresionByFacturaID()); factura = null; // Cargo el script para imprimir el nuevo remito y la nota que se le entregará al cliente string script = "<script language='javascript'>\n"; script += " window.showModalDialog('"+ pagina + "','Imprimiendo Remito...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');"; if (nombreListado != "") { script += "window.open('VerPlanilla.aspx?id=" + nombreListado + "', '', 'width=0,height=0,status=no,scrollbars=yes,resizable=yes');\n"; } script += " </script>\n"; ClientScript.RegisterStartupScript(GetType(), "scriptImprimirNuevoRemito", script); } #endregion /*Actualizar la autorizacion como impresa.*/ IGuiaPasajeACtaCte pasaje = GuiaPasajeACtaCteFactory.GetGuiaPasajeACtaCte(); pasaje.GuiaPasajeACtaCteID = Utiles.Validaciones.obtieneEntero(Session["GuiaPasajeACtaCteID"].ToString()); pasaje.GuardarPasajeImpreso(); BindGrid(0); //} //else //{ // throw new Exception("El pasaje ya ha sido impreso."); //} } catch (Exception ex) { ((SisPacK.ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message); } } }
private DsFactura BuscarPorTipo() { IFactura factura = FacturaFactory.GetFactura(); try { //Habilito los validadores para el buscar BaseValidator bv; bv = (BaseValidator)this.phValidTipoGuia.FindControl("validTipoGuia"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return(null); } bv = (BaseValidator)this.phValidNroSucursal.FindControl("validNroSucursal"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return(null); } bv = (BaseValidator)this.phValidNroSucursal.FindControl("validNroSucursalInv"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return(null); } bv = (BaseValidator)this.phValidNroGuia.FindControl("validNroGuia"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return(null); } bv = (BaseValidator)this.phValidNroGuia.FindControl("validNroGuiaInv"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return(null); } factura.TipoGuia = this.ddlTipoGuia.SelectedValue.Trim(); factura.NroSucursalGuia = this.txtNroSucursal.Text.Trim().Equals("")? "0" : this.txtNroSucursal.Text; factura.NroGuia = this.txtNroGuia.Text.Trim().Equals("")? 0 : Convert.ToInt32(this.txtNroGuia.Text); DsFactura dsFactura = factura.GetFacturaONE(); this.txtTipoGuia.Text = factura.TipoGuia; return(dsFactura); } catch (Exception ex) { throw new Exception("Errores.Invalidos.CodigoBarrasLongitud"); } finally { factura = null; } }
private DsFactura BuscarPorCodigo() { IFactura factura = FacturaFactory.GetFactura(); try { BaseValidator bv; bv = (BaseValidator)this.phValidTipoGuia.FindControl("validCodigoBarra"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return(null); } if (this.txtCodigoBarra.Text.Length >= 10) { // obtengo el tipo de factura del código de barras int codigoTipoGuia = 0; codigoTipoGuia = int.Parse(this.txtCodigoBarra.Text.Substring(0, 1)); if (codigoTipoGuia == (int)NegociosSisPackInterface.SisPack.CodigoTipoGuia.A) { factura.TipoGuia = "A"; } else if (codigoTipoGuia == (int)NegociosSisPackInterface.SisPack.CodigoTipoGuia.B) { factura.TipoGuia = "B"; } else if (codigoTipoGuia == (int)NegociosSisPackInterface.SisPack.CodigoTipoGuia.R) { factura.TipoGuia = "R"; } else if (codigoTipoGuia == (int)NegociosSisPackInterface.SisPack.CodigoTipoGuia.E) { factura.TipoGuia = "E"; } else { throw new Exception("Errores.Invalidos.CodigoBarrasLongitud"); } factura.NroSucursalGuia = this.txtCodigoBarra.Text.Substring(1, 4); factura.NroGuia = Convert.ToInt32(this.txtCodigoBarra.Text.Substring(5)); DsFactura dsFactura = factura.GetFacturaONE(); this.txtTipoGuia.Text = factura.TipoGuia; return(dsFactura); } else { throw new Exception("Errores.Invalidos.CodigoBarrasLongitud"); } } catch (Exception ex) { throw new Exception("Errores.Invalidos.CodigoBarrasLongitud"); } finally { factura = null; } }
private async void Alta_Factura() { this.Cursor = Cursors.WaitCursor; typeFactura factura = new typeFactura(); factura.Fecha = Dtp_Fecha.Value; factura.Cedula = Txt_Cedula.Text.Trim(); factura.Cliente = Txt_Cliente.Text.Trim(); decimal Subtotal = 0; decimal.TryParse(Txt_Subtotal.Text.Replace(",", ""), out Subtotal); factura.Subtotal = Subtotal; decimal Descuento = 0; decimal.TryParse(Txt_Descuento.Text.Replace(",", ""), out Descuento); factura.Descuento = Descuento; decimal Total = 0; decimal.TryParse(Txt_Total.Text.Replace(",", ""), out Total); factura.Total = Total; factura.Detalles = detallesProductos; using (var client = new HttpClient()) { var serializedProduct = JsonConvert.SerializeObject(factura); var content = new StringContent(serializedProduct, Encoding.UTF8, "application/json"); using (var response = await client.PostAsync(Globales.Url_API + "facturacion/agregafactura", content)) { if (response.IsSuccessStatusCode) { var a = response.Content.ReadAsStringAsync(); var contents = JsonConvert.DeserializeObject <typeResponse>(response.Content.ReadAsStringAsync().Result); Txt_Numero_Comprobante.Text = contents.Message; DsFactura dsFactura = new DsFactura(); DataRow Registro; Registro = dsFactura.Tables["Encabezado"].NewRow(); Registro["Numero_Documento"] = Txt_Numero_Comprobante.Text; Registro["Fecha"] = Dtp_Fecha.Value; Registro["Cedula"] = Txt_Cedula.Text; Registro["Cliente"] = Txt_Cliente.Text; Registro["SubTotal"] = Subtotal; Registro["Descuento"] = Descuento; Registro["Total"] = Total; dsFactura.Tables["Encabezado"].Rows.Add(Registro); foreach (var detalle in detallesProductos) { Registro = dsFactura.Tables["Detalles"].NewRow(); Registro["Cantidad"] = detalle.Cantidad; Registro["Codigo"] = detalle.Codigo; Registro["Nombre"] = detalle.Nombre; Registro["Precio"] = detalle.Precio; Registro["Importe"] = detalle.Importe; dsFactura.Tables["Detalles"].Rows.Add(Registro); } FrmVisorReporte frm = new FrmVisorReporte(); ReportDocument rpt = new ReportDocument(); rpt.Load(AppDomain.CurrentDomain.BaseDirectory + "\\Reportes\\RptFormatoFactura.rpt"); rpt.SetDataSource(dsFactura); frm.crViewer.ReportSource = rpt; frm.crViewer.RefreshReport(); frm.Show(); this.Cursor = Cursors.Default; MessageBox.Show("Factura registrada"); Dtp_Fecha.Value = DateTime.Now; Txt_Numero_Comprobante.Text = "Consecutivo se obtiene al guardar"; Txt_Cedula.Text = ""; Txt_Cliente.Text = ""; Txt_Subtotal.Text = "0.00"; Txt_Descuento.Text = "0.00"; Txt_Total.Text = "0.00"; detallesProductos.Clear(); Grid_Productos.DataSource = null; Grid_Productos.DataSource = detallesProductos; Txt_Codigo.Text = ""; Txt_Cedula.Focus(); } else { this.Cursor = Cursors.Default; var contents = JsonConvert.DeserializeObject <typeResponse>(response.Content.ReadAsStringAsync().Result); MessageBox.Show(contents.Message); } } } }