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(); }
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(); } }
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(); } } } }
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); }