コード例 #1
0
 public void CompletarWS(org.dyndns.cedweb.consulta.ConsultarResult lc)
 {
     if (lc.comprobante[0].resumen.impuestos != null)
     {
         impuestos = new System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos>();
         foreach (org.dyndns.cedweb.consulta.ConsultarResultComprobanteResumenImpuestos imp in lc.comprobante[0].resumen.impuestos)
         {
             if (imp.importe_impuesto_moneda_origenSpecified)
             {
                 imp.importe_impuesto = imp.importe_impuesto_moneda_origen;
             }
             FeaEntidades.InterFacturas.resumenImpuestos ri = new FeaEntidades.InterFacturas.resumenImpuestos();
             ri.codigo_impuesto              = imp.codigo_impuesto;
             ri.codigo_jurisdiccion          = imp.codigo_jurisdiccion;
             ri.codigo_jurisdiccionSpecified = imp.codigo_jurisdiccionSpecified;
             ri.descripcion      = imp.descripcion;
             ri.importe_impuesto = imp.importe_impuesto;
             ri.importe_impuesto_moneda_origen          = imp.importe_impuesto_moneda_origen;
             ri.importe_impuesto_moneda_origenSpecified = imp.importe_impuesto_moneda_origenSpecified;
             ri.jurisdiccion_municipal       = imp.jurisdiccion_municipal;
             ri.porcentaje_impuesto          = imp.porcentaje_impuesto;
             ri.porcentaje_impuestoSpecified = imp.porcentaje_impuestoSpecified;
             impuestos.Add(ri);
         }
         if (impuestos.Count.Equals(0))
         {
             impuestos.Add(new FeaEntidades.InterFacturas.resumenImpuestos());
         }
         impuestosGridView.DataSource = impuestos;
         impuestosGridView.DataBind();
         ViewState["impuestos"] = impuestos;
     }
 }
コード例 #2
0
 public void CompletarWS(org.dyndns.cedweb.consulta.ConsultarResult lc)
 {
     if (lc.comprobante[0].resumen.impuestos != null)
     {
         impuestos = new System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenImpuestos>();
         foreach (org.dyndns.cedweb.consulta.ConsultarResultComprobanteResumenImpuestos imp in lc.comprobante[0].resumen.impuestos)
         {
             if (imp.importe_impuesto_moneda_origenSpecified)
             {
                 imp.importe_impuesto = imp.importe_impuesto_moneda_origen;
             }
             FeaEntidades.InterFacturas.resumenImpuestos ri = new FeaEntidades.InterFacturas.resumenImpuestos();
             ri.codigo_impuesto = imp.codigo_impuesto;
             ri.codigo_jurisdiccion = imp.codigo_jurisdiccion;
             ri.codigo_jurisdiccionSpecified = imp.codigo_jurisdiccionSpecified;
             ri.descripcion = imp.descripcion;
             ri.importe_impuesto = imp.importe_impuesto;
             ri.importe_impuesto_moneda_origen = imp.importe_impuesto_moneda_origen;
             ri.importe_impuesto_moneda_origenSpecified = imp.importe_impuesto_moneda_origenSpecified;
             ri.jurisdiccion_municipal = imp.jurisdiccion_municipal;
             ri.porcentaje_impuesto = imp.porcentaje_impuesto;
             ri.porcentaje_impuestoSpecified = imp.porcentaje_impuestoSpecified;
             impuestos.Add(ri);
         }
         if (impuestos.Count.Equals(0))
         {
             impuestos.Add(new FeaEntidades.InterFacturas.resumenImpuestos());
         }
         impuestosGridView.DataSource = impuestos;
         impuestosGridView.DataBind();
         ViewState["impuestos"] = impuestos;
     }
 }
コード例 #3
0
        internal void RestarDescuentosAImpuestosGlobales(System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos> impuestos)
        {
            descuentos = ((System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenDescuentos>)ViewState["descuentos"]);

            System.Collections.Generic.List <FeaEntidades.IVA.IVA> listaIVA = FeaEntidades.IVA.IVA.ListaMinima();
            double[] impivas = new double[listaIVA.Count];
            for (int i = 0; i < descuentos.Count; i++)
            {
                if (descuentos[i].importe_iva_descuento != 0)
                {
                    if (descuentos[i].alicuota_iva_descuentoSpecified)
                    {
                        FeaEntidades.IVA.IVA auxIVA = listaIVA.Find(delegate(FeaEntidades.IVA.IVA e)
                        {
                            return(e.Codigo == descuentos[i].alicuota_iva_descuento);
                        });
                        FeaEntidades.InterFacturas.resumenImpuestos ri = impuestos.Find(delegate(FeaEntidades.InterFacturas.resumenImpuestos r)
                        {
                            return(auxIVA.Codigo == r.porcentaje_impuesto);
                        });
                        if (ri != null)
                        {
                            ri.importe_impuesto -= descuentos[i].importe_iva_descuento;
                        }
                        else
                        {
                            ScriptManager.RegisterStartupScript(this.Parent.Page, GetType(), "Message", Funciones.TextoScript("La alícuota de IVA de un descuento (" + auxIVA.Codigo + ") no coincide con ninguna alícuota de los impuestos"), false);
                        }
                    }
                }
            }
        }
コード例 #4
0
 private void EliminarFilaAutomatica()
 {
     System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos> impuestos = ((System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]);
     FeaEntidades.InterFacturas.resumenImpuestos impuestoInicial = impuestos[0];
     if (impuestoInicial.codigo_impuesto == 0)
     {
         ((System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]).Remove(impuestoInicial);
     }
 }
コード例 #5
0
        public void ResetearGrillas()
        {
            impuestos = new System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos>();
            FeaEntidades.InterFacturas.resumenImpuestos impuesto = new FeaEntidades.InterFacturas.resumenImpuestos();
            impuestos.Add(impuesto);
            impuestosGridView.DataSource = impuestos;
            ViewState["impuestos"]       = impuestos;
            DataBind();

            BindearDropDownLists();
        }
コード例 #6
0
ファイル: Impuestos.ascx.cs プロジェクト: pjeconde/eFact
		public void ResetearGrillas()
		{
			impuestos = new System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenImpuestos>();
			FeaEntidades.InterFacturas.resumenImpuestos impuesto = new FeaEntidades.InterFacturas.resumenImpuestos();
			impuestos.Add(impuesto);
			impuestosGridView.DataSource = impuestos;
			ViewState["impuestos"] = impuestos;
			DataBind();

			BindearDropDownLists();

		}
コード例 #7
0
 internal void AgregarImpuestosIVA(string IdNaturalezaComprobante, System.Collections.Generic.List <FeaEntidades.Turismo.linea> listadelineas)
 {
     System.Collections.Generic.List <FeaEntidades.IVA.IVA> listaIVA = FeaEntidades.IVA.IVA.ListaMinima();
     double[] impivas           = new double[listaIVA.Count];
     bool[]   impivasinformados = new bool[listaIVA.Count];
     for (int i = 0; i < listadelineas.Count; i++)
     {
         if (listadelineas[i].alicuota_ivaSpecified)
         {
             int k = listaIVA.FindIndex(delegate(FeaEntidades.IVA.IVA e)
             {
                 return(e.Codigo == listadelineas[i].alicuota_iva);
             });
             if (k >= 0)
             {
                 if (listadelineas[i].indicacion_exento_gravado == "G" && !listadelineas[i].alicuota_iva.Equals(99))
                 {
                     double imptot = listadelineas[i].importe_total_articulo;
                     impivas[k]          += imptot * listadelineas[i].alicuota_iva / 100;
                     impivasinformados[k] = true;
                 }
             }
         }
     }
     for (int j = 0; j < impivas.Length; j++)
     {
         if (impivasinformados[j])
         {
             impuestos = ((System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]);
             FeaEntidades.InterFacturas.resumenImpuestos imp = new FeaEntidades.InterFacturas.resumenImpuestos();
             FeaEntidades.CodigosImpuesto.IVA            iva = new FeaEntidades.CodigosImpuesto.IVA();
             imp.codigo_impuesto              = iva.Codigo;
             imp.importe_impuesto             = Math.Round(impivas[j], 2);
             imp.porcentaje_impuestoSpecified = true;
             imp.porcentaje_impuesto          = FeaEntidades.IVA.IVA.ListaMinima()[j].Codigo;
             imp.descripcion = iva.Descr;
             EliminarFilaAutomatica();
             impuestos.Add(imp);
         }
     }
     impuestosGridView.DataSource = impuestos;
     impuestosGridView.DataBind();
     ViewState["impuestos"] = impuestos;
     BindearDropDownLists();
 }
コード例 #8
0
        public System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos> EliminarImpuestosIVA()
        {
            impuestos = ((System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]);
            impuestos.RemoveAll(delegate(FeaEntidades.InterFacturas.resumenImpuestos e)
            {
                return(e.codigo_impuesto == new FeaEntidades.CodigosImpuesto.IVA().Codigo);
            });

            if (impuestos.Count.Equals(0))
            {
                FeaEntidades.InterFacturas.resumenImpuestos nueva = new FeaEntidades.InterFacturas.resumenImpuestos();
                impuestos.Add(nueva);
            }

            impuestosGridView.DataSource = impuestos;
            impuestosGridView.DataBind();
            ViewState["impuestos"] = impuestos;
            BindearDropDownLists();
            return(impuestos);
        }
コード例 #9
0
 internal void AgregarImpuestosIVA(System.Collections.Generic.List <FeaEntidades.InterFacturas.linea> listadelineas)
 {
     System.Collections.Generic.List <FeaEntidades.IVA.IVA> listaIVA = FeaEntidades.IVA.IVA.ListaMinimaSinCero();
     double[] impivas           = new double[listaIVA.Count];
     bool[]   impivasinformados = new bool[listaIVA.Count];
     for (int i = 0; i < listadelineas.Count; i++)
     {
         if (listadelineas[i].alicuota_ivaSpecified)
         {
             int k = listaIVA.FindIndex(delegate(FeaEntidades.IVA.IVA e)
             {
                 return(e.Codigo == listadelineas[i].alicuota_iva);
             });
             if (k >= 0)
             {
                 impivas[k]          += listadelineas[i].importe_iva;
                 impivasinformados[k] = true;
             }
         }
     }
     for (int j = 0; j < impivas.Length; j++)
     {
         if (impivasinformados[j])
         {
             impuestos = ((System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]);
             FeaEntidades.InterFacturas.resumenImpuestos imp = new FeaEntidades.InterFacturas.resumenImpuestos();
             FeaEntidades.CodigosImpuesto.IVA            iva = new FeaEntidades.CodigosImpuesto.IVA();
             imp.codigo_impuesto              = iva.Codigo;
             imp.importe_impuesto             = Math.Round(impivas[j], 2);
             imp.porcentaje_impuestoSpecified = true;
             imp.porcentaje_impuesto          = FeaEntidades.IVA.IVA.ListaMinimaSinCero()[j].Codigo;
             imp.descripcion = iva.Descr;
             EliminarFilaAutomatica();
             impuestos.Add(imp);
         }
     }
     esquemaContableGridView.DataSource = impuestos;
     esquemaContableGridView.DataBind();
     ViewState["esquemaContable"] = impuestos;
     BindearDropDownLists();
 }
コード例 #10
0
        protected void impuestosGridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            try
            {
                System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos> impuestos = ((System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]);
                FeaEntidades.InterFacturas.resumenImpuestos r = impuestos[e.RowIndex];
                impuestos.Remove(r);

                if (impuestos.Count.Equals(0))
                {
                    FeaEntidades.InterFacturas.resumenImpuestos nueva = new FeaEntidades.InterFacturas.resumenImpuestos();
                    impuestos.Add(nueva);
                }
                impuestosGridView.EditIndex  = -1;
                impuestosGridView.DataSource = ViewState["impuestos"];
                impuestosGridView.DataBind();
                BindearDropDownLists();
                Session["FaltaCalcularTotales"] = true;
            }
            catch
            {
            }
        }
コード例 #11
0
		internal void AgregarImpuestosIVA(string IdNaturalezaComprobante, System.Collections.Generic.List<FeaEntidades.InterFacturas.linea> listadelineas)
		{
            //System.Collections.Generic.List<FeaEntidades.IVA.IVA> listaIVA = FeaEntidades.IVA.IVA.ListaMinimaSinCero();
            System.Collections.Generic.List<FeaEntidades.IVA.IVA> listaIVA = FeaEntidades.IVA.IVA.ListaMinima();
			double[] impivas = new double[listaIVA.Count];
            bool[] impivasinformados = new bool[listaIVA.Count];
            for (int i = 0; i < listadelineas.Count; i++)
            {
                if (listadelineas[i].alicuota_ivaSpecified)
                {
                    int k = listaIVA.FindIndex(delegate(FeaEntidades.IVA.IVA e)
                    {
                        return e.Codigo == listadelineas[i].alicuota_iva;
                    });
                    if (k >= 0)
                    {
                        if (listadelineas[i].indicacion_exento_gravado == "G" && !listadelineas[i].alicuota_iva.Equals(99))
                        {
                            double imptot = listadelineas[i].importe_total_articulo;
                            if (IdNaturalezaComprobante != "Compra")
                            {
                                System.Collections.Generic.List<Entidades.PuntoVta> listaPV = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.FindAll(delegate(Entidades.PuntoVta pv)
                                {
                                    return pv.IdTipoPuntoVta == "RG2904" && pv.Nro == Convert.ToInt32(puntoDeVenta);
                                });
                                if (listaPV.Count != 0)
                                {
                                    try
                                    {
                                        imptot -= listadelineas[i].importe_iva;
                                    }
                                    catch { }
                                }
                            }
                            impivas[k] += imptot * listadelineas[i].alicuota_iva / 100; //listadelineas[i].importe_iva;
                            impivasinformados[k] = true;
                        }
                    }
                }
            }
			for (int j = 0; j<impivas.Length; j++)
			{
                if (impivasinformados[j])
                {
                    impuestos = ((System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]);
                    FeaEntidades.InterFacturas.resumenImpuestos imp = new FeaEntidades.InterFacturas.resumenImpuestos();
                    FeaEntidades.CodigosImpuesto.IVA iva = new FeaEntidades.CodigosImpuesto.IVA();
                    imp.codigo_impuesto = iva.Codigo;
                    imp.importe_impuesto = Math.Round(impivas[j], 2);
                    imp.porcentaje_impuestoSpecified = true;
                    //imp.porcentaje_impuesto = FeaEntidades.IVA.IVA.ListaMinimaSinCero()[j].Codigo;
                    imp.porcentaje_impuesto = FeaEntidades.IVA.IVA.ListaMinima()[j].Codigo;
                    imp.descripcion = iva.Descr;
                    EliminarFilaAutomatica();
                    impuestos.Add(imp);
                }
			}
			impuestosGridView.DataSource = impuestos;
			impuestosGridView.DataBind();
			ViewState["impuestos"] = impuestos;
			BindearDropDownLists();
		}
コード例 #12
0
ファイル: Impuestos.ascx.cs プロジェクト: pjeconde/eFact
		internal void AgregarImpuestosIVA(System.Collections.Generic.List<FeaEntidades.InterFacturas.linea> listadelineas)
		{
			System.Collections.Generic.List<FeaEntidades.IVA.IVA> listaIVA = FeaEntidades.IVA.IVA.ListaMinimaSinCero();
			double[] impivas = new double[listaIVA.Count];
            bool[] impivasinformados = new bool[listaIVA.Count];
			for (int i = 0; i < listadelineas.Count; i++)
			{
				if (listadelineas[i].alicuota_ivaSpecified)
				{
					int k=listaIVA.FindIndex(delegate(FeaEntidades.IVA.IVA e)
					{
						return e.Codigo == listadelineas[i].alicuota_iva;
					});
                    if (k >= 0)
                    {
                        impivas[k] += listadelineas[i].importe_iva;
                        impivasinformados[k] = true;
                    }
				}
			}
			for (int j = 0; j<impivas.Length; j++)
			{
                if (impivasinformados[j])
                {
                    impuestos = ((System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]);
                    FeaEntidades.InterFacturas.resumenImpuestos imp = new FeaEntidades.InterFacturas.resumenImpuestos();
                    FeaEntidades.CodigosImpuesto.IVA iva = new FeaEntidades.CodigosImpuesto.IVA();
                    imp.codigo_impuesto = iva.Codigo;
                    imp.importe_impuesto = Math.Round(impivas[j], 2);
                    imp.porcentaje_impuestoSpecified = true;
                    imp.porcentaje_impuesto = FeaEntidades.IVA.IVA.ListaMinimaSinCero()[j].Codigo;
                    imp.descripcion = iva.Descr;
                    EliminarFilaAutomatica();
                    impuestos.Add(imp);
                }
			}
			impuestosGridView.DataSource = impuestos;
			impuestosGridView.DataBind();
			ViewState["impuestos"] = impuestos;
			BindearDropDownLists();
		}
コード例 #13
0
ファイル: Impuestos.ascx.cs プロジェクト: pjeconde/eFact
		protected void impuestosGridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
		{
			try
			{
				System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenImpuestos> impuestos = ((System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]);
				FeaEntidades.InterFacturas.resumenImpuestos r = impuestos[e.RowIndex];
				impuestos.Remove(r);

				if (impuestos.Count.Equals(0))
				{
					FeaEntidades.InterFacturas.resumenImpuestos nueva = new FeaEntidades.InterFacturas.resumenImpuestos();
					impuestos.Add(nueva);
				}
				impuestosGridView.EditIndex = -1;
				impuestosGridView.DataSource = ViewState["impuestos"];
				impuestosGridView.DataBind();
				BindearDropDownLists();
			}
			catch
			{
			}
		}
コード例 #14
0
ファイル: Impuestos.ascx.cs プロジェクト: pjeconde/eFact
		protected void impuestosGridView_RowCommand(object sender, GridViewCommandEventArgs e)
		{
			if (e.CommandName.Equals("AddImpuestoGlobal"))
			{
				try
				{
					FeaEntidades.InterFacturas.resumenImpuestos r = new FeaEntidades.InterFacturas.resumenImpuestos();
					
					int auxcodigo_impuesto = Convert.ToInt32(((DropDownList)impuestosGridView.FooterRow.FindControl("ddlcodigo_impuesto")).SelectedValue);
					r.codigo_impuesto = auxcodigo_impuesto;

					string auxpi = ((TextBox)impuestosGridView.FooterRow.FindControl("txtalicuota")).Text;
					if (!auxpi.Equals(string.Empty))
					{
						double auxporcentaje_impuesto = Convert.ToDouble(auxpi);
						r.porcentaje_impuesto = auxporcentaje_impuesto;
						r.porcentaje_impuestoSpecified = true;
					}
					else
					{
						r.porcentaje_impuestoSpecified = false;
					}

					int auxcodigo_jurisdiccion = Convert.ToInt32(((DropDownList)impuestosGridView.FooterRow.FindControl("ddljurisdiccion")).SelectedValue);
                    if (!auxcodigo_jurisdiccion.Equals(0))
                    {
                        r.codigo_jurisdiccion = auxcodigo_jurisdiccion;
                        r.codigo_jurisdiccionSpecified = true;
                    }
                    else
                    {
                        r.codigo_jurisdiccion = 0;
                        r.codigo_jurisdiccionSpecified = false;
                    }


					r.descripcion = ((DropDownList)impuestosGridView.FooterRow.FindControl("ddlcodigo_impuesto")).SelectedItem.Text;

					string auxTotal = ((TextBox)impuestosGridView.FooterRow.FindControl("txtimporte_impuesto")).Text;
					if (!auxTotal.Contains(","))
					{
						double auxImp = Convert.ToDouble(auxTotal);
						if (!auxImp.Equals(0))
						{
							r.importe_impuesto = auxImp;
						}
						else
						{
							throw new Exception("Impuesto global no agregado porque el importe debe ser mayor a 0");
						}
					}
					else
					{
						throw new Exception("Impuesto global no agregado porque el separador de decimales debe ser el punto");
					}

					((System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]).Add(r);


					//Me fijo si elimino la fila automática
					EliminarFilaAutomatica();

					//Saco de edición la fila que estén modificando
					if (!impuestosGridView.EditIndex.Equals(-1))
					{
						impuestosGridView.EditIndex = -1;
					}

					impuestosGridView.DataSource = ViewState["impuestos"];
					impuestosGridView.DataBind();
					BindearDropDownLists();

				}
				catch (Exception ex)
				{
					ScriptManager.RegisterStartupScript(this.Parent.Page, GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('" + ex.Message.ToString().Replace("'", "") + "');</SCRIPT>", false);
				}
			}
		}
コード例 #15
0
ファイル: Impuestos.ascx.cs プロジェクト: pjeconde/eFact
		public System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenImpuestos> EliminarImpuestosIVA()
		{
			impuestos = ((System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]);
			impuestos.RemoveAll(delegate(FeaEntidades.InterFacturas.resumenImpuestos e)
				{
					return e.codigo_impuesto == new FeaEntidades.CodigosImpuesto.IVA().Codigo;
				});

			if (impuestos.Count.Equals(0))
			{
				FeaEntidades.InterFacturas.resumenImpuestos nueva = new FeaEntidades.InterFacturas.resumenImpuestos();
				impuestos.Add(nueva);
			}

			impuestosGridView.DataSource = impuestos;
			impuestosGridView.DataBind();
			ViewState["impuestos"] = impuestos;
			BindearDropDownLists();
			return impuestos;
		}
コード例 #16
0
ファイル: Tablero.cs プロジェクト: pjeconde/eFact
		private void ExcelButton_Click(object sender, EventArgs e)
		{
			OpenFileDialog xlsOpenFileDialog = new OpenFileDialog();

			xlsOpenFileDialog.Filter = "Archivos Excel (*.xls)|*.xls|Todos los archivos (*.*)|*.*";
			xlsOpenFileDialog.Multiselect = false;
			xlsOpenFileDialog.FilterIndex = 1;
			xlsOpenFileDialog.RestoreDirectory = true;

			if (xlsOpenFileDialog.ShowDialog() == DialogResult.OK)
			{
				try
				{
					string archivo = xlsOpenFileDialog.FileName;
					FeaEntidades.InterFacturas.lote_comprobantes lote = new FeaEntidades.InterFacturas.lote_comprobantes();
					FeaEntidades.InterFacturas.cabecera compcab = new FeaEntidades.InterFacturas.cabecera();
					FeaEntidades.InterFacturas.comprobante comp = new FeaEntidades.InterFacturas.comprobante();
					comp.cabecera = compcab;
					lote.comprobante[0] = comp;

					List<FeaEntidades.Excel.Ubicador> lista = FeaEntidades.Excel.Ubicador.Lista();
					foreach (FeaEntidades.Excel.Ubicador u in lista)
					{
						FileHelpers.DataLink.ExcelStorage provider = new FileHelpers.DataLink.ExcelStorage(u.GetType());
						provider.StartRow = u.X;
						provider.StartColumn = u.Y;
						provider.FileName = @archivo;
						provider.SheetName = "XML";
						Object[] oArray = (Object[])System.Array.CreateInstance(u.GetType(), 10);
						oArray = (Object[])provider.ExtractRecords();

						foreach (Object o in oArray)
						{
							FileHelpers.DataLink.ExcelStorage providerInterno = new FileHelpers.DataLink.ExcelStorage(System.Type.GetType("FeaEntidades.InterFacturas." + ((FeaEntidades.Excel.Ubicador)o).Tipo + ", FeaEntidades"));
							providerInterno.StartRow = ((FeaEntidades.Excel.Ubicador)o).Y;
							providerInterno.StartColumn = ((FeaEntidades.Excel.Ubicador)o).X;
							providerInterno.FileName = @archivo;
							providerInterno.SheetName = "XML";
							Object[] oArrayInterno = (Object[])System.Array.CreateInstance(System.Type.GetType("FeaEntidades.InterFacturas." + ((FeaEntidades.Excel.Ubicador)o).Tipo + ", FeaEntidades"), 10);
							oArrayInterno = (Object[])providerInterno.ExtractRecords();

							if (oArrayInterno.Length > 0)
							{
								switch (oArrayInterno.GetType().ToString())
								{
									case "FeaEntidades.InterFacturas.cabecera_lote[]":
										lote.cabecera_lote = (FeaEntidades.InterFacturas.cabecera_lote)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.informacion_comprador[]":
										compcab.informacion_comprador = (FeaEntidades.InterFacturas.informacion_comprador)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.informacion_comprobante[]":
										compcab.informacion_comprobante = (FeaEntidades.InterFacturas.informacion_comprobante)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.informacion_comprobanteReferencias[]":
										compcab.informacion_comprobante.referencias = (FeaEntidades.InterFacturas.informacion_comprobanteReferencias[])oArrayInterno;
										break;
									case "FeaEntidades.InterFacturas.informacion_vendedor[]":
										compcab.informacion_vendedor = (FeaEntidades.InterFacturas.informacion_vendedor)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.detalle[]":
										comp.detalle = (FeaEntidades.InterFacturas.detalle)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.linea[]":
										comp.detalle.linea = (FeaEntidades.InterFacturas.linea[])oArrayInterno;
										break;
									case "FeaEntidades.InterFacturas.lineaImportes_moneda_origen[]":
										break;
									case "FeaEntidades.InterFacturas.lineaImpuestos[]":
										break;
									case "FeaEntidades.InterFacturas.lineaDescuentos[]":
										break;
									case "FeaEntidades.InterFacturas.resumen[]":
										comp.resumen = (FeaEntidades.InterFacturas.resumen)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.resumenDescuentos[]":
										comp.resumen.descuentos = (FeaEntidades.InterFacturas.resumenDescuentos[])oArrayInterno;
										break;
									case "FeaEntidades.InterFacturas.resumenImportes_moneda_origen[]":
										break;
									case "FeaEntidades.InterFacturas.resumenImpuestos[]":
                                        FeaEntidades.InterFacturas.resumenImpuestos[] impLista = ((FeaEntidades.InterFacturas.resumenImpuestos[])oArrayInterno);
                                        FeaEntidades.InterFacturas.resumenImpuestos[] impNewLista = new FeaEntidades.InterFacturas.resumenImpuestos[10];
                                        for (int im = 0; im < impLista.Length; im++)
                                        {
                                            if (impLista[im].importe_impuesto != 0)
                                            {
                                                impNewLista[im] = impLista[im];
                                            }
                                        }
                                        comp.resumen.impuestos = impNewLista;
        								break;
								}
							}
						}
					}

					System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(lote.GetType());
					System.Text.StringBuilder sb = new System.Text.StringBuilder();
					if (d != null)
					{
						sb.Append(@d);
						sb.Append(System.IO.Path.DirectorySeparatorChar);
					}
					else
					{
						throw new Exception("Debe elegir un directorio primero");
					}
					sb.Append(lote.cabecera_lote.cuit_vendedor);
					sb.Append("-");
					sb.Append(lote.cabecera_lote.punto_de_venta.ToString("0000"));
					sb.Append("-");
					sb.Append(lote.comprobante[0].cabecera.informacion_comprobante.tipo_de_comprobante.ToString("00"));
					sb.Append("-");
					sb.Append(lote.comprobante[0].cabecera.informacion_comprobante.numero_comprobante.ToString("00000000"));
					sb.Append(".xml");
					System.IO.Stream fs = new System.IO.FileStream(sb.ToString(), System.IO.FileMode.Create);
					System.Xml.XmlWriter writer = new System.Xml.XmlTextWriter(fs, System.Text.Encoding.GetEncoding("ISO-8859-1"));
					x.Serialize(writer, lote);
					fs.Close();
					System.Diagnostics.Process.Start(sb.ToString());
				}
				catch(NullReferenceException)
				{
					try
					{
						throw new Exception("El archivo seleccionado no está generado desde el template excel");
					}
					catch (Exception exc)
					{
						Microsoft.ApplicationBlocks.ExceptionManagement.ExceptionManager.Publish(exc);
					}
				}
				catch (Exception ex)
				{
					Microsoft.ApplicationBlocks.ExceptionManagement.ExceptionManager.Publish(ex);
				}
			}
		}
コード例 #17
0
        protected void impuestosGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            try
            {
                System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos> impuestos = ((System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]);

                FeaEntidades.InterFacturas.resumenImpuestos r = impuestos[e.RowIndex];
                int auxcodigo_impuesto = Convert.ToInt32(((DropDownList)impuestosGridView.Rows[e.RowIndex].FindControl("ddlcodigo_impuestoEdit")).SelectedValue);
                r.codigo_impuesto = auxcodigo_impuesto;

                string auxdescr_impuesto = ((DropDownList)impuestosGridView.Rows[e.RowIndex].FindControl("ddlcodigo_impuestoEdit")).SelectedItem.Text;
                r.descripcion = auxdescr_impuesto;

                string auxAlicuota = ((TextBox)impuestosGridView.Rows[e.RowIndex].FindControl("txtalicuota")).Text;
                if (!auxAlicuota.Contains(","))
                {
                    r.porcentaje_impuesto          = Convert.ToDouble(auxAlicuota);
                    r.porcentaje_impuestoSpecified = true;
                }
                else
                {
                    throw new Exception("Impuesto global no actualizado porque el separador de decimales debe ser el punto");
                }

                string auxTotal = ((TextBox)impuestosGridView.Rows[e.RowIndex].FindControl("txtimporte_impuesto")).Text;
                if (!auxTotal.Contains(","))
                {
                    double auxImp = Convert.ToDouble(auxTotal);
                    if (!auxImp.Equals(0))
                    {
                        r.importe_impuesto = auxImp;
                    }
                    else
                    {
                        if (r.porcentaje_impuesto != 0)
                        {
                            throw new Exception("Impuesto global no actualizado porque el importe debe ser mayor a 0");
                        }
                    }
                }
                else
                {
                    throw new Exception("Impuesto global no actualizado porque el separador de decimales debe ser el punto");
                }

                int auxjurisdiccion = Convert.ToInt32(((DropDownList)impuestosGridView.Rows[e.RowIndex].FindControl("ddljurisdiccionEdit")).SelectedValue);
                if (!auxjurisdiccion.Equals(0))
                {
                    r.codigo_jurisdiccion          = auxjurisdiccion;
                    r.codigo_jurisdiccionSpecified = true;
                }
                else
                {
                    r.codigo_jurisdiccion          = 0;
                    r.codigo_jurisdiccionSpecified = false;
                }

                impuestosGridView.EditIndex  = -1;
                impuestosGridView.DataSource = ViewState["impuestos"];
                impuestosGridView.DataBind();
                BindearDropDownLists();
                Session["FaltaCalcularTotales"] = true;
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this.Parent.Page, GetType(), "Message", Funciones.TextoScript(ex.Message), false);
            }
        }
コード例 #18
0
        protected void impuestosGridView_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName.Equals("AddImpuestoGlobal"))
            {
                try
                {
                    FeaEntidades.InterFacturas.resumenImpuestos r = new FeaEntidades.InterFacturas.resumenImpuestos();

                    int auxcodigo_impuesto = Convert.ToInt32(((DropDownList)impuestosGridView.FooterRow.FindControl("ddlcodigo_impuesto")).SelectedValue);
                    r.codigo_impuesto = auxcodigo_impuesto;

                    string auxpi = ((TextBox)impuestosGridView.FooterRow.FindControl("txtalicuota")).Text;
                    if (!auxpi.Equals(string.Empty))
                    {
                        double auxporcentaje_impuesto = Convert.ToDouble(auxpi);
                        r.porcentaje_impuesto          = auxporcentaje_impuesto;
                        r.porcentaje_impuestoSpecified = true;
                    }
                    else
                    {
                        r.porcentaje_impuestoSpecified = false;
                    }

                    int auxcodigo_jurisdiccion = Convert.ToInt32(((DropDownList)impuestosGridView.FooterRow.FindControl("ddljurisdiccion")).SelectedValue);
                    if (!auxcodigo_jurisdiccion.Equals(0))
                    {
                        r.codigo_jurisdiccion          = auxcodigo_jurisdiccion;
                        r.codigo_jurisdiccionSpecified = true;
                    }
                    else
                    {
                        r.codigo_jurisdiccion          = 0;
                        r.codigo_jurisdiccionSpecified = false;
                    }


                    r.descripcion = ((DropDownList)impuestosGridView.FooterRow.FindControl("ddlcodigo_impuesto")).SelectedItem.Text;

                    string auxTotal = ((TextBox)impuestosGridView.FooterRow.FindControl("txtimporte_impuesto")).Text;
                    if (!auxTotal.Contains(","))
                    {
                        double auxImp = Convert.ToDouble(auxTotal);
                        if (!auxImp.Equals(0))
                        {
                            r.importe_impuesto = auxImp;
                        }
                        else
                        {
                            if (r.porcentaje_impuesto != 0)
                            {
                                throw new Exception("Impuesto global no agregado porque el importe debe ser mayor a 0");
                            }
                        }
                    }
                    else
                    {
                        throw new Exception("Impuesto global no agregado porque el separador de decimales debe ser el punto");
                    }

                    ((System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]).Add(r);


                    //Me fijo si elimino la fila automática
                    EliminarFilaAutomatica();

                    //Saco de edición la fila que estén modificando
                    if (!impuestosGridView.EditIndex.Equals(-1))
                    {
                        impuestosGridView.EditIndex = -1;
                    }

                    impuestosGridView.DataSource = ViewState["impuestos"];
                    impuestosGridView.DataBind();
                    BindearDropDownLists();
                    Session["FaltaCalcularTotales"] = true;
                }
                catch (Exception ex)
                {
                    ScriptManager.RegisterStartupScript(this.Parent.Page, GetType(), "Message", Funciones.TextoScript(ex.Message), false);
                }
            }
        }
コード例 #19
0
ファイル: ComprobanteBj.cs プロジェクト: pjeconde/eFact
        public void ConsultarN(List<eFact_I_Bj.Entidades.ComprobanteBj> Comprobantes, FeaEntidades.InterFacturas.lote_comprobantes Lc, eFact_I_Bj.RN.TableroBj.TipoConsulta TipoConsulta, DateTime FechaDsd, DateTime FechaHst, string IdTipoComprobante, string PuntoVenta, string NumeroComprobante, bool VerificarExistenciaCAE)
        {
            StringBuilder commandText = new StringBuilder();
            commandText.Append("DECLARE @FechaDsd as Datetime DECLARE @FechaHst as Datetime DECLARE @NroComp as Varchar(250) ");
			commandText.Append("SET @FechaDsd='" + FechaDsd.ToString("yyyyMMdd") + "' ");
			commandText.Append("SET @FechaHst='" + FechaHst.ToString("yyyyMMdd") + "' ");

			if (NumeroComprobante != string.Empty)
			{
				commandText.Append("SET @NroComp='" + NumeroComprobante + "' ");
			}
            commandText.Append("select gva12.id_gva12, gva12.cod_client, gva12.cat_iva, gva12.fecha_emis, gva12.n_comp, gva12.t_comp, gva12.cotiz, gva12.importe_iv, round(gva12.importe_iv * gva12.cotiz, 6) as importe_iv_pesos, gva12.unidades, gva12.importe, round((gva12.unidades - gva12.importe_iv) * gva12.cotiz, 6) as ImpTotalNetoGravado, gva12.pto_vta, gva12.leyenda_1, gva12.leyenda_2, gva12.leyenda_3, gva12.leyenda_4, gva12.leyenda_5, gva12.MON_CTE, ");
            commandText.Append("gva14.c_postal, gva14.cod_provin, gva14.cuit, gva14.domicilio, gva14.localidad, gva14.nom_com, gva14.tipo_doc ");
            commandText.Append("from GVA12 ");
            commandText.Append("inner join gva14 on gva12.cod_client=gva14.cod_client ");
			if (NumeroComprobante != string.Empty)
			{
				commandText.Append("and gva12.n_comp like '%'+@NroComp+'%' ");
			}
			else
			{
				commandText.Append("where fecha_emis >= @FechaDsd and fecha_emis < Dateadd (Day, 1, @FechaHst) ");
			}

            commandText.Append("select gva12.id_gva12, gva12.cod_client, gva12.cat_iva, gva12.fecha_emis, gva12.n_comp, gva12.t_comp, gva12.cotiz, gva12.importe_iv, gva12.unidades, gva12.importe, ");
            commandText.Append("gva14.id_gva14, gva14.c_postal, gva14.cod_provin, gva14.cuit, gva14.domicilio, gva14.localidad, gva14.nom_com, gva14.tipo_doc, ");
            commandText.Append("gva53.cantidad, gva53.id_medida_ventas, GVA53.PRECIO_NET, round(GVA53.PRECIO_NET * gva12.cotiz, 7) as PRECIO_NET_pesos, gva53.IMP_NETO_P, round(GVA53.IMP_NETO_P * gva12.cotiz, 6) as IMP_NETO_P_pesos, GVA53.PORC_IVA, ");
            commandText.Append("sta11.descripcio, ");
            commandText.Append("medida.cod_medida ");
            commandText.Append("from GVA12 ");
            commandText.Append("inner join gva14 on gva12.cod_client=gva14.cod_client ");
            commandText.Append("inner join gva53 on gva53.N_comp=gva12.n_comp and gva53.t_comp=gva12.t_comp ");
            commandText.Append("inner join sta11 on gva53.COD_ARTICU=sta11.cod_articu ");
            commandText.Append("inner join medida on gva53.ID_MEDIDA_VENTAS=medida.id_medida ");
            
			if (NumeroComprobante != string.Empty)
			{
				commandText.Append("and gva12.n_comp like '%'+@NroComp+'%' ");
			}
			else
			{
				commandText.Append("where fecha_emis >= @FechaDsd and fecha_emis < Dateadd (Day, 1, @FechaHst) ");
			}
      
            DataSet ds = new DataSet();
            ds = (DataSet)Ejecutar(commandText.ToString(), TipoRetorno.DS, Transaccion.Acepta, sesion.CnnStrAplicExterna);

            commandText = commandText.Remove(0, commandText.Length);
            commandText.Append("select * from vendedores where cuitvendedor='33709728119' ");
            
            DataTable dsTable = new DataTable();
            dsTable = ((DataTable)Ejecutar(commandText.ToString(), TipoRetorno.TB, Transaccion.Acepta, sesion.CnnStr)).Copy();
            dsTable.TableName = "Vendedor";
            ds.Tables.Add(dsTable);
            ds.AcceptChanges();

            commandText = commandText.Remove(0, commandText.Length);
            commandText.Append("select * from GVA15 ");
            DataTable dsTable1 = new DataTable();
            dsTable1 = ((DataTable)Ejecutar(commandText.ToString(), TipoRetorno.TB, Transaccion.Acepta, sesion.CnnStrAplicExterna)).Copy();
            dsTable1.TableName = "TComprobantes";
            ds.Tables.Add(dsTable1);
            ds.AcceptChanges();

            if (ds.Tables.Count == 0)
            {
                throw new Microsoft.ApplicationBlocks.ExceptionManagement.Validaciones.NoHayDatos();
            }
            else
            {
				try
				{
					DataTable dt = ds.Tables[0];
					DataTable dt2 = ds.Tables[2];
					DataTable dtTComprobantes = ds.Tables[3];
					//Crear "cabecera" del lote de comprobantes
					Lc.cabecera_lote = new FeaEntidades.InterFacturas.cabecera_lote();
					Lc.cabecera_lote.cuit_canal = Convert.ToInt64(@System.Configuration.ConfigurationManager.AppSettings["CuitCanal"].ToString());
					Lc.cabecera_lote.cuit_vendedor = Convert.ToInt64(dt2.Rows[0]["CuitVendedor"]);
					Lc.cabecera_lote.cantidad_reg = dt.Rows.Count;
					Lc.cabecera_lote.id_lote = Convert.ToInt64(DateTime.Now.ToString("yyyyMMddHHmmss"));
					Lc.cabecera_lote.fecha_envio_lote = DateTime.Now.ToString("yyyyMMdd") + " " + DateTime.Now.ToString("HHmmss");
					for (int i = 0; i < dt.Rows.Count; i++)
					{
						eFact_I_Bj.Entidades.ComprobanteBj Comprobante = new eFact_I_Bj.Entidades.ComprobanteBj();
						//Crear "lote_comprobantes"
						//FeaEntidades.InterFacturas.lote_comprobantes lc = new FeaEntidades.InterFacturas.lote_comprobantes();
						//Crear "comprobante" del lote de comprobantes
						FeaEntidades.InterFacturas.comprobante c = new FeaEntidades.InterFacturas.comprobante();
						//Crear "cabecera" del comprobante
						c.cabecera = new FeaEntidades.InterFacturas.cabecera();
						//Crear "informacion_comprador" de la cabecera del comprobante
						c.cabecera.informacion_comprador = new FeaEntidades.InterFacturas.informacion_comprador();
						//Crear "informacion_vendedor" de la cabecera del comprobante
						c.cabecera.informacion_vendedor = new FeaEntidades.InterFacturas.informacion_vendedor();
						//Crear "informacion_comprobante" de la cabecera del comprobante
						c.cabecera.informacion_comprobante = new FeaEntidades.InterFacturas.informacion_comprobante();
						//Crear "detalle" del comprobante.
						c.detalle = new FeaEntidades.InterFacturas.detalle();
						//Crear "resumen" del comprobante.
						c.resumen = new FeaEntidades.InterFacturas.resumen();

						Comprobante.Clave = Convert.ToInt32(dt.Rows[i]["id_gva12"]);
						//Comprobante.Vendedor.Codigo = dt.Rows[i]["Codigo"].ToString();
						// Armar switch con cada tipo de comprobante de Tango a Cedeira
						string letraComprobante = dt.Rows[i]["n_comp"].ToString().Substring(0, 1);
						switch (dt.Rows[i]["t_comp"].ToString())
						{
							case "FAC":
								if (letraComprobante == "A")
								{
									FeaEntidades.TiposDeComprobantes.Facturas.A tc = new FeaEntidades.TiposDeComprobantes.Facturas.A();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								else
								{
									FeaEntidades.TiposDeComprobantes.Facturas.B tc = new FeaEntidades.TiposDeComprobantes.Facturas.B();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								break;
							case "N/D":
								if (letraComprobante == "A")
								{
									FeaEntidades.TiposDeComprobantes.NotasDebito.A tc = new FeaEntidades.TiposDeComprobantes.NotasDebito.A();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								else
								{
									FeaEntidades.TiposDeComprobantes.NotasDebito.B tc = new FeaEntidades.TiposDeComprobantes.NotasDebito.B();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								break;
							case "N/C":
								if (letraComprobante == "A")
								{
									FeaEntidades.TiposDeComprobantes.NotasCredito.A tc = new FeaEntidades.TiposDeComprobantes.NotasCredito.A();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								else
								{
									FeaEntidades.TiposDeComprobantes.NotasCredito.B tc = new FeaEntidades.TiposDeComprobantes.NotasCredito.B();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								break;
							case "LIQ":
								if (letraComprobante == "A")
								{
									FeaEntidades.TiposDeComprobantes.Liquidacion.A tc = new FeaEntidades.TiposDeComprobantes.Liquidacion.A();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								else
								{
									FeaEntidades.TiposDeComprobantes.Liquidacion.B tc = new FeaEntidades.TiposDeComprobantes.Liquidacion.B();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								break;
							case "NDI":
								break;
							case "NCI":
								break;

						}
						FeaEntidades.InterFacturas.informacion_comprador feaEntidadinfComprador = new FeaEntidades.InterFacturas.informacion_comprador();
						Comprobante.NumeroComprobante = dt.Rows[i]["n_comp"].ToString();
						c.cabecera.informacion_comprobante.numero_comprobante = Convert.ToInt64(Comprobante.NumeroComprobante.Substring(5, Comprobante.NumeroComprobante.Length - 5));

						Comprobante.PuntoVenta = Convert.ToInt32(Comprobante.NumeroComprobante.Substring(1, 4));
						Lc.cabecera_lote.punto_de_venta = Comprobante.PuntoVenta;
						c.cabecera.informacion_comprobante.punto_de_venta = Comprobante.PuntoVenta;


						// Armar switch con cada tipo doc de Tango a Cedeira
						Comprobante.Comprador.TipoDoc = Convert.ToInt16(dt.Rows[i]["tipo_doc"]);
						feaEntidadinfComprador.codigo_doc_identificatorio = Comprobante.Comprador.TipoDoc;

						Comprobante.Comprador.NroDoc = dt.Rows[i]["cuit"].ToString();
						feaEntidadinfComprador.nro_doc_identificatorio = Convert.ToInt64(Comprobante.Comprador.NroDoc.Replace("-", string.Empty));
						feaEntidadinfComprador.codigo_interno = "";

						Comprobante.Comprador.Nombre = dt.Rows[i]["nom_com"].ToString();
						feaEntidadinfComprador.denominacion = Comprobante.Comprador.Nombre;
						feaEntidadinfComprador.denominacion = Comprobante.Comprador.Nombre;
						Comprobante.Comprador.DomicilioCalle = dt.Rows[i]["domicilio"].ToString();
						feaEntidadinfComprador.domicilio_calle = Comprobante.Comprador.DomicilioCalle;
						Comprobante.Comprador.CondicionIVA = dt.Rows[i]["cat_iva"].ToString();
						FeaEntidades.CondicionesIVA.ResponsableInscripto condicionIVA = new FeaEntidades.CondicionesIVA.ResponsableInscripto();
						feaEntidadinfComprador.condicion_IVA = condicionIVA.Codigo;
						feaEntidadinfComprador.condicion_IVASpecified = true;
						Comprobante.Comprador.Localidad = dt.Rows[i]["localidad"].ToString();
						feaEntidadinfComprador.localidad = Comprobante.Comprador.Localidad;
						Comprobante.Comprador.Provincia = DeterminarProvincia(Convert.ToInt16(dt.Rows[i]["cod_provin"]));
						feaEntidadinfComprador.provincia = Convert.ToString(Comprobante.Comprador.Provincia);
						Comprobante.Comprador.CP = dt.Rows[i]["c_postal"].ToString();
						feaEntidadinfComprador.cp = Comprobante.Comprador.CP;
						//Comprobante.Comprador.Telefono = dt.Rows[i]["Comprador_telefono"].ToString();
						//Comprobante.Comprador.EMail = dt.Rows[i]["Comprador_email"].ToString();
						Comprobante.Fecha = Convert.ToDateTime(dt.Rows[i]["fecha_emis"]);
						c.cabecera.informacion_comprobante.fecha_emision = Comprobante.Fecha.ToString("yyyyMMdd");
						if (!dt.Rows[i]["leyenda_1"].ToString().Equals(string.Empty))
						{
							Comprobante.FechaVto = Convert.ToDateTime(dt.Rows[i]["leyenda_1"].ToString(), cedeiraCultura.DateTimeFormat);
							c.cabecera.informacion_comprobante.fecha_vencimiento = Comprobante.FechaVto.ToString("yyyyMMdd");
						}
						else
						{
							Comprobante.FechaVto = Convert.ToDateTime("1970/05/22", cedeiraCultura.DateTimeFormat);
							//c.cabecera.informacion_comprobante.fecha_vencimiento = Comprobante.FechaVto.ToString("yyyyMMdd");
						}
						//Comprobante.Importe = Convert.ToDecimal(dt.Rows[i]["importe"]);
						//Comprobante.ImporteNetoGravado = Convert.ToDecimal(dt.Rows[i]["PRECIO_NET"]);
						//Comprobante.ImporteNetoNoGravado = Convert.ToDecimal(dt.Rows[i]["importe"]);
						//feaEntidadComprobante.Imp_neto = Comprobante.ImporteNetoNoGravado;
						//Comprobante.ImporteOpsExentas = Convert.ToDecimal(dt.Rows[i]["Resumen_importe_operaciones_exentas"]);
						//Comprobante.ImpuestoLiq = Convert.ToDecimal(dt.Rows[i]["Resumen_impuesto_liq"]);
						//Comprobante.ImpuestoRNI = Convert.ToDecimal(dt.Rows[i]["Resumen_impuesto_liq_rni"]);
						//Comprobante.ImpuestosNacionales = Convert.ToDecimal(dt.Rows[i]["Resumen_importe_total_impuestos_nacionales"]);
						//Comprobante.CantAlicuotasIVA = Convert.ToInt32(dt.Rows[i]["Resumen_cant_alicuotas_iva"]);
						//if (dt.Rows[i]["Comprobante_cae"] != System.DBNull.Value && dt.Rows[i]["Comprobante_cae"].ToString() != "")
						//{
						//    Comprobante.NumeroCAE = dt.Rows[i]["Comprobante_cae"].ToString();
						//    Comprobante.FechaVtoCAE = Convert.ToDateTime(dt.Rows[i]["Comprobante_fecha_vencimiento_cae"]);
						//}
						Comprobante.Vendedor.CuitVendedor = dt2.Rows[0]["CuitVendedor"].ToString();
						FeaEntidades.InterFacturas.informacion_vendedor feaEntidadInfVendedor = new FeaEntidades.InterFacturas.informacion_vendedor();
						feaEntidadInfVendedor.cuit = Convert.ToInt64(Comprobante.Vendedor.CuitVendedor.Replace("-", string.Empty));
						Comprobante.Vendedor.Nombre = dt2.Rows[0]["Nombre"].ToString();
						feaEntidadInfVendedor.razon_social = Comprobante.Vendedor.Nombre;
						Comprobante.Vendedor.NumeroSerieCertificado = dt2.Rows[0]["NumeroSerieCertificado"].ToString();
						//System.IO.MemoryStream memStream = new System.IO.MemoryStream(dt2.Rows[i]["Logo"]);
						//Byte[] logo = memStream.GetBuffer();
						//Comprobante.Vendedor.Logo = dt2.Rows[i]["Logo"];
						Comprobante.Vendedor.Codigo = dt2.Rows[0]["Codigo"].ToString();
						feaEntidadInfVendedor.codigo_interno = Comprobante.Vendedor.Codigo;
						Comprobante.Vendedor.InicioActividades = Convert.ToDateTime(dt2.Rows[0]["InicioActividades"]);
						feaEntidadInfVendedor.inicio_de_actividades = Comprobante.Vendedor.InicioActividades.ToString("yyyyMMdd");
						Comprobante.Vendedor.Contacto = dt2.Rows[0]["Contacto"].ToString();
						feaEntidadInfVendedor.contacto = Comprobante.Vendedor.Contacto;
						Comprobante.Vendedor.DomicilioCalle = dt2.Rows[0]["DomicilioCalle"].ToString();
						feaEntidadInfVendedor.domicilio_calle = Comprobante.Vendedor.DomicilioCalle;
						Comprobante.Vendedor.DomicilioNumero = dt2.Rows[0]["DomicilioNumero"].ToString();
						feaEntidadInfVendedor.domicilio_numero = Comprobante.Vendedor.DomicilioNumero;
						Comprobante.Vendedor.DomicilioPiso = dt2.Rows[0]["DomicilioPiso"].ToString();
						feaEntidadInfVendedor.domicilio_piso = Comprobante.Vendedor.DomicilioPiso;
						Comprobante.Vendedor.DomicilioDepto = dt2.Rows[0]["DomicilioDepto"].ToString();
						feaEntidadInfVendedor.domicilio_depto = Comprobante.Vendedor.DomicilioDepto;
						Comprobante.Vendedor.DomicilioSector = dt2.Rows[0]["DomicilioSector"].ToString();
						feaEntidadInfVendedor.domicilio_sector = Comprobante.Vendedor.DomicilioSector;
						Comprobante.Vendedor.DomicilioTorre = dt2.Rows[0]["DomicilioTorre"].ToString();
						feaEntidadInfVendedor.domicilio_torre = Comprobante.Vendedor.DomicilioTorre;
						Comprobante.Vendedor.DomicilioManzana = dt2.Rows[0]["DomicilioManzana"].ToString();
						feaEntidadInfVendedor.domicilio_manzana = Comprobante.Vendedor.DomicilioManzana;
						Comprobante.Vendedor.CondicionIVA = Convert.ToInt32(dt2.Rows[0]["CondicionIVA"]);
						feaEntidadInfVendedor.condicion_IVA = Comprobante.Vendedor.CondicionIVA;
						feaEntidadInfVendedor.condicion_IVASpecified = true;
						Comprobante.Vendedor.CondicionIB = Convert.ToInt32(dt2.Rows[0]["CondicionIB"]);
						feaEntidadInfVendedor.condicion_ingresos_brutos = Comprobante.Vendedor.CondicionIB;
						feaEntidadInfVendedor.condicion_ingresos_brutosSpecified = true;
						Comprobante.Vendedor.NroIB = dt2.Rows[0]["NroIB"].ToString();
						feaEntidadInfVendedor.nro_ingresos_brutos = Comprobante.Vendedor.NroIB;
						Comprobante.Vendedor.Localidad = dt2.Rows[0]["Localidad"].ToString();
						feaEntidadInfVendedor.localidad = Comprobante.Vendedor.Localidad;
						Comprobante.Vendedor.Provincia = DeterminarProvincia(Convert.ToInt16(dt2.Rows[0]["Provincia"])).ToString();
						feaEntidadInfVendedor.provincia = Comprobante.Vendedor.Provincia;
						Comprobante.Vendedor.CP = dt2.Rows[0]["CP"].ToString();
						feaEntidadInfVendedor.cp = Comprobante.Vendedor.CP;
						Comprobante.Vendedor.Telefono = dt2.Rows[0]["Telefono"].ToString();
						feaEntidadInfVendedor.telefono = Comprobante.Vendedor.Telefono;
						Comprobante.Vendedor.EMail = dt2.Rows[0]["EMail"].ToString();
						feaEntidadInfVendedor.email = Comprobante.Vendedor.EMail;
						c.cabecera.informacion_comprador = feaEntidadinfComprador;
						c.cabecera.informacion_vendedor = feaEntidadInfVendedor;

						c.resumen.tipo_de_cambio = Convert.ToDouble(dt.Rows[i]["cotiz"]);
						Comprobante.TipoDeCambio = Convert.ToDouble(dt.Rows[i]["cotiz"]);
						c.resumen.importe_total_factura = Math.Round(Convert.ToDouble(dt.Rows[i]["importe"]), 2);
						
						c.resumen.impuesto_liq = Math.Round(Convert.ToDouble(dt.Rows[i]["importe_iv_pesos"]), 2);
						if (c.resumen.impuesto_liq != 0)
						{
							c.resumen.importe_total_neto_gravado = Math.Round(Convert.ToDouble(dt.Rows[i]["ImpTotalNetoGravado"]), 2);
						}
						else
						{
							c.resumen.importe_total_concepto_no_gravado = Math.Round(Convert.ToDouble(dt.Rows[i]["ImpTotalNetoGravado"]), 2);
						}

						//Guardar Leyendas
						List<string> leyendas = new List<string>();
						leyendas.Add(dt.Rows[i]["leyenda_1"].ToString());
						leyendas.Add(dt.Rows[i]["leyenda_2"].ToString());
						leyendas.Add(dt.Rows[i]["leyenda_3"].ToString());
						leyendas.Add(dt.Rows[i]["leyenda_4"].ToString());
						leyendas.Add(dt.Rows[i]["leyenda_5"].ToString());
						Comprobante.Leyendas = leyendas;

						//List<FeaEntidades.CodigosMoneda.CodigoMoneda> listaCodMoneda = FeaEntidades.CodigosMoneda.CodigoMoneda.Lista();
						if (!Convert.ToBoolean(dt.Rows[i]["MON_CTE"]))
						{
							c.resumen.codigo_moneda = "DOL";
							Comprobante.IdMoneda = "DOL";
							c.resumen.importes_moneda_origen = new FeaEntidades.InterFacturas.resumenImportes_moneda_origen();
							c.resumen.importes_moneda_origen.impuesto_liq = Math.Round(Convert.ToDouble(dt.Rows[i]["importe_iv"]), 2);
							c.resumen.importes_moneda_origen.importe_total_factura = Math.Round(Convert.ToDouble(dt.Rows[i]["unidades"]), 2);
							
							if (c.resumen.importes_moneda_origen.impuesto_liq != 0)
							{
								c.resumen.importes_moneda_origen.importe_total_neto_gravado = Math.Round(c.resumen.importes_moneda_origen.importe_total_factura - c.resumen.importes_moneda_origen.impuesto_liq, 2);
							}
							else
							{
								c.resumen.importes_moneda_origen.importe_total_concepto_no_gravado = Math.Round(c.resumen.importes_moneda_origen.importe_total_factura - c.resumen.importes_moneda_origen.impuesto_liq, 2);
							}
							Comprobante.Importe = Math.Round(Convert.ToDecimal(dt.Rows[i]["unidades"]), 2);
						}
						else
						{
							c.resumen.codigo_moneda = "PES";
							Comprobante.IdMoneda = "PES";
							Comprobante.Importe = Math.Round(Convert.ToDecimal(dt.Rows[i]["importe"]), 2);
						}
						FeaEntidades.InterFacturas.lineas feaEntidadLineas = new FeaEntidades.InterFacturas.lineas();
						DataRow[] drDetDesc = ds.Tables[1].Select("id_gva12 = " + Comprobante.Clave);
						List<double> iva = new List<double>();
						List<double> ivaMonedaOrigen = new List<double>();
						iva.Add(0);
						iva.Add(0);
						ivaMonedaOrigen.Add(0);
						ivaMonedaOrigen.Add(0);
						double porcIVA = 0;
						for (int j = 0; j < drDetDesc.Length; j++)
						{
							eFact_I_Bj.Entidades.ComprobanteBjLinea linea = new eFact_I_Bj.Entidades.ComprobanteBjLinea();
							FeaEntidades.InterFacturas.linea lineaFEA = new FeaEntidades.InterFacturas.linea();
							DataRow dr = drDetDesc[j];
							linea.Clave = Convert.ToInt32(Comprobante.Clave);
							linea.Descripcion = dr["descripcio"].ToString();
							lineaFEA.numeroLinea = j + 1;
							lineaFEA.descripcion = linea.Descripcion;
							linea.Cantidad = Convert.ToDecimal(dr["cantidad"]);
							lineaFEA.cantidad = Convert.ToDouble(linea.Cantidad);
							lineaFEA.cantidadSpecified = true;
							linea.Precio_unitario = Convert.ToDecimal(dr["precio_net_pesos"]);
							lineaFEA.precio_unitario = Math.Round(Convert.ToDouble(dr["precio_net_pesos"]), 6);
							lineaFEA.precio_unitarioSpecified = true;
							linea.Alicuota_iva = Convert.ToDecimal(dr["porc_iva"]);
							lineaFEA.alicuota_iva = Convert.ToDouble(linea.Alicuota_iva);
							lineaFEA.alicuota_ivaSpecified = true;
							linea.Importe_total_articulo = Convert.ToDecimal(dr["IMP_NETO_P_pesos"]);
							lineaFEA.importe_total_articulo = Math.Round(Convert.ToDouble(dr["IMP_NETO_P_pesos"]), 3);
							lineaFEA.importe_iva = Math.Round(lineaFEA.importe_total_articulo * (lineaFEA.alicuota_iva / 100), 2);
							lineaFEA.importe_ivaSpecified = true;
							linea.Importe_iva = Convert.ToDecimal(lineaFEA.importe_iva);
							//linea.Indicacion_exento_gravado = dr[0]["Linea_indicacion_exento_gravado"].ToString();
							//linea.Importe_total_descuentos = Convert.ToDecimal(dr[0]["Linea_importe_total_descuentos"]);
							//linea.Importe_total_impuestos = Convert.ToDecimal(dr[0]["Linea_Importe_total_impuestos"]);
							if (lineaFEA.alicuota_iva != 0)
							{
								if (lineaFEA.alicuota_iva == 21)
								{
									iva[0] = iva[0] + lineaFEA.importe_iva;
								}
								if (lineaFEA.alicuota_iva == 27)
								{
									iva[1] = iva[1] + lineaFEA.importe_iva;
								}
								porcIVA = lineaFEA.alicuota_iva;
							}
							if (c.resumen.codigo_moneda == "DOL")
							{
								lineaFEA.importes_moneda_origen = new FeaEntidades.InterFacturas.lineaImportes_moneda_origen();
								lineaFEA.importes_moneda_origen.importe_total_articulo = Math.Round(Convert.ToDouble(dr["IMP_NETO_P"]), 3);
								lineaFEA.importes_moneda_origen.importe_total_articuloSpecified = true;
								lineaFEA.importes_moneda_origen.importe_iva = Math.Round(lineaFEA.importes_moneda_origen.importe_total_articulo * (lineaFEA.alicuota_iva / 100), 2);
								lineaFEA.importes_moneda_origen.importe_ivaSpecified = true;
								lineaFEA.importes_moneda_origen.precio_unitario = Math.Round(Convert.ToDouble(dr["PRECIO_NET"]), 6);
								lineaFEA.importes_moneda_origen.precio_unitarioSpecified = true;
								if (lineaFEA.alicuota_iva != 0)
								{
									if (lineaFEA.alicuota_iva == 21)
									{
										ivaMonedaOrigen[0] = ivaMonedaOrigen[0] + lineaFEA.importes_moneda_origen.importe_iva;
									}
									if (lineaFEA.alicuota_iva == 27)
									{
										ivaMonedaOrigen[1] = ivaMonedaOrigen[1] + lineaFEA.importes_moneda_origen.importe_iva;
									}
									porcIVA = lineaFEA.alicuota_iva;
								}
							}
							Comprobante.Lineas.Add(linea);
							c.detalle.linea[j] = lineaFEA;
						}
						c.resumen.impuestos = new FeaEntidades.InterFacturas.resumenImpuestos[10];
						if (iva[0] != 0)
						{
							FeaEntidades.InterFacturas.resumenImpuestos imp = new FeaEntidades.InterFacturas.resumenImpuestos();
							imp.codigo_impuesto = 1;
							imp.descripcion = "IVA";
							imp.porcentaje_impuesto = Convert.ToDouble(21);
							imp.porcentaje_impuestoSpecified = true;
							imp.importe_impuesto = Math.Round(iva[0], 2);
							if (c.resumen.codigo_moneda == "DOL")
							{
								imp.importe_impuesto_moneda_origen = Math.Round(ivaMonedaOrigen[0],2);
								imp.importe_impuesto_moneda_origenSpecified = true;
							}
							c.resumen.impuestos[0] = imp;
						}
						if (iva[1] != 0)
						{
							FeaEntidades.InterFacturas.resumenImpuestos imp = new FeaEntidades.InterFacturas.resumenImpuestos();
							imp.codigo_impuesto = 1;
							imp.descripcion = "IVA";
							imp.porcentaje_impuesto = Convert.ToDouble(27);
							imp.porcentaje_impuestoSpecified = true;
							imp.importe_impuesto = Math.Round(iva[1],2);
							if (c.resumen.codigo_moneda == "DOL")
							{
								imp.importe_impuesto_moneda_origen = Math.Round(ivaMonedaOrigen[1],2);
								imp.importe_impuesto_moneda_origenSpecified = true;
							}
							c.resumen.impuestos[1] = imp;
						}
						Comprobantes.Add(Comprobante);
						Lc.comprobante[i] = c;
					}
				}
				catch
				{
				}
                    
                }
            }
コード例 #20
0
 internal void AgregarImpuestosIVA(string IdNaturalezaComprobante, System.Collections.Generic.List <FeaEntidades.InterFacturas.linea> listadelineas)
 {
     //System.Collections.Generic.List<FeaEntidades.IVA.IVA> listaIVA = FeaEntidades.IVA.IVA.ListaMinimaSinCero();
     System.Collections.Generic.List <FeaEntidades.IVA.IVA> listaIVA = FeaEntidades.IVA.IVA.ListaMinima();
     double[] impivas           = new double[listaIVA.Count];
     bool[]   impivasinformados = new bool[listaIVA.Count];
     for (int i = 0; i < listadelineas.Count; i++)
     {
         if (listadelineas[i].alicuota_ivaSpecified)
         {
             int k = listaIVA.FindIndex(delegate(FeaEntidades.IVA.IVA e)
             {
                 return(e.Codigo == listadelineas[i].alicuota_iva);
             });
             if (k >= 0)
             {
                 if (listadelineas[i].indicacion_exento_gravado == "G" && !listadelineas[i].alicuota_iva.Equals(99))
                 {
                     double imptot = listadelineas[i].importe_total_articulo;
                     if (IdNaturalezaComprobante != "Compra")
                     {
                         System.Collections.Generic.List <Entidades.PuntoVta> listaPV = ((Entidades.Sesion) Session["Sesion"]).UN.PuntosVta.FindAll(delegate(Entidades.PuntoVta pv)
                         {
                             return(pv.IdTipoPuntoVta == "RG2904" && pv.Nro == Convert.ToInt32(puntoDeVenta));
                         });
                         if (listaPV.Count != 0)
                         {
                             try
                             {
                                 imptot -= listadelineas[i].importe_iva;
                             }
                             catch { }
                         }
                     }
                     impivas[k]          += imptot * listadelineas[i].alicuota_iva / 100; //listadelineas[i].importe_iva;
                     impivasinformados[k] = true;
                 }
             }
         }
     }
     for (int j = 0; j < impivas.Length; j++)
     {
         if (impivasinformados[j])
         {
             impuestos = ((System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]);
             FeaEntidades.InterFacturas.resumenImpuestos imp = new FeaEntidades.InterFacturas.resumenImpuestos();
             FeaEntidades.CodigosImpuesto.IVA            iva = new FeaEntidades.CodigosImpuesto.IVA();
             imp.codigo_impuesto              = iva.Codigo;
             imp.importe_impuesto             = Math.Round(impivas[j], 2);
             imp.porcentaje_impuestoSpecified = true;
             //imp.porcentaje_impuesto = FeaEntidades.IVA.IVA.ListaMinimaSinCero()[j].Codigo;
             imp.porcentaje_impuesto = FeaEntidades.IVA.IVA.ListaMinima()[j].Codigo;
             imp.descripcion         = iva.Descr;
             EliminarFilaAutomatica();
             impuestos.Add(imp);
         }
     }
     impuestosGridView.DataSource = impuestos;
     impuestosGridView.DataBind();
     ViewState["impuestos"] = impuestos;
     BindearDropDownLists();
 }