Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -7705,7 +7705,8 @@ Public Class ClsVentas
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Dataset = New DataSet()
|
||||
SqlAdapter.Fill(Dataset)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener los indicadores de venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||
|
||||
@@ -280,7 +280,6 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
|
||||
ObjFactura.Serie = Serie
|
||||
ObjFactura.Folio = Folio.ToEntero()
|
||||
ObjFactura.TipoMensajeRespuesta = TipoMensajeRespuesta.TextoLimpio
|
||||
ObjFactura.Version = "4.0"
|
||||
ObjFactura.CveUsuario = UsuarioActual.CveUsuario
|
||||
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
|
||||
|
||||
@@ -290,16 +289,11 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
|
||||
ObjFactura.TipoDocto = "Ing"
|
||||
'ObjFactura.CveMesa = -1
|
||||
ObjFactura.Fecha = ClsPaginas.NowADS()
|
||||
ObjFactura.CvePrePoliza = -1
|
||||
ObjFactura.FechaPago = ClsPaginas.NowADS()
|
||||
ObjFactura.MotivoDescuento = ""
|
||||
ObjFactura.FechaEjecucion = ClsPaginas.NowADS()
|
||||
ObjFactura.UsuarioCreo = UsuarioActual.Usuario
|
||||
ObjFactura.CveCondicionEntrega = -1
|
||||
|
||||
ObjFactura.CondicionesPago = 0
|
||||
ObjFactura.TipoDocumento = "Ingresos"
|
||||
ObjFactura.ConvertirPesos = False
|
||||
ObjFactura.CveSubProyecto = CveSubProyecto
|
||||
ObjFactura.CveSubProyectoCobranza = CveSubProyecto
|
||||
ObjFactura.CveSubProyectoEjecucion = CveSubProyecto
|
||||
@@ -309,8 +303,6 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
|
||||
'CLIENTE
|
||||
ObjFactura.CveCliente = CveCliente
|
||||
ObjFactura.SetCliente()
|
||||
ObjFactura.CveAlmacen = -1
|
||||
|
||||
|
||||
'DETALLES
|
||||
ObjFactura.DtDetalle = CreaDTDetalle(Resp, UsuarioActual, DTRemisionesPS)
|
||||
@@ -485,89 +477,10 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
|
||||
Next
|
||||
Return Timbre
|
||||
End Function
|
||||
|
||||
Private Function CreaDTDetalle(ByRef Retorno As Modelos.Factura.MMensajeFactura, UsuarioActual As Usuario, DtRemisionesPS As DataTable) As DataTable
|
||||
Dim TmpDT As New DataTable
|
||||
TmpDT.Columns.Add("CveVenta", GetType(Integer))
|
||||
TmpDT.Columns.Add("Consec", GetType(Integer))
|
||||
TmpDT.Columns.Add("Cantidad", GetType(Decimal))
|
||||
TmpDT.Columns.Add("Codigo", GetType(String))
|
||||
TmpDT.Columns.Add("CveUM", GetType(Integer))
|
||||
TmpDT.Columns.Add("UM", GetType(String))
|
||||
TmpDT.Columns.Add("SATClaveUM", GetType(String))
|
||||
TmpDT.Columns.Add("CveClasificacion", GetType(Integer))
|
||||
TmpDT.Columns.Add("Clasificacion", GetType(String))
|
||||
TmpDT.Columns.Add("CvePS", GetType(Integer))
|
||||
TmpDT.Columns.Add("PS", GetType(String))
|
||||
TmpDT.Columns.Add("CodigoPS", GetType(String))
|
||||
TmpDT.Columns.Add("SATClaveProdServ", GetType(String))
|
||||
TmpDT.Columns.Add("NoIdentificacion", GetType(String))
|
||||
TmpDT.Columns.Add("CveTipoPS", GetType(Integer))
|
||||
TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer))
|
||||
TmpDT.Columns.Add("Serie", GetType(String))
|
||||
TmpDT.Columns.Add("CuentaPredial", GetType(String))
|
||||
TmpDT.Columns.Add("Obs", GetType(String))
|
||||
TmpDT.Columns.Add("TiempoEntrega", GetType(String))
|
||||
TmpDT.Columns.Add("PU", GetType(Decimal))
|
||||
TmpDT.Columns.Add("IVA", GetType(Decimal))
|
||||
TmpDT.Columns.Add("ImporteIVA", GetType(Decimal))
|
||||
TmpDT.Columns.Add("PorcentajeIVA", GetType(Decimal))
|
||||
TmpDT.Columns.Add("ImporteRetIVA", GetType(Decimal))
|
||||
TmpDT.Columns.Add("ImporteRetISR", GetType(Decimal))
|
||||
TmpDT.Columns.Add("PorcentajeRetIVA", GetType(Decimal))
|
||||
TmpDT.Columns.Add("PorcentajeRetISR", GetType(Decimal))
|
||||
TmpDT.Columns.Add("ImporteIEPS", GetType(Decimal))
|
||||
TmpDT.Columns.Add("IEPS", GetType(Decimal))
|
||||
TmpDT.Columns.Add("PorcentajeIEPS", GetType(Decimal))
|
||||
TmpDT.Columns.Add("Descuento", GetType(Decimal))
|
||||
TmpDT.Columns.Add("TipoDescuento", GetType(Integer))
|
||||
TmpDT.Columns.Add("TotalImporte", GetType(Decimal))
|
||||
TmpDT.Columns.Add("Total", GetType(Decimal))
|
||||
'Para uso del módulo contable
|
||||
TmpDT.Columns.Add("AsientoContableVentas", GetType(Integer))
|
||||
TmpDT.Columns.Add("AplicaParaConcepto", GetType(Boolean))
|
||||
TmpDT.Columns.Add("CveProyecto", GetType(Integer))
|
||||
TmpDT.Columns.Add("Proyecto", GetType(String))
|
||||
TmpDT.Columns.Add("CveSubProyecto", GetType(Integer))
|
||||
TmpDT.Columns.Add("SubProyecto", GetType(String))
|
||||
'TipoDescuento: 1 = Descuento * PU; 2 = Descuento por Total del concepto
|
||||
TmpDT.Columns.Add("CvePresupuestoIngreso", GetType(Integer))
|
||||
TmpDT.Columns.Add("CveFuenteRecaudacion", GetType(Integer))
|
||||
'Contratos
|
||||
TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
|
||||
'Remisiones a Facturas
|
||||
TmpDT.Columns.Add("CveVentaDetalle", GetType(Integer))
|
||||
TmpDT.Columns.Add("CveVentaDetalleRemision", GetType(Integer))
|
||||
TmpDT.Columns.Add("CveVentaDetalleCotizacion", GetType(Integer))
|
||||
|
||||
'Pedido2 a Facturas
|
||||
TmpDT.Columns.Add("CveVentaDetallePedido2", GetType(Integer))
|
||||
|
||||
TmpDT.Columns.Add("Origen", GetType(Integer))
|
||||
'Ordenes Servicio
|
||||
TmpDT.Columns.Add("CveOS", GetType(Integer))
|
||||
TmpDT.Columns.Add("CveOSDetalle", GetType(Integer))
|
||||
TmpDT.Columns.Add("SeFacturara", GetType(Integer))
|
||||
TmpDT.Columns.Add("Folio", GetType(Integer))
|
||||
TmpDT.Columns.Add("Estatus", GetType(String))
|
||||
'Ordenamiento
|
||||
TmpDT.Columns.Add("Orden", GetType(Integer))
|
||||
TmpDT.Columns.Add("TipoDocto", GetType(String))
|
||||
'OC
|
||||
TmpDT.Columns.Add("CveOrdenCompraDetalle", GetType(Integer))
|
||||
TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
|
||||
|
||||
TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
|
||||
TmpDT.Columns.Add("CantidadFacturadaRem", GetType(Decimal))
|
||||
TmpDT.Columns.Add("CantidadFacturadaCot", GetType(Decimal))
|
||||
TmpDT.Columns.Add("CantidadInventario", GetType(Decimal))
|
||||
|
||||
TmpDT.Columns.Add("ClaveSATFraccionArancelaria", GetType(String))
|
||||
TmpDT.Columns.Add("ClaveSATUnidadAduana", GetType(String))
|
||||
TmpDT.Columns.Add("ClaveSATFraccionArancelariaDescripcion", GetType(String))
|
||||
TmpDT.Columns.Add("ClaveSATUnidadAduanaDescripcion", GetType(String))
|
||||
|
||||
TmpDT.Columns.Add("CveTamaño", GetType(Integer))
|
||||
TmpDT.Columns.Add("CvePromocionDetalle", GetType(Integer))
|
||||
Dim TmpDT As DataTable = Modelos.Factura.CreaDTFactura
|
||||
Try
|
||||
For Each Dr As DataRow In DtRemisionesPS.Select()
|
||||
Dim Row As DataRow = AgregarProductoServicio(Retorno, UsuarioActual, TmpDT, Dr("Consec").ToString.ToEntero(), Dr("Cantidad").ToString.ToDecimal(), Dr("CveUM").ToString.ToEntero, Dr("UM").ToString, Dr("CveClasificacion").ToString.ToEntero, Dr("Clasificacion").ToString,
|
||||
|
||||
@@ -232,7 +232,7 @@
|
||||
|
||||
<asp:UpdatePanel ID="UPPMov" runat="server" RenderMode="Inline" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GvM" Width="100%" runat="server" data-sort="false" GridLines="None" CssClass="table table-smallpadding table-striped table-hover Widthall ScrollAD"
|
||||
<asp:GridView ID="GvM" Width="100%" runat="server" data-sort="false" GridLines="None" CssClass="table table-smallpadding table-striped table-hover Widthall adssigrid-scroll adssigrid-order" data-cols="1" data-rows="2"
|
||||
DataKeyNames="CvePS,CveMoneda,CveProveedor,CveConcepto,FechaI,FechaF,CveAlmacen,CvePersonal,Codigo,NumeroParte,PS"
|
||||
ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False">
|
||||
<Columns>
|
||||
|
||||
@@ -120,7 +120,6 @@ Partial Class Inventarios_ReporteEntradasSalidas
|
||||
GvM.Columns(7).HeaderStyle.Width = 133
|
||||
GvM.Columns(8).HeaderStyle.Width = 133
|
||||
GvM.Columns(10).HeaderStyle.Width = 134
|
||||
GvM.CssClass = "table table-smallpadding table-striped table-hover ScrollAD"
|
||||
GvM.Width = 1074
|
||||
dvArt.Attributes.Add("style", "text-align:center!important; font-size:14px;width:537px;")
|
||||
dvCan.Attributes.Add("style", "text-align:center!important; font-size:14px; border-right-color: white!important;border-left-color: white!important;width:537px;border-style: solid;")
|
||||
|
||||
@@ -10,9 +10,11 @@
|
||||
|
||||
.GVCalculosSBC tr th:nth-child(n+13):not(:nth-child(n+16)) {
|
||||
background-color: #88d6cd !important;
|
||||
}.GVDetalleParteVariable tr > td:nth-child(n+2) {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.GVDetalleParteVariable tr > td:nth-child(n+2) {
|
||||
text-align: right;
|
||||
}
|
||||
</style>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||
@@ -248,7 +250,7 @@
|
||||
Modificación
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblsalarioDiarioSSf" runat="server" > </asp:Label>
|
||||
<asp:Label ID="lblsalarioDiarioSSf" runat="server"> </asp:Label>
|
||||
<%--<asp:Label ID="lblsalarioDiarioSSf" runat="server" Text='<%# (Eval("SalarioDiarioSSNuevo", "{0:N2}") == Eval("SalarioDiarioSS", "{0:N2}") ? "NO" : "SI") %>'> </asp:Label>--%>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
@@ -474,7 +476,8 @@
|
||||
<ajax:TabPanel ID="TabDetalleParteVariable" runat="server" HeaderText="Detalle parte variable">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GVDetalleParteVariable" HeaderStyle-CssClass="ADtr" runat="server" GridLines="None" OnRowDataBound="GVDetalleParteVariable_RowDataBound"
|
||||
CssClass="table table-hover table-striped ScrollAD Widthall GVBuscaddor GVDetalleParteVariable"></asp:GridView>
|
||||
CssClass="table table-hover table-striped ScrollAD Widthall GVBuscaddor GVDetalleParteVariable">
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
</ajax:TabContainer>
|
||||
@@ -619,10 +622,20 @@
|
||||
<asp:Label runat="server" Text='<%# Eval("fecha","{0:dd/MM/yyyy HH}:{0:mm}")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Descargar" ItemStyle-Width="80">
|
||||
<ItemTemplate>
|
||||
<asp:Button runat="server" Text="" CssClass="fa fa-download btn btn-primary"
|
||||
CommandArgument='<%# Eval("ruta") %>' OnClick="DescargarArchivobitacora" ToolTip="Descargar" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<asp:PostBackTrigger ControlID="GVDoctos" />
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
@@ -883,7 +896,7 @@
|
||||
</div>
|
||||
|
||||
<div class="btn-group ">
|
||||
<a class="btn yellow-gold btn-sm" href="javascript:;" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" aria-expanded="true"><i class="fa fa-ad-excel"></i> Formatos
|
||||
<a class="btn yellow-gold btn-sm" href="javascript:;" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" aria-expanded="true"><i class="fa fa-ad-excel"></i>Formatos
|
||||
<i class="fa fa-angle-down"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu pull-right">
|
||||
@@ -951,7 +964,7 @@
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div id="DmodalSalariomenoralminimo" class="modal ADS fade" role="dialog">
|
||||
<asp:UpdatePanel ID="UpdatePanel1" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
@@ -977,20 +990,19 @@
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body rowpadding ">
|
||||
|
||||
<div class="portlet-body rowpadding ">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal-footer">
|
||||
<div class="modal-footer">
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -420,7 +420,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "Empleado";
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "TipodeSalario";
|
||||
libro.Cell(1, column).Value = "TipodeSalario";
|
||||
libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
|
||||
@@ -434,7 +434,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
libro.Cell(Fila, column).Value = erow["Nombre"];
|
||||
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["TipodeSalario"];
|
||||
libro.Cell(Fila, column).Value = erow["TipodeSalario"];
|
||||
}
|
||||
|
||||
libro.Columns().AdjustToContents();
|
||||
@@ -521,7 +521,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
SalarioCotizacion = Salariovariable + SDI;
|
||||
if (objpersonal.UpdateSalarios(CvePersonal, txtfechacargamasiva.Text.ToDate().ToString("yyyy/MM/dd"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
|
||||
Salariodiario.ToString().ToDouble(), SDI.ToString().ToDouble(), SalarioCotizacion.ToString().ToDouble(), Salariodiario.ToString().ToDouble(),
|
||||
false,true,"True"))
|
||||
false, true, "True"))
|
||||
{
|
||||
|
||||
{
|
||||
@@ -574,7 +574,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
}
|
||||
if (CvePersonal > 0)
|
||||
{
|
||||
objpersonal.PersonalRPUpdate( CvePersonal, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa , RegistroPatronal);
|
||||
objpersonal.PersonalRPUpdate(CvePersonal, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, RegistroPatronal);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -613,7 +613,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
}
|
||||
if (CvePersonal > 0)
|
||||
{
|
||||
objpersonal.PersonalTSUpdate(CvePersonal, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, TipodeSalario);
|
||||
objpersonal.PersonalTSUpdate(CvePersonal, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, TipodeSalario);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -732,6 +732,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
try { archivoW = new System.IO.StreamWriter(string.Format("{0}{1}.txt", rutarchivos, namearchivo), true, System.Text.Encoding.UTF8); } catch (Exception) { }
|
||||
if (archivoW != null)
|
||||
{
|
||||
Alert(MovtosmodSalario);
|
||||
try { archivoW.WriteLine(MovtosmodSalario); } catch (Exception) { }
|
||||
try
|
||||
{
|
||||
@@ -758,7 +759,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
double SalarioDiarioSS = Math.Round(item.DataKey("SalarioDiarioSS").ToDouble(), 2);
|
||||
if (continuar && (item.FCCheckBox("chkUpdate").Checked) &&//SalarioDiarioSSNuevo != SalarioDiarioSS &&
|
||||
(continuar = objrh.UpdateSalarios(CvePersonal, fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, SalarioDiario, SDINuevo, SalarioDiarioSSNuevo, SalarioDiario,
|
||||
false,true,"True"
|
||||
false, true, "True"
|
||||
)))
|
||||
{
|
||||
|
||||
@@ -915,16 +916,19 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
|
||||
string rutarchivos = string.Format("{0}\\modificacionsalarios\\", UsuarioActual.Empresa.Ruta);
|
||||
List<archivosD> lisaarchivos = new List<archivosD>();
|
||||
foreach (var urfile in System.IO.Directory.GetFiles(rutarchivos, "*"))
|
||||
if (System.IO.Directory.Exists(rutarchivos))
|
||||
{
|
||||
if (urfile.Replace(rutarchivos, "").Length > 9)
|
||||
foreach (var urfile in System.IO.Directory.GetFiles(rutarchivos, "*"))
|
||||
{
|
||||
string cfecha = urfile.Replace(rutarchivos, "").Substring(0, 10).ToDateTime().ToString("dd/MM/yyyy");
|
||||
if (urfile.Replace(rutarchivos, "").Length > 9)
|
||||
{
|
||||
string cfecha = urfile.Replace(rutarchivos, "").Substring(0, 10).ToDateTime().ToString("dd/MM/yyyy");
|
||||
|
||||
|
||||
archivosD arch = new archivosD() { nombrearchivo = cfecha, ruta = urfile, fecha = System.IO.File.GetCreationTime(urfile) };
|
||||
lisaarchivos.Add(arch);
|
||||
archivosD arch = new archivosD() { nombrearchivo = cfecha, ruta = urfile, fecha = System.IO.File.GetCreationTime(urfile) };
|
||||
lisaarchivos.Add(arch);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
GVDoctos.DataSource = lisaarchivos;
|
||||
@@ -936,7 +940,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
|
||||
protected void GVDetalleParteVariable_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
if(e.Row.RowType == DataControlRowType.DataRow)
|
||||
if (e.Row.RowType == DataControlRowType.DataRow)
|
||||
{
|
||||
for (int i = 0; i < e.Row.Cells.Count; i++)
|
||||
{
|
||||
@@ -966,6 +970,28 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
{
|
||||
|
||||
}
|
||||
protected void DescargarArchivobitacora(object sender, EventArgs e)
|
||||
{
|
||||
Button btn = (Button)sender;
|
||||
GridViewRow row = (GridViewRow)btn.NamingContainer;
|
||||
|
||||
// Obtener la ruta del archivo desde el DataKeyNames
|
||||
string rutaArchivo = GVDoctos.DataKeys[row.RowIndex]["ruta"].ToString();
|
||||
string nombreArchivo = string.Format("{0}.txt",GVDoctos.DataKeys[row.RowIndex]["nombrearchivo"]);
|
||||
|
||||
if (System.IO.File.Exists(rutaArchivo))
|
||||
{
|
||||
Response.Clear();
|
||||
Response.ContentType = "application/octet-stream";
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=" + nombreArchivo);
|
||||
Response.WriteFile(rutaArchivo);
|
||||
Response.End();
|
||||
}
|
||||
else
|
||||
{
|
||||
ScriptManager.RegisterStartupScript(this, GetType(), "alert", "alert('El archivo no existe en el servidor');", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
public class archivosD
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user