Esempio n. 1
0
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            TextBox      txtMonto  = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtMonto");
            DropDownList ddlCodRet = (DropDownList)GridView1.Rows[e.RowIndex].FindControl("ddlCodRet") as DropDownList;
            decimal      Monto;

            try
            {
                Monto = Convert.ToDecimal(txtMonto.Text);
            }
            catch (ExcepcionesPersonalizadas.Presentacion ex)
            {
                throw new ExcepcionesPersonalizadas.Presentacion("Debe ingresar el monto");
            }

            CodRetType       cod = LCodRet.BuscarCodRet(ddlCodRet.SelectedItem.Text);
            RetencPercepType ret = new RetencPercepType(cod, Monto);

            DropDownList            ddlIndFact = GridView1.Rows[e.RowIndex].FindControl("ddlIndFact") as DropDownList;
            int                     idInd      = Convert.ToInt32(ddlIndFact.SelectedValue);
            IndicadorFacturaType    IndFact    = LIndicadorFacturaType.BuscarIndicadorFactura(idInd);
            List <RetencPercepType> l          = new List <EntidadesCompartidas.RetencPercepType>();

            l.Add(ret);
            Item_Resg item = new Item_Resg(((List <Item_Resg>)Session["ItemsRes"]).Count, IndFact, l);

            GridView1.EditIndex = -1;
            BindData();
        }
Esempio n. 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List <Item_Resg>        Resguardos  = new List <Item_Resg>();
                List <RetencPercepType> Retenciones = new List <RetencPercepType>();
                Item_Resg dummie = new Item_Resg(0, null, Retenciones);

                Resguardos.Add(dummie);
                Session["ItemsRes"] = Resguardos;
                BindData();
            }
        }
Esempio n. 3
0
        protected void btnAdd(object sender, EventArgs e)
        {
            Button btnAdd = GridView1.FooterRow.FindControl("btnAdd") as Button;

            if (btnAdd != null)
            {
                TextBox txtNewMonto = GridView1.FooterRow.FindControl("txtMonto") as TextBox;
                if (txtNewMonto != null)
                {
                    DropDownList ddlCodRetFoot = GridView1.FooterRow.FindControl("ddlCodRet") as DropDownList;
                    if (ddlCodRetFoot != null)
                    {
                        string  id = ddlCodRetFoot.SelectedItem.Text;
                        decimal MontoNuevo;
                        try
                        {
                            MontoNuevo = Convert.ToInt32(txtNewMonto.Text);
                        }
                        catch (ExcepcionesPersonalizadas.Presentacion ex)
                        {
                            throw new ExcepcionesPersonalizadas.Presentacion("Debe ingresar el monto nuevo");
                        }
                        DropDownList ddlIndFact = GridView1.FooterRow.FindControl("ddlIndFact") as DropDownList;

                        int idInd = Convert.ToInt32(ddlIndFact.SelectedValue);
                        IndicadorFacturaType    IndFact = LIndicadorFacturaType.BuscarIndicadorFactura(idInd);
                        CodRetType              cod     = LCodRet.BuscarCodRet(id);
                        RetencPercepType        ret     = new RetencPercepType(cod, MontoNuevo);
                        List <RetencPercepType> l       = new List <EntidadesCompartidas.RetencPercepType>();
                        l.Add(ret);
                        Item_Resg item = new Item_Resg(((List <Item_Resg>)Session["ItemsRes"]).Count, IndFact, l);
                        BindData();
                    }
                }
            }
        }
Esempio n. 4
0
        private XmlDocument GenerarXmlResguardo(Documento doc)
        {
            XmlDocument xml    = new XmlDocument();
            String      result = "";

            CFEDefTypeEResg factura = new CFEDefTypeEResg();

            //Encabezado

            CFEDefTypeEResgEncabezado encabezado = new CFEDefTypeEResgEncabezado();

            // IdDoc
            try
            {
                IdDoc_Resg idDoc = new IdDoc_Resg();
                idDoc.FchEmis = doc.Fecha;

                idDoc.TipoCFE = IdDoc_ResgTipoCFE.Item182;

                encabezado.IdDoc = idDoc;
            }
            catch (Exception ex)
            {
            }

            //Emisor

            try
            {
                DatosEmisor datos  = Sistema.GetInstancia().ObtenerDatosEmisor(Session["rut"].ToString());
                Emisor      emisor = new Emisor();

                emisor.RznSoc       = datos.razonSocial;
                emisor.RUCEmisor    = datos.ruc;
                emisor.NomComercial = datos.nomComercial;

                emisor.Telefono = datos.Telefonos;

                emisor.CorreoEmisor = datos.Correo;
                emisor.EmiSucursal  = datos.Sucursal;
                emisor.CdgDGISucur  = datos.CodigoSucursal;
                emisor.DomFiscal    = datos.DomicilioFiscal;
                emisor.Ciudad       = datos.Ciudad;
                emisor.Departamento = datos.Departamento;
                emisor.GiroEmis     = datos.Giro;

                encabezado.Emisor = emisor;
            }
            catch (Exception ex)
            {
            }

            //Receptor
            try
            {
                Receptor_Resg receptor = new Receptor_Resg();
                Cliente       cli      = Sistema.GetInstancia().BuscarClienteId(doc.IdCliente);

                receptor.Item = cli.nroDoc.ToString();
                if (cli.Pais.Codigo.Equals("UY"))
                {
                    receptor.ItemElementName = ItemChoiceType4.DocRecep;
                    receptor.CodPaisRecep    = CodPaisType.UY;
                }
                else
                {
                    receptor.ItemElementName = ItemChoiceType4.DocRecepExt;
                    receptor.CodPaisRecep    = (CodPaisType)Enum.Parse(typeof(CodPaisType), cli.Pais.Codigo, true);
                }
                receptor.CodPaisRecepSpecified = true;
                receptor.TipoDocRecepSpecified = true;
                if (cli.tipoDocumento.Equals("RUT"))
                {
                    receptor.TipoDocRecep = DocType.Item2;
                }
                else if (cli.tipoDocumento.Equals("CI"))
                {
                    receptor.TipoDocRecep = DocType.Item3;
                }
                else if (cli.tipoDocumento.Equals("OTROS"))
                {
                    receptor.TipoDocRecep = DocType.Item4;
                }
                else if (cli.tipoDocumento.Equals("PASAPORTE"))
                {
                    receptor.TipoDocRecep = DocType.Item5;
                }
                else if (cli.tipoDocumento.Equals("DNI"))
                {
                    receptor.TipoDocRecep = DocType.Item6;
                }
                receptor.RznSocRecep = cli.Nombre;
                receptor.DirRecep    = cli.Direccion;
                receptor.Item        = cli.nroDoc.ToString();
                encabezado.Receptor  = receptor;
            }
            catch (Exception e)
            {
            }

            //Detalle
            decimal MontoTotalRetenido      = 0;
            decimal MontoTotalCreditoFiscal = 0;

            try
            {
                Item_Resg[] detalle = new Item_Resg[1];
                int         cont    = 0;


                Item_Resg item = new Item_Resg();
                item.NroLinDet = "1";
                RetPerc_Resg[] retenciones = new RetPerc_Resg[doc.retenciones.Count];
                foreach (RetencionPercepcionResguardos ret in doc.retenciones)
                {
                    RetPerc_Resg retencion = new RetPerc_Resg();
                    retencion.CodRet        = ret.CodigoPercepcionRetencion.NroForm.ToString() + ret.CodigoPercepcionRetencion.NroLinea.ToString();
                    retencion.MntSujetoaRet = ret.monto;
                    if (ret.tasa > 0)
                    {
                        retencion.Tasa          = ret.tasa;
                        retencion.TasaSpecified = true;
                    }
                    else
                    {
                        retencion.TasaSpecified = false;
                    }
                    retencion.ValRetPerc = ret.valor;

                    retenciones[cont] = retencion;
                    if (ret.CodigoPercepcionRetencion.NroForm == 2181)
                    {
                        MontoTotalCreditoFiscal += ret.valor;
                    }
                    else
                    {
                        MontoTotalRetenido += ret.valor;
                    }
                    cont++;
                }
                item.RetencPercep = retenciones;
                detalle[0]        = item;
                factura.Detalle   = detalle;
            }
            catch (Exception e)
            {
            }

            // Totales

            try
            {
                Totales_Resg totales = new Totales_Resg();


                totales.TpoMoneda          = TipMonType.UYU;
                totales.CantLinDet         = "1";
                totales.TpoCambioSpecified = false;


                Totales_ResgRetencPercep[] retenciones = new Totales_ResgRetencPercep[doc.retenciones.Count];
                int cont = 0;
                foreach (RetencionPercepcionResguardos ret in doc.retenciones)
                {
                    Totales_ResgRetencPercep retencion = new Totales_ResgRetencPercep();
                    retencion.CodRet     = ret.CodigoPercepcionRetencion.NroForm.ToString() + ret.CodigoPercepcionRetencion.NroLinea.ToString();
                    retencion.ValRetPerc = ret.valor;

                    retenciones[cont] = retencion;
                    cont++;
                }
                totales.RetencPercep   = retenciones;
                totales.MntTotCredFisc = Math.Round(MontoTotalCreditoFiscal, 3);
                totales.MntTotRetenido = Math.Round(MontoTotalRetenido, 3);

                encabezado.Totales = totales;
            }
            catch (Exception ex)
            {
            }

            factura.Encabezado = encabezado;


            XmlSerializer ser = new XmlSerializer(typeof(CFEDefTypeEResg));

            using (var stream = new MemoryStream())
            {
                ser.Serialize(stream, factura);
                stream.Flush();
                stream.Seek(0, SeekOrigin.Begin);
                xml.Load(stream);
                result = xml.InnerXml;
            }

            return(xml);
        }