310 lines
10 KiB
C#
310 lines
10 KiB
C#
using Extensiones;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
|
|
public partial class Nomina_CatConceptoB : ClsPaginas
|
|
{
|
|
#region "Propiedades"
|
|
private DataTable DTCuentas
|
|
{
|
|
get
|
|
{
|
|
return (DataTable)ViewState["DTCuentas"];
|
|
}
|
|
|
|
set
|
|
{
|
|
ViewState["DTCuentas"] = value;
|
|
}
|
|
}
|
|
private Boolean EsEditar
|
|
{
|
|
get
|
|
{
|
|
return (Boolean)ViewState["EsEditar"];
|
|
}
|
|
|
|
set
|
|
{
|
|
ViewState["EsEditar"] = value;
|
|
}
|
|
}
|
|
private int CveConcepto
|
|
{
|
|
get
|
|
{
|
|
return ViewState["CveConcepto"].ToEntero();
|
|
}
|
|
|
|
set
|
|
{
|
|
ViewState["CveConcepto"] = value;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
InicializaDatos();
|
|
}
|
|
}
|
|
|
|
protected void InicializaDatos()
|
|
{
|
|
if (Request["CveConcepto"] != null && !Request["CveConcepto"].ToString().Equals("") && Request["CveConcepto"].ToEntero() > 0)
|
|
{
|
|
ViewState["CveConcepto"] = Request["CveConcepto"];
|
|
EsEditar = true;
|
|
BtnGuardar.Text = "Guardar cambios";
|
|
BtnEliminar.Visible = true;
|
|
ChkTipoCalculo.Checked = false;
|
|
}
|
|
else
|
|
{
|
|
ViewState["CveConcepto"] = -1;
|
|
EsEditar = false;
|
|
}
|
|
CargaTipo();
|
|
CargaConceptoPadre();
|
|
CargaConceptoContable();
|
|
|
|
CargaClasificacion();
|
|
CargaTipoGasto();
|
|
CargaCtaContable();
|
|
|
|
CargaDatos();
|
|
}
|
|
|
|
protected void CargaTipo()
|
|
{
|
|
DdlTipo.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
|
DdlTipo.Items.Insert(1, new ListItem("Percepciones", "P"));
|
|
DdlTipo.Items.Insert(2, new ListItem("Deducciones", "D"));
|
|
DdlTipo.Items.Insert(3, new ListItem("Obligaciones", "O"));
|
|
DdlTipo.SelectedValueExist("-1");
|
|
}
|
|
|
|
protected void CargaConceptoPadre()
|
|
{
|
|
DdlConceptoPadre.DataSource = get_GlobalDTNomConceptos(UsuarioActual.CveEmpresa);
|
|
DdlConceptoPadre.DataBind();
|
|
DdlConceptoPadre.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
|
DdlConceptoPadre.SelectedValueExist("-1");
|
|
}
|
|
protected void CargaConceptoContable()
|
|
{
|
|
DdlConceptoContable.DataSource = get_GlobalDTContaConceptosContables(-1);
|
|
DdlConceptoContable.DataBind();
|
|
DdlConceptoContable.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
|
DdlConceptoContable.SelectedValueExist("-1");
|
|
}
|
|
protected void CargaClasificacion()
|
|
{
|
|
DdlClasificacion.DataSource = get_GlobalDTClasificaciones(UsuarioActual.CveEmpresa);
|
|
DdlClasificacion.DataBind();
|
|
DdlClasificacion.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
|
DdlClasificacion.SelectedValueExist("-1");
|
|
}
|
|
|
|
protected void CargaTipoGasto()
|
|
{
|
|
DdlTipoGasto.DataSource = get_GlobalDTTiposGastos(UsuarioActual.CveEmpresa);
|
|
DdlTipoGasto.DataBind();
|
|
DdlTipoGasto.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
|
DdlTipoGasto.SelectedValueExist("-1");
|
|
}
|
|
|
|
protected void CargaCtaContable()
|
|
{
|
|
if(UsuarioActual.Empresa.UsaContabilidad)
|
|
{
|
|
ClsContPAQi ObjConta = new ClsContPAQi(UsuarioActual.Empresa);
|
|
if (ObjConta.GetCuentas(-1, "-1", 1))
|
|
{
|
|
DdlCtaContable.DataSource = ObjConta.DtResultados;
|
|
DdlCtaContable.DataBind();
|
|
}
|
|
|
|
DdlCtaContable.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
|
DdlCtaContable.SelectedValueExist("-1");
|
|
}
|
|
}
|
|
|
|
|
|
protected void BtnGuardar_Click(object sender, EventArgs e)
|
|
{
|
|
String codigo = TxtCodigo.Text;
|
|
String concepto = TxtConcepto.Text;
|
|
String tipo = DdlTipo.SelectedValue;
|
|
String formula = TxtFormula.Text;
|
|
|
|
if (!ValidaFormula(formula).Equals(""))
|
|
{
|
|
Alert("Fórmula no válida. Favor de ingresar una correcta.", ModExtensiones.TipoMensaje.MsgError);
|
|
}
|
|
else
|
|
{
|
|
//bool retencion;
|
|
//if (ChkRetencion.Checked) retencion = true;
|
|
//else retencion = false;
|
|
|
|
//bool tipoCalculo;
|
|
//if (ChkTipoCalculo.Checked) tipoCalculo = true;
|
|
//else tipoCalculo = false;
|
|
|
|
int CveConceptoPadre = DdlConceptoPadre.SelectedValue.ToEntero();
|
|
int CveConceptoContable = DdlConceptoContable.SelectedValue.ToEntero();
|
|
|
|
//bool estado;
|
|
//if (ChkEstado.Checked) estado = true;
|
|
//else estado = false;
|
|
|
|
//bool sistema;
|
|
//if (ChkSistema.Checked) sistema = true;
|
|
//else sistema = false;
|
|
|
|
int CveClasificacion = DdlClasificacion.SelectedValue.ToEntero();
|
|
int CveTipoGasto = DdlTipoGasto.SelectedValue.ToEntero();
|
|
int IdCtaContable = DdlCtaContable.SelectedValue.ToEntero();
|
|
|
|
ClsNominas ObjNomina = new ClsNominas();
|
|
ObjNomina.IniciaTransacSQL();
|
|
|
|
//bool TieneError = false;
|
|
|
|
if (EsEditar)
|
|
{
|
|
//TieneError = !ObjNomina.UpdateConcepto(codigo, concepto, tipo, formula, sistema, estado, CveConceptoPadre, CveConcepto, retencion, CveClasificacion, IdCtaContable, CveTipoGasto, tipoCalculo, CveConceptoContable);
|
|
|
|
//if (TieneError)
|
|
//{
|
|
// ObjNomina.RollBack();
|
|
//}
|
|
//else
|
|
//{
|
|
// ObjNomina.Commit();
|
|
// Alert("El concepto de nómina fue actualizado correctamente.", ModExtensiones.TipoMensaje.MsgInformacion, $"document.location.href=\"/Nomina/ConceptoNomina.aspx?CveConcepto={CveConcepto}\"");
|
|
//}
|
|
}
|
|
else
|
|
{
|
|
//CveConcepto = ObjNomina.AddConcepto(codigo, concepto, tipo, formula, sistema, estado, CveConceptoPadre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, retencion, CveClasificacion, IdCtaContable, CveTipoGasto, tipoCalculo, CveConceptoContable);
|
|
|
|
//if (CveConcepto == -1)
|
|
//{
|
|
// ObjNomina.RollBack();
|
|
//}
|
|
//else
|
|
//{
|
|
// ObjNomina.Commit();
|
|
// Alert("El concepto de nómina fue creado correctamente.", ModExtensiones.TipoMensaje.MsgInformacion, $"document.location.href=\"/Nomina/ConceptoNomina.aspx?CveConcepto={CveConcepto}\"");
|
|
//}
|
|
}
|
|
|
|
ObjNomina.Dispose();
|
|
CargaDatos();
|
|
}
|
|
}
|
|
|
|
private string ValidaFormula(string Formula)
|
|
{
|
|
string retorno = "Error en Fórmula";
|
|
|
|
try
|
|
{
|
|
FormulaEvaluator.Expression exp;
|
|
foreach (DataRow dr in GlobalDTNomConceptosFunciones.Rows)
|
|
{
|
|
exp = new FormulaEvaluator.Expression(String.Format("{0}:=1", dr["Funcion"]));
|
|
exp.Eval();
|
|
}
|
|
|
|
exp = new FormulaEvaluator.Expression(Formula);
|
|
if (exp.Errors.Count > 0)
|
|
{
|
|
retorno = exp.Errors[0].Message;
|
|
}
|
|
Object val = exp.Eval();
|
|
if (exp.Errors.Count == 0)
|
|
{
|
|
retorno = "";
|
|
}
|
|
else
|
|
{
|
|
retorno = exp.Errors[0].Message;
|
|
}
|
|
}
|
|
catch (Exception e) {
|
|
Alert(e.Message,ModExtensiones.TipoMensaje.MsgError);
|
|
}
|
|
|
|
return retorno;
|
|
}
|
|
|
|
protected void CargaDatos()
|
|
{
|
|
if(CveConcepto > 0)
|
|
{
|
|
ClsNominas ObjNomina = new ClsNominas();
|
|
|
|
if (ObjNomina.GetConceptos(UsuarioActual.CveEmpresa, CveConcepto: CveConcepto) && ObjNomina.DtResultados.Rows.Count > 0)
|
|
{
|
|
TxtCodigo.Text = ObjNomina.DtResultados.FiltroPrimeroValor("Codigo");
|
|
TxtConcepto.Text = ObjNomina.DtResultados.FiltroPrimeroValor("Concepto");
|
|
DdlTipo.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("Tipo"));
|
|
TxtFormula.Text = ObjNomina.DtResultados.FiltroPrimeroValor("Formula");
|
|
if (ObjNomina.DtResultados.FiltroPrimeroValor("EsRetencion").Equals("1")) ChkRetencion.Checked = true;
|
|
if (ObjNomina.DtResultados.FiltroPrimeroValor("TipoCalculo").Equals("True")) ChkTipoCalculo.Checked = true;
|
|
DdlConceptoPadre.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("CveConceptoPadre"));
|
|
DdlConceptoContable.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("CveConceptoContable"));
|
|
|
|
if (ObjNomina.DtResultados.FiltroPrimeroValor("Estado").Equals("Activo")) ChkEstado.Checked = true;
|
|
if (ObjNomina.DtResultados.FiltroPrimeroValor("Sistema").Equals("Sí")) ChkSistema.Checked = true;
|
|
|
|
DdlClasificacion.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("CveClasificacion"));
|
|
DdlTipoGasto.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("CveTipoGasto"));
|
|
DdlCtaContable.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("IdCtaContable"));
|
|
}
|
|
ObjNomina.Dispose();
|
|
|
|
} else
|
|
{
|
|
TxtCodigo.Text = "";
|
|
TxtConcepto.Text = "";
|
|
DdlTipo.SelectedValueExist("-1");
|
|
TxtFormula.Text = "";
|
|
ChkRetencion.Checked = false;
|
|
DdlConceptoPadre.SelectedValueExist("-1");
|
|
DdlConceptoContable.SelectedValueExist("-1");
|
|
|
|
ChkEstado.Checked = false;
|
|
ChkSistema.Checked = false;
|
|
|
|
DdlClasificacion.SelectedValueExist("-1");
|
|
DdlTipoGasto.SelectedValueExist("-1");
|
|
DdlCtaContable.SelectedValueExist("-1");
|
|
}
|
|
}
|
|
|
|
protected void BtnEliminar_Click(object sender, EventArgs e)
|
|
{
|
|
ClsNominas ObjNomina = new ClsNominas();
|
|
|
|
if (ObjNomina.RemoveConcepto(CveConcepto, UsuarioActual.CveEmpresa))
|
|
{
|
|
Response.Redirect("./CatConceptos.aspx");
|
|
}
|
|
else
|
|
{
|
|
Alert("Ocurrio un error al eliminar el concepto de nómina", ModExtensiones.TipoMensaje.MsgError);
|
|
}
|
|
}
|
|
} |