public async Task <JsonResult> finiquito(int idEmpleado, int idFiniquito, ParametrosFiniquitos arrayF, bool calcularLiquidacion) { finiquitosClass finiq = new finiquitosClass(); var periodo = Session["periodo"] as NOM_PeriodosPago; //idFiniquito = await finiquitosClass.ProcesarFiniquitoAsync(periodo, idEmpleado, false); idFiniquito = await ProcesoNomina.ProcesarFiniquitoIndemnizacionAsync(periodo.IdPeriodoPago, periodo.IdEjercicio, idEmpleado, periodo.IdSucursal, arrayF, calcularLiquidacion); //var fin = finiq.FiniquitoFiscal(periodo.IdPeriodoPago); ViewBag.esLiquidacion = calcularLiquidacion; return(Json(new { status = "OK - Fin Procesado de nominas", idFiniquito = idFiniquito })); }
public async Task <JsonResult> finiquito(int idEmpleado, int idFiniquito, ParametrosFiniquitos arrayF, bool calcularLiquidacion, bool paramArt174) { //finiquitosClass finiq = new finiquitosClass(); var periodo = Session["periodo"] as NOM_PeriodosPago; var sucursal = Session["sucursal"] as SucursalDatos; //idFiniquito = await finiquitosClass.ProcesarFiniquitoAsync(periodo, idEmpleado, false); int idUsuario = SessionHelpers.GetIdUsuario(); idFiniquito = await ProcesoNomina.ProcesarFiniquitoIndemnizacionAsync(periodo.IdPeriodoPago, periodo.IdEjercicio, idEmpleado, sucursal.IdCliente, periodo.IdSucursal, arrayF, idUsuario, calcularLiquidacion, null, isArt174 : paramArt174); //var fin = finiq.FiniquitoFiscal(periodo.IdPeriodoPago); ViewBag.esLiquidacion = calcularLiquidacion; return(Json(new { status = "OK - Fin Procesado de nominas", idFiniquito = idFiniquito })); }
public async Task <JsonResult> SaveCustomData() { int idFiniquito = 0; int idEmpleado = 0; bool esLiquidacion = false; bool isArt174 = false; ParametrosFiniquitos arrayF = null; try { string strTotal3MesesF = Request.Form["totalTresMesesF"]; string strTotal3MesesC = Request.Form["totalTresMesesC"]; string strTotal20DiasF = Request.Form["totalVeinteF"]; string strTotal20DiasC = Request.Form["totalVeinteC"]; string strTotalPrimaF = Request.Form["totalPrimaF"]; string strTotalPrimaC = Request.Form["totalPrimaC"]; idFiniquito = Convert.ToInt32(Request.Form["idFiniquito"]); idEmpleado = Convert.ToInt32(Request.Form["idEmpleado"]); esLiquidacion = Convert.ToBoolean(Request.Form["esLiquidacion"]); isArt174 = Convert.ToBoolean(Request.Form["esArt174"]); string strTotalPrimaVacF = Request.Form["totalPrimaVacacionesF"]; string strTotalPrimaVacC = Request.Form["totalPrimaVacacionesC"]; if (idFiniquito <= 0) { return(Json(new { strMensaje = "Es necesario procesar el finiquito para generar sus datos.", status = 1 })); } //if es null o vacio retorna -1 decimal total3mesesF = Utils.ConvertToDecimal(strTotal3MesesF); decimal total3mesesC = Utils.ConvertToDecimal(strTotal3MesesC); decimal total20DiasF = Utils.ConvertToDecimal(strTotal20DiasF); decimal total20DiasC = Utils.ConvertToDecimal(strTotal20DiasC); decimal totalPrimaF = Utils.ConvertToDecimal(strTotalPrimaF); decimal totalPrimaC = Utils.ConvertToDecimal(strTotalPrimaC); decimal totalPrimaVacF = Utils.ConvertToDecimal(strTotalPrimaVacF); decimal totalPrimaVacC = Utils.ConvertToDecimal(strTotalPrimaVacC); //string[] keys = Request.Form.AllKeys; //for (int i = 0; i < keys.Length; i++) //{ //} //Validar el finiquito guardado si existen cambios en sus totales antes de volver a procesar var periodo = Session["periodo"] as NOM_PeriodosPago; var sucursal = Session["sucursal"] as SucursalDatos; int idUsuario = SessionHelpers.GetIdUsuario(); TotalPersonalizablesFiniquitos customTotal = new TotalPersonalizablesFiniquitos(); customTotal.TotalTresMesesFiscalPersonalizado = total3mesesF; customTotal.TotalTresMesesCompPersonalizado = total3mesesC; customTotal.TotalVeinteDiasFiscalPersonalizado = total20DiasF; customTotal.TotalVienteDiasCompPersonalizado = total20DiasC; customTotal.TotalPrimaFiscalPersonalizado = totalPrimaF; customTotal.TotalPrimaCompPersonalizado = totalPrimaC; customTotal.TotalPrimaVacPersonalizado = totalPrimaVacF; customTotal.TotalPrimaVacCompPersonalizado = totalPrimaVacC; ParametrosFiniquitos arrayFF = new ParametrosFiniquitos(); arrayFF.FechaBajaF = Convert.ToDateTime(Request.Form["fechaBaja"]); arrayFF.FechaAltaF = Convert.ToDateTime(Request.Form["fechaAltaF"]); arrayFF.FechaAguinaldoF = Convert.ToDateTime(Request.Form["fechaAguinaldoF"]); arrayFF.FechaVacacionesF = Convert.ToDateTime(Request.Form["fechaVacacionesF"]); arrayFF.FechaAguinaldoC = Convert.ToDateTime(Request.Form["fechaAguinaldo"]); arrayFF.FechaVacacionesC = Convert.ToDateTime(Request.Form["fechaVacaciones"]); arrayFF.DiasSueldoPendientesF = Utils.ConvertToDecimal(Request.Form["diasSueldoPendienteF"].ToString()); arrayFF.DiasVacacionesPendientesF = Utils.ConvertToDecimal(Request.Form["diasVacacionesPendientesF"]); arrayFF.DiasSueldoPendientesC = Utils.ConvertToDecimal(Request.Form["diasSueldoPendiente"]); arrayFF.DiasVacacionesPendientesC = Utils.ConvertToDecimal(Request.Form["diasVacacionesPendientes"]); arrayFF.MesesSalarioF = Utils.ConvertToDecimal(Request.Form["mesesSalarioF"]); arrayFF.MesesSalarioC = Utils.ConvertToDecimal(Request.Form["mesesSalarioC"]); arrayFF.VeinteDiasPorAF = Utils.ConvertToDecimal(Request.Form["veinteXAF"]); arrayFF.VeinteDiasPorAC = Utils.ConvertToDecimal(Request.Form["veinteXAC"]); arrayFF.DiasVacCorrespondientesF = Utils.ConvertToInt(Request.Form["diasVacacionesF"]); arrayFF.DiasVacCorrespondientesC = Utils.ConvertToInt(Request.Form["diasVacacionesC"]); arrayFF.PorcentajePimaVacPendienteF = Utils.ConvertToDecimal(Request.Form["primaVacacionalPendienteF"]); arrayFF.PorcentajePimaVacPendienteC = Utils.ConvertToDecimal(Request.Form["primaVacacionalPendienteC"]); arrayFF.TipoTarifa = Utils.ConvertToInt(Request.Form["selectTarifa"]); arrayFF.DiasAguinaldoF = Utils.ConvertToInt(Request.Form["diasAguinaldoF"]); arrayFF.DiasAguinaldoC = Utils.ConvertToInt(Request.Form["diasAguinaldoC"]); idFiniquito = await ProcesoNomina.ProcesarFiniquitoIndemnizacionAsync(periodo.IdPeriodoPago, periodo.IdEjercicio, idEmpleado, sucursal.IdCliente, periodo.IdSucursal, arrayFF, idUsuario, esLiquidacion, customTotal, isArt174); return(Json(new { strMensaje = "OK - Procesado de Finiquito", status = 1 })); } catch (Exception ex) { return(Json(new { strMensaje = ex.Message, status = 0 })); } }
public static async Task <int> ProcesarFiniquitoIndemnizacionAsync(int idPeriodo, int idEjercicio, int idEmpleado, int idCliente, int idSucursal, ParametrosFiniquitos arrayF, int idUsuario, bool calcularLiquidacion = false, TotalPersonalizablesFiniquitos totalesPerson = null, bool isArt174 = false) { try { NominaCore nc = new NominaCore(); var id = await nc.ProcesarFiniquitoIndemnizacionAsync(idPeriodo, idEjercicio, idEmpleado, idCliente, idSucursal, arrayF, calcularLiquidacion, idUsuario, totalesPerson, isArt174); return(id); } catch (MissingMethodException ex) { return(0); } }