Merge branch 'master' of http://agonzalez@192.168.10.111:8383/SIG.git
This commit is contained in:
@@ -120,6 +120,83 @@ Public Class ClsClaseBase
|
||||
SqlAdapter.SelectCommand.Parameters.Add(name, tipo).Value = valor
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Function runQuerystr(Query As String, Optional Listaparametros As List(Of parametroQuery) = Nothing, Optional msgError As String = "", Optional mostrarError As Boolean = True) As Boolean
|
||||
Dim retorno As Boolean = False
|
||||
Try
|
||||
If SqlConexion.State = ConnectionState.Open Then
|
||||
SqlAdapter.SelectCommand.Parameters.Clear()
|
||||
SqlAdapter.SelectCommand.CommandText = Query
|
||||
SqlAdapter.SelectCommand.CommandType = CommandType.Text
|
||||
Data = New DataTable()
|
||||
If Not IsNothing(Listaparametros) Then
|
||||
For Each pr As parametroQuery In Listaparametros
|
||||
If Not IsNothing(pr.SqlDataType) Then
|
||||
If Not IsNothing(pr.ParameterDirection) Then
|
||||
SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Direction = pr.ParameterDirection
|
||||
Else
|
||||
SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Value = If(Not IsNothing(pr.SqlValue), pr.SqlValue, DBNull.Value)
|
||||
End If
|
||||
Else
|
||||
SqlAdapter.SelectCommand.Parameters.AddWithValue(pr.ParameterName, pr.SqlValue)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
SqlAdapter.Fill(Data)
|
||||
retorno = True
|
||||
Else
|
||||
Dim InfoAdicional As String = "Se intenta realizar una conexion con una conexion cerrada"
|
||||
InfoAdicional = $"{InfoAdicional}{Environment.NewLine}{msgError}{Environment.NewLine}"
|
||||
GuardaLog(InfoAdicional)
|
||||
End If
|
||||
Catch sqEx As SqlException
|
||||
retorno = False
|
||||
setOnError(msgError, sqEx)
|
||||
Catch ex As Exception
|
||||
retorno = False
|
||||
setOnError(msgError, ex)
|
||||
End Try
|
||||
Return retorno
|
||||
End Function
|
||||
Public Function ExecQuery(Query As String, Optional Listaparametros As List(Of parametroQuery) = Nothing, Optional msgError As String = "", Optional mostrarError As Boolean = True) As Integer
|
||||
Dim retorno As Integer = -1
|
||||
Try
|
||||
If SqlConexion.State = ConnectionState.Open Then
|
||||
SqlAdapter.SelectCommand.Parameters.Clear()
|
||||
SqlAdapter.SelectCommand.CommandText = Query
|
||||
SqlAdapter.SelectCommand.CommandType = CommandType.Text
|
||||
If Not IsNothing(Listaparametros) Then
|
||||
For Each pr As parametroQuery In Listaparametros
|
||||
If Not IsNothing(pr.SqlDataType) Then
|
||||
If Not IsNothing(pr.ParameterDirection) Then
|
||||
SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Direction = pr.ParameterDirection
|
||||
Else
|
||||
SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Value = If(Not IsNothing(pr.SqlValue), pr.SqlValue, DBNull.Value)
|
||||
End If
|
||||
Else
|
||||
SqlAdapter.SelectCommand.Parameters.AddWithValue(pr.ParameterName, pr.SqlValue)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
retorno = SqlAdapter.SelectCommand.ExecuteNonQuery()
|
||||
Else
|
||||
Dim InfoAdicional As String = "Se intenta realizar una conexion con una conexion cerrada"
|
||||
InfoAdicional = $"{InfoAdicional}{Environment.NewLine}{msgError}{Environment.NewLine}"
|
||||
GuardaLog(InfoAdicional)
|
||||
End If
|
||||
Catch sqEx As SqlException
|
||||
retorno = -1
|
||||
setOnError(msgError, sqEx)
|
||||
Catch ex As Exception
|
||||
retorno = -1
|
||||
setOnError(msgError, ex)
|
||||
End Try
|
||||
Return retorno
|
||||
End Function
|
||||
|
||||
|
||||
Protected Function RunQuery(msgOnError As String) As Boolean
|
||||
Dim retorno As Boolean = False
|
||||
|
||||
@@ -203,3 +280,19 @@ Public Class ClsClaseBase
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class parametroQuery
|
||||
Public Sub New(parameterName As String, sqlValue As Object, Optional sqlDataType As SqlDbType = Nothing, Optional parameterDirection As ParameterDirection = Nothing)
|
||||
Me.ParameterName = parameterName
|
||||
Me.SqlDataType = sqlDataType
|
||||
Me.ParameterDirection = parameterDirection
|
||||
Me.SqlValue = sqlValue
|
||||
|
||||
End Sub
|
||||
|
||||
Public Property ParameterName As String
|
||||
Public Property SqlDataType As SqlDbType
|
||||
Public Property ParameterDirection As ParameterDirection
|
||||
Public Property SqlValue As Object
|
||||
|
||||
End Class
|
||||
@@ -3,6 +3,26 @@
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||
<style>
|
||||
.dSala {
|
||||
width: 90px;
|
||||
}
|
||||
|
||||
.dlab {
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.dSala input {
|
||||
width: 80px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
.dlab input {
|
||||
width: 40px;
|
||||
text-align: right;
|
||||
}
|
||||
</style>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||
<script>$('body').removeClass('rhumanosbody').addClass('rhumanosbody')</script>
|
||||
@@ -51,7 +71,7 @@
|
||||
<asp:UpdatePanel ID="upDatosPA_N" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-3 col-md-offset-1">
|
||||
<div class="col-md-2 col-md-offset-1">
|
||||
<div class="dashboard-stat blue">
|
||||
<div class="visual"><i class="fa fa-sort-numeric-desc"></i></div>
|
||||
<div class="details">
|
||||
@@ -59,35 +79,55 @@
|
||||
<asp:Literal ID="LtlTotal" runat="server"></asp:Literal>
|
||||
</div>
|
||||
<div class="desc">
|
||||
Total Aguinaldo
|
||||
Total aguinaldo
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 col-md-offset-1">
|
||||
<div class="col-md-2 col-md-offset-1">
|
||||
<div class="dashboard-stat green">
|
||||
<div class="visual"><i class="fa fa-line-chart"></i></div>
|
||||
<div class="details">
|
||||
<div class="number">
|
||||
<asp:Literal ID="LtlAutorizado" runat="server"></asp:Literal></div>
|
||||
<asp:Literal ID="LtlAutorizado" runat="server"></asp:Literal>
|
||||
</div>
|
||||
<div class="desc">
|
||||
Autorizado
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 col-md-offset-1">
|
||||
<div class="col-md-2 col-md-offset-1">
|
||||
<div class="dashboard-stat green">
|
||||
<div class="visual"><i class="fa fa-line-chart"></i></div>
|
||||
<div class="details">
|
||||
<div class="number">
|
||||
<asp:Literal ID="LtldiasEjercicio" runat="server"></asp:Literal></div>
|
||||
<asp:Literal ID="LtldiasEjercicio" runat="server"></asp:Literal>
|
||||
</div>
|
||||
<div class="desc">
|
||||
Días ejercicio
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-md-offset-1">
|
||||
<div class="dashboard-stat green">
|
||||
<div class="visual"><i class="fa fa-line-chart"></i></div>
|
||||
<div class="details">
|
||||
<div class="number">
|
||||
<asp:Literal ID="LtlUma" runat="server"></asp:Literal>
|
||||
</div>
|
||||
<div class="desc">
|
||||
UMA
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div style="text-align: right">
|
||||
<asp:Button ID="BtnRecalcular" CssClass="btn btn-primary" OnClick="BtnRecalcular_Click" runat="server" Text="Recalcular" />
|
||||
|
||||
</div>
|
||||
<asp:GridView ID="GVCalcularAguinaldo" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall GVCalcularUtilidades" AutoGenerateColumns="False"
|
||||
DataKeyNames="Nombre,CvePersonal" OnRowDataBound="GVCalcularAguinaldo_RowDataBound">
|
||||
@@ -97,37 +137,31 @@
|
||||
<asp:Label ID="lblnombreCompleto" runat="server" Text='<%# Eval("Nombre")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Días Laborados">
|
||||
<asp:TemplateField HeaderText="Salario diario">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbldiasLaborados" runat="server" Text='<%# Eval("DiasLaborados")%>'> </asp:Label>
|
||||
<asp:TextBox ID="TxtsueldoDiario" runat="server" Text='<%# Eval("SalarioDiario", "${0:N2}")%>'> </asp:TextBox>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right" CssClass="dSala" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Días Aguinaldo">
|
||||
<asp:TemplateField HeaderText="Días laborados">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbldiasAguinaldo" runat="server" Text='<%# Eval("NumDiasAguinaldo")%>'> </asp:Label>
|
||||
<asp:TextBox ID="TxtdiasLaborados" runat="server" Text='<%# Eval("DiasLaborados")%>'> </asp:TextBox>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right" CssClass="dlab" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Salario Diario">
|
||||
<asp:TemplateField HeaderText="Días aguinaldo">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblsueldoDiario" runat="server" Text='<%# Eval("SalarioDiario", "${0:N2}")%>'> </asp:Label>
|
||||
<asp:TextBox ID="TxtdiasAguinaldo" runat="server" Text='<%# Eval("NumDiasAguinaldo")%>'> </asp:TextBox>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right" CssClass="dlab" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Aguinaldo Completo">
|
||||
<asp:TemplateField HeaderText="Aguinaldo completo">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblsueldoAguinaldoCompleto" runat="server" Text='<%# Eval("AguinaldoCompleto", "${0:N2}")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Aguinaldo">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblAguinaldo" runat="server" Text='<%# Eval("Aguinaldo", "${0:N2}")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Aguinaldo Gravado">
|
||||
<asp:TemplateField HeaderText="Aguinaldo gravado">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblAguinaldoGravado" runat="server" Text='<%# Eval("AguinaldoGravado", "${0:N2}")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
@@ -135,7 +169,13 @@
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Impuesto">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblAguinaldo" runat="server" Text='<%# Eval("ISR", "${0:N2}")%>'> </asp:Label>
|
||||
<asp:Label ID="lblISRAguinaldo" runat="server" Text='<%# Eval("ISR", "${0:N2}")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Aguinaldo por pagar">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblAguinaldo" runat="server" Text='<%# Eval("Aguinaldo", "${0:N2}")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:TemplateField>
|
||||
@@ -143,6 +183,7 @@
|
||||
<ItemTemplate>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<%-- <asp:TemplateField HeaderText="Gravadas">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbluGravadas" runat="server" Text='<%# Eval("ISR", "${0:N2}")%>'> </asp:Label>
|
||||
@@ -174,7 +215,7 @@
|
||||
<h4 class="modal-title">Autorizar</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
<label class="col-md-4 ">Tipo Período:</label>
|
||||
<div class="col-md-8">
|
||||
<asp:DropDownList ID="DdlTipoPeriodoB" runat="server" CssClass="select2me" AutoPostBack="true" OnSelectedIndexChanged="DdlTipoPeriodoB_SelectedIndexChanged"
|
||||
@@ -182,15 +223,15 @@
|
||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col-md-4 ">Período:</label>
|
||||
<div class="col-md-8">
|
||||
<asp:DropDownList ID="DdlPeriodo" runat="server" CssClass="select2me" DataTextField="NominaEstatus" DataValueField="CvePeriodo" Style="width: 100% !important;" >
|
||||
<asp:DropDownList ID="DdlPeriodo" runat="server" CssClass="select2me" DataTextField="NominaEstatus" DataValueField="CvePeriodo" Style="width: 100% !important;">
|
||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
@@ -42,6 +45,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
|
||||
DdlTipoPeriodo.SelectedIndex = 0;
|
||||
}
|
||||
}
|
||||
LtlUma.Text = "86.88";
|
||||
|
||||
}
|
||||
|
||||
@@ -58,13 +62,14 @@ public partial class Nomina_Aguinaldo : ClsPaginas
|
||||
DTAguinaldos = objnom.DtResultados;
|
||||
GVCalcularAguinaldo.DataSource = DTAguinaldos;
|
||||
LtlTotal.Text = string.Format("{0:N2}", DTAguinaldos.SUM("Aguinaldo"));
|
||||
LtlAutorizado.Text = string.Format("{0:N2}", DTAguinaldos.SUM("Aguinaldo","CveNomina>0"));
|
||||
|
||||
LtlAutorizado.Text = string.Format("{0:N2}", DTAguinaldos.SUM("Aguinaldo", "CveNomina>0"));
|
||||
|
||||
LtldiasEjercicio.Text = string.Format("{0}/12/31", ejercicio).ToDate().DayOfYear.ToString();
|
||||
}
|
||||
|
||||
GVCalcularAguinaldo.DataBind();
|
||||
LnkAutorizarModal.Visible = true;
|
||||
BtnRecalcular_Click(sender, null);
|
||||
upDatosPA_N.Update();
|
||||
}
|
||||
private void CargaPeriodos()
|
||||
@@ -149,7 +154,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
|
||||
{
|
||||
continuar = false;
|
||||
Alert("debe agregar un concepto para el calculo del aguinaldo", ModExtensiones.TipoMensaje.ToastAdventencia);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (continuar)
|
||||
{
|
||||
@@ -169,9 +174,9 @@ public partial class Nomina_Aguinaldo : ClsPaginas
|
||||
ImporteGravado = row["AguinaldoGravado"].ToString().ToDecimal();
|
||||
ImporteExento = Importe - ImporteGravado;
|
||||
ImporteValor = row["DiasLaborados"].ToString().ToDecimal();
|
||||
|
||||
|
||||
if (CvePersonal > 0 && Importe>0 && row["CveNomina"].ToString().ToEntero()==0)
|
||||
|
||||
if (CvePersonal > 0 && Importe > 0 && row["CveNomina"].ToString().ToEntero() == 0)
|
||||
{
|
||||
if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoSeleccionado, -1, UsuarioActual.CveEmpresa))
|
||||
{
|
||||
@@ -261,4 +266,466 @@ public partial class Nomina_Aguinaldo : ClsPaginas
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void BtnRecalcular_Click(object sender, EventArgs e)
|
||||
{
|
||||
decimal uma = 86.88m;
|
||||
decimal aguiexentogral = uma * 30;
|
||||
decimal salariodiario = 0;
|
||||
decimal diasanio = 366;
|
||||
decimal diaslaborados = 0;
|
||||
decimal diasaguinaldo = 0;
|
||||
decimal diasaguipago = 0;
|
||||
decimal salariomensual = 0;
|
||||
decimal aguinaldo = 0;
|
||||
decimal aguinaldoexcento = 0;
|
||||
decimal aguinaldogravado = 0;
|
||||
decimal diasmes = 30.5m;
|
||||
decimal FraccionI = 0;
|
||||
decimal FraccionII_1 = 0;
|
||||
decimal FraccionII_2 = 0;
|
||||
decimal FraccionIII_1 = 0;
|
||||
decimal FraccionIII_2 = 0;
|
||||
decimal FraccionV = 0;
|
||||
decimal FraccionIV = 0;
|
||||
|
||||
decimal Aguinaldoapagar = 0;
|
||||
decimal AguinaldoapagarTotal = 0;
|
||||
StringBuilder str = new StringBuilder();
|
||||
using (ClsClaseBaseD objbase = new ClsClaseBaseD())
|
||||
{
|
||||
|
||||
foreach (GridViewRow gvrow in GVCalcularAguinaldo.Rows)
|
||||
{
|
||||
salariodiario = gvrow.FCTextBox("TxtsueldoDiario").Text.ToDecimal();
|
||||
diaslaborados = gvrow.FCTextBox("TxtdiasLaborados").Text.ToDecimal();
|
||||
diasaguinaldo = gvrow.FCTextBox("TxtdiasAguinaldo").Text.ToDecimal();
|
||||
if (salariodiario > 0)
|
||||
{
|
||||
|
||||
diasaguipago = (diaslaborados / diasanio) * diasaguinaldo;
|
||||
salariomensual = salariodiario * 30;
|
||||
aguinaldo = diasaguipago * salariodiario;
|
||||
aguinaldoexcento = (aguiexentogral > aguinaldo ? aguinaldo : aguiexentogral);
|
||||
aguinaldogravado = aguinaldo - aguinaldoexcento;
|
||||
if (aguinaldogravado > 0) {
|
||||
FraccionI = (aguinaldogravado / diasanio) * diasmes;
|
||||
FraccionII_1 = salariomensual + FraccionI;
|
||||
str.Clear();
|
||||
str.AppendFormat("SELECT dbo.Fnc_NomValues(40, 0, 00, -1, {0}, {1}, {1}) isrFraccionII_2,", FraccionII_1, diasmes);
|
||||
str.AppendFormat(" dbo.Fnc_NomValues(40, 0, 00, -1, {0}, {1}, {1}) isrFraccionIII_1", salariomensual, diasmes);
|
||||
if (objbase.runQuerystr(str.ToString()))
|
||||
{
|
||||
DataRow drow = objbase.DtResultados.Rows[0];
|
||||
FraccionII_2 = drow["isrFraccionII_2"].ToString().ToDecimal();
|
||||
FraccionIII_1 = drow["isrFraccionIII_1"].ToString().ToDecimal();
|
||||
}
|
||||
else { break; }
|
||||
|
||||
FraccionIII_2 = FraccionII_2 - FraccionIII_1;
|
||||
FraccionV = FraccionIII_2 / FraccionI;
|
||||
FraccionIV = aguinaldogravado * FraccionV;
|
||||
Aguinaldoapagar = aguinaldo - FraccionIV;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
FraccionIV = 0;
|
||||
Aguinaldoapagar = aguinaldo - FraccionIV;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
aguinaldo = 0;
|
||||
Aguinaldoapagar = 0;
|
||||
aguinaldogravado = 0;
|
||||
FraccionIV = 0;
|
||||
}
|
||||
AguinaldoapagarTotal += Aguinaldoapagar;
|
||||
gvrow.FCLabel("lblsueldoAguinaldoCompleto").Text = string.Format("${0:N2}", aguinaldo);
|
||||
gvrow.FCLabel("lblAguinaldo").Text = string.Format("${0:N2}", Aguinaldoapagar);
|
||||
gvrow.FCLabel("lblAguinaldoGravado").Text = string.Format("${0:N2}", aguinaldogravado);
|
||||
gvrow.FCLabel("lblISRAguinaldo").Text = string.Format("${0:N2}", FraccionIV);
|
||||
}
|
||||
|
||||
}
|
||||
LtlTotal.Text =string.Format("${0:N2}", AguinaldoapagarTotal);
|
||||
|
||||
/*
|
||||
*
|
||||
*
|
||||
|
||||
lblAguinaldo
|
||||
lblAguinaldoGravado
|
||||
lblISRAguinaldo
|
||||
|
||||
salario diario
|
||||
dias año
|
||||
Dias laborados
|
||||
dias Aguinaldo
|
||||
dias aguinaldo(PAGO)
|
||||
UMA
|
||||
Salario mensual
|
||||
Aguinaldo
|
||||
Aguinaldo excento
|
||||
Aguinaldo gravado
|
||||
|
||||
dias mes
|
||||
FraccionI
|
||||
FraccionII
|
||||
FraccionII
|
||||
FraccionIII
|
||||
FraccionIII
|
||||
FraccionV
|
||||
FraccionIV
|
||||
|
||||
Aguinaldoapagar
|
||||
|
||||
|
||||
|
||||
|
||||
*
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
class ClsClaseBaseD : IDisposable
|
||||
{
|
||||
protected SqlConnection SqlConexion;
|
||||
protected SqlDataAdapter SqlAdapter;
|
||||
protected DataTable datos;
|
||||
protected DataSet DTSet;
|
||||
public DataTable DtResultados
|
||||
{
|
||||
get
|
||||
{
|
||||
return datos;
|
||||
}
|
||||
}
|
||||
public DataSet DTSetResultados
|
||||
{
|
||||
get
|
||||
{
|
||||
return DTSet;
|
||||
}
|
||||
}
|
||||
protected bool disposedValue = false;
|
||||
protected bool EsTransaccion = false;
|
||||
public string MyCurrentError;
|
||||
// REGISTRAR CONEXIÓN
|
||||
private int CveConexion = 0;
|
||||
|
||||
public ClsClaseBaseD(ClsClaseBaseD adsObj = null)
|
||||
{
|
||||
if (adsObj != null && adsObj.SqlAdapter != null && adsObj.SqlAdapter.SelectCommand != null && adsObj.SqlAdapter.SelectCommand.Transaction != null)
|
||||
{
|
||||
SqlConexion = adsObj.SqlConexion;
|
||||
SqlAdapter = adsObj.SqlAdapter;
|
||||
EsTransaccion = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
SqlConexion = new SqlConnection();
|
||||
SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString;
|
||||
try
|
||||
{
|
||||
SqlConexion.Open();
|
||||
SqlAdapter = new SqlDataAdapter("", SqlConexion);
|
||||
ConexionAdd();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SqlDataAdapter(string StrSQL, CommandType TipoComando = CommandType.StoredProcedure)
|
||||
{
|
||||
if (SqlConexion.State == ConnectionState.Open)
|
||||
{
|
||||
SqlAdapter.SelectCommand.Parameters.Clear();
|
||||
SqlAdapter.SelectCommand.CommandText = StrSQL;
|
||||
SqlAdapter.SelectCommand.CommandType = TipoComando;
|
||||
datos = new DataTable();
|
||||
DTSet = new DataSet();
|
||||
}
|
||||
}
|
||||
protected void DataAdapter(string StrSQL, CommandType TipoComando = CommandType.Text)
|
||||
{
|
||||
|
||||
// if (SqlAdapter.SelectCommand == null)
|
||||
// {
|
||||
// if ((sqlCommand != null))
|
||||
// {
|
||||
// SqlAdapter.SelectCommand = sqlCommand;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// SqlAdapter.SelectCommand = new SqlCommand();
|
||||
// }
|
||||
// SqlAdapter.SelectCommand.Connection = SqlConexion;
|
||||
// }
|
||||
|
||||
if (SqlConexion.State == ConnectionState.Open)
|
||||
{
|
||||
SqlAdapter.SelectCommand.Parameters.Clear();
|
||||
SqlAdapter.SelectCommand.CommandText = StrSQL;
|
||||
SqlAdapter.SelectCommand.CommandType = TipoComando;
|
||||
datos = new DataTable();
|
||||
DTSet = new DataSet();
|
||||
}
|
||||
}
|
||||
|
||||
private void ConexionAdd()
|
||||
{
|
||||
if (ConfigurationManager.AppSettings["RegistraConexion"] != null && ConfigurationManager.AppSettings["RegistraConexion"].ToString() == "1")
|
||||
{
|
||||
try
|
||||
{
|
||||
SqlDataAdapter("PA_Sis_RegistrarConexion");
|
||||
{
|
||||
var withBlock = SqlAdapter.SelectCommand.Parameters;
|
||||
withBlock.Add("@Clase", SqlDbType.VarChar).Value = this.GetType().Name;
|
||||
withBlock.Add("@Modulo", SqlDbType.VarChar).Value = string.Format("{0}?{1}", HttpContext.Current.Request.Url.AbsolutePath.ToString(), HttpContext.Current.Request.QueryString.ToString());
|
||||
withBlock.Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output;
|
||||
}
|
||||
SqlAdapter.Fill(datos);
|
||||
CveConexion = SqlAdapter.SelectCommand.Parameters["@IDConexion"].Value.ToString().ToEntero();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ConexionClose()
|
||||
{
|
||||
if (CveConexion > 0 && ConfigurationManager.AppSettings["RegistraConexion"] != null && ConfigurationManager.AppSettings["RegistraConexion"].ToString() == "1")
|
||||
{
|
||||
SqlDataAdapter(string.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text);
|
||||
|
||||
try
|
||||
{
|
||||
SqlAdapter.Fill(datos);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo());
|
||||
}
|
||||
CveConexion = 0;
|
||||
}
|
||||
}
|
||||
protected void addParameters(string name, SqlDbType tipo, object valor)
|
||||
{
|
||||
if (SqlConexion.State == ConnectionState.Open)
|
||||
SqlAdapter.SelectCommand.Parameters.Add(name, tipo).Value = valor;
|
||||
}
|
||||
|
||||
public bool runQuerystr(string Query, List<parametroQuery> Listaparametros = null, string msgError = "", bool mostrarError = true)
|
||||
{
|
||||
bool retorno = false;
|
||||
try
|
||||
{
|
||||
if (SqlConexion.State == ConnectionState.Open)
|
||||
{
|
||||
SqlAdapter.SelectCommand.Parameters.Clear();
|
||||
SqlAdapter.SelectCommand.CommandText = Query;
|
||||
SqlAdapter.SelectCommand.CommandType = CommandType.Text;
|
||||
datos = new DataTable();
|
||||
if (Listaparametros!= null)
|
||||
{
|
||||
foreach (parametroQuery pr in Listaparametros)
|
||||
{
|
||||
if (pr.SqlDataType != null)
|
||||
{
|
||||
if (pr.ParameterDirection != null)
|
||||
SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Direction = pr.ParameterDirection;
|
||||
else
|
||||
SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Value = pr.SqlValue != null ? pr.SqlValue : DBNull.Value;
|
||||
}
|
||||
else
|
||||
SqlAdapter.SelectCommand.Parameters.AddWithValue(pr.ParameterName, pr.SqlValue);
|
||||
}
|
||||
}
|
||||
|
||||
SqlAdapter.Fill(datos);
|
||||
retorno = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
string InfoAdicional = "Se intenta realizar una conexion con una conexion cerrada";
|
||||
InfoAdicional = $"{InfoAdicional}{Environment.NewLine}{msgError}{Environment.NewLine}";
|
||||
ModExtensiones.GuardaLog(InfoAdicional);
|
||||
}
|
||||
}
|
||||
catch (SqlException sqEx)
|
||||
{
|
||||
retorno = false;
|
||||
setOnError(msgError, sqEx);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
retorno = false;
|
||||
setOnError(msgError, ex);
|
||||
}
|
||||
return retorno;
|
||||
}
|
||||
public int ExecQuery(string Query, List<parametroQuery> Listaparametros = null, string msgError = "", bool mostrarError = true)
|
||||
{
|
||||
int retorno = -1;
|
||||
try
|
||||
{
|
||||
if (SqlConexion.State == ConnectionState.Open)
|
||||
{
|
||||
SqlAdapter.SelectCommand.Parameters.Clear();
|
||||
SqlAdapter.SelectCommand.CommandText = Query;
|
||||
SqlAdapter.SelectCommand.CommandType = CommandType.Text;
|
||||
if (Listaparametros!= null)
|
||||
{
|
||||
foreach (parametroQuery pr in Listaparametros)
|
||||
{
|
||||
if ( pr.SqlDataType != null)
|
||||
{
|
||||
if ( pr.ParameterDirection != null)
|
||||
SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Direction = pr.ParameterDirection;
|
||||
else
|
||||
SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Value = pr.SqlValue != null ? pr.SqlValue : DBNull.Value;
|
||||
}
|
||||
else
|
||||
SqlAdapter.SelectCommand.Parameters.AddWithValue(pr.ParameterName, pr.SqlValue);
|
||||
}
|
||||
}
|
||||
|
||||
retorno = SqlAdapter.SelectCommand.ExecuteNonQuery();
|
||||
}
|
||||
else
|
||||
{
|
||||
string InfoAdicional = "Se intenta realizar una conexion con una conexion cerrada";
|
||||
InfoAdicional = $"{InfoAdicional}{Environment.NewLine}{msgError}{Environment.NewLine}";
|
||||
this.GuardaLog(InfoAdicional);
|
||||
}
|
||||
}
|
||||
catch (SqlException sqEx)
|
||||
{
|
||||
retorno = -1;
|
||||
setOnError(msgError, sqEx);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
retorno = -1;
|
||||
setOnError(msgError, ex);
|
||||
}
|
||||
return retorno;
|
||||
}
|
||||
|
||||
|
||||
protected bool RunQuery(string msgOnError)
|
||||
{
|
||||
bool retorno = false;
|
||||
|
||||
try
|
||||
{
|
||||
SqlAdapter.Fill(datos);
|
||||
retorno = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
retorno = false;
|
||||
|
||||
setOnError(msgOnError, ex);
|
||||
}
|
||||
return retorno;
|
||||
}
|
||||
protected bool RunQueryDS(string msgOnError)
|
||||
{
|
||||
bool retorno = false;
|
||||
|
||||
try
|
||||
{
|
||||
SqlAdapter.Fill(DTSet);
|
||||
retorno = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
retorno = false;
|
||||
|
||||
setOnError(msgOnError, ex);
|
||||
}
|
||||
return retorno;
|
||||
}
|
||||
public void setOnError(string Mensaje, Exception Exeption)
|
||||
{
|
||||
string InfoAdicional = "";
|
||||
if (SqlAdapter != null && SqlAdapter.SelectCommand != null && SqlAdapter.SelectCommand.Parameters != null)
|
||||
InfoAdicional = SqlAdapter.SelectCommand.Parameters.ParametrosInfo();
|
||||
MyCurrentError = string.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", Mensaje, Exeption.ToString(), "\r\n", InfoAdicional);
|
||||
this.OnError(Mensaje, Exeption, InfoAdicional);
|
||||
}
|
||||
public void IniciaTransacSQL()
|
||||
{
|
||||
SqlAdapter.SelectCommand.Transaction = SqlConexion.BeginTransaction();
|
||||
EsTransaccion = true;
|
||||
}
|
||||
|
||||
public void Commit()
|
||||
{
|
||||
SqlAdapter.SelectCommand.Transaction.Commit();
|
||||
SqlConexion.Close();
|
||||
}
|
||||
|
||||
public void RollBack()
|
||||
{
|
||||
SqlAdapter.SelectCommand.Transaction.Rollback();
|
||||
SqlConexion.Close();
|
||||
}
|
||||
public void Dispose()
|
||||
{
|
||||
ConexionClose();
|
||||
if ((SqlConexion != null))
|
||||
{
|
||||
if (SqlConexion.State == ConnectionState.Open)
|
||||
{
|
||||
try
|
||||
{
|
||||
if ((SqlAdapter != null))
|
||||
SqlAdapter.Dispose();
|
||||
|
||||
SqlConexion.Close();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.OnError("Ocurrió un error al intentar cerrar la base de datos.", ex);
|
||||
}
|
||||
}
|
||||
SqlConexion.Dispose();
|
||||
}
|
||||
|
||||
if (datos != null)
|
||||
datos.Dispose();
|
||||
if (SqlAdapter != null)
|
||||
SqlAdapter.Dispose();
|
||||
|
||||
if (DTSet != null)
|
||||
DTSet.Dispose();
|
||||
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
|
||||
public class parametroQuery
|
||||
{
|
||||
public parametroQuery(string parameterName, object sqlValue, SqlDbType sqlDataType = default(SqlDbType), ParameterDirection parameterDirection = default(ParameterDirection))
|
||||
{
|
||||
this.ParameterName = parameterName;
|
||||
this.SqlDataType = sqlDataType;
|
||||
this.ParameterDirection = parameterDirection;
|
||||
this.SqlValue = sqlValue;
|
||||
}
|
||||
|
||||
public string ParameterName { get; set; }
|
||||
public SqlDbType SqlDataType { get; set; }
|
||||
public ParameterDirection ParameterDirection { get; set; }
|
||||
public object SqlValue { get; set; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user