public PartialViewResult SeleccionEmpleadosPeriodo(int id) { var sucursal = Session["sucursal"] as SucursalDatos; ViewBag.IdPeriodo = id; //Obtiene los empleados seleccionados en el periodo PeriodosPago p = new PeriodosPago(); var periodo = p.GetPeriodoPagoById(id); Empleados emp = new Empleados(); var empleados = new List <DatosEmpleado>(); if (periodo.Especial == true) //si el periodo es especial se muestran todos los empleados, independientemente de su tipo de nómina { empleados = emp.GetEmpleadosBySucursalConTipoNomina(sucursal.IdSucursal); } else //si no pues no { empleados = emp.GetEmpleadosByTipoNomina(sucursal.IdSucursal, periodo.IdTipoNomina); } ViewBag.EmpleadosSeleccionados = p.GetIdEmpleados(id); return(PartialView(empleados)); }
public JsonResult SelectPeriodo(int id) { PeriodosPago ctx = new PeriodosPago(); var periodo = ctx.GetPeriodoPagoById(id); Session["periodo"] = periodo; return(Json(periodo, JsonRequestBehavior.AllowGet)); }
public PartialViewResult PeriodoDetalle(int id) { var ctx = new PeriodosPago(); var periodicidades = ctx.GetPeriodicidadPagos(); ViewBag.Periodicidades = periodicidades; PeriodosPago p = new PeriodosPago(); var model = p.GetPeriodoPagoById(id); ViewBag.empleadoPeri = p.empleadosDetalle(id); return(PartialView(model)); }
//[PeriodoAutorizado] //[PeriodoProcesado] public PartialViewResult Index() { var periodoPago = Session["periodo"] as NOM_PeriodosPago; HomeController home = new HomeController(); if (periodoPago == null) { return(home.NoPeriodo()); } //GET Status Actual del periodo var ctx = new PeriodosPago(); var periodoActual = ctx.GetPeriodoPagoById(periodoPago.IdPeriodoPago); if (periodoActual == null) { return(home.NoPeriodo()); } //if (periodoActual.Procesado != true) return home.PeriodoNoProcesado(periodoPago.IdTipoNomina == 11);// 11 finiquito //Enviaremos a la vista si es finiquito o nomina normal ViewBag.isFiniquito = periodoPago.IdTipoNomina == 11; ViewBag.idPeriodo = periodoPago.IdPeriodoPago; if (periodoActual.Autorizado != true) { return(home.PeriodoNoAutorizado(periodoPago.IdTipoNomina == 11)); } Session["periodo"] = periodoActual; //TipoNomina = 11 es finiquito var modelo = periodoPago.IdTipoNomina == 11 ? _fe.GetDatosCfdiFiniquito(periodoPago.IdPeriodoPago) : _fe.GetDatosCfdi(periodoPago.IdPeriodoPago, periodoPago.IdTipoNomina); List <NotificationSummary> listSummary = new List <NotificationSummary>(); if (TempData["summary"] != null) { listSummary = TempData["summary"] as List <NotificationSummary>; } ViewBag.Summary = listSummary; return(PartialView(modelo)); }
public JsonResult UploadFile(HttpPostedFileBase file) { int idPeriodo = 0; //Validar que el file no este vacio o null if (file != null) { try { var periodoPago = Session["periodo"] as NOM_PeriodosPago; //idPeriodo = periodoPago.IdPeriodoPago; PeriodosPago ctx = new PeriodosPago(); var periodoActualizado = ctx.GetPeriodoPagoById(periodoPago.IdPeriodoPago); if (periodoActualizado.Autorizado) { return(Json(new { error = "ERROR: No se puede subir datos a un periodo Autorizado" }, JsonRequestBehavior.AllowGet)); } DataTable dt = new DataTable(); dt = Utils.ExcelToDataTable(file); //Validar que sea el formato correcto if (dt == null) { return(Json(new { error = "ERROR: El archivo no tiene el formato correcto" }, JsonRequestBehavior.AllowGet)); } DatoComplemento dc = new DatoComplemento(); dc.ImportarDatosComplemento(dt, periodoPago.IdPeriodoPago); } catch (Exception) { return(Json(new { error = "ERROR: El archivo no contiene datos correctos o esta dañado." }, JsonRequestBehavior.AllowGet)); } } //filebatchuploadsuccess return(Json(new { fileuploaded = "agregado", filebatchuploadsuccess = "Batch success" }, JsonRequestBehavior.AllowGet)); }
public async Task <JsonResult> ProcesarAguinaldo(int[] empleados, string[] faltas, bool[] generarPensionAlimenticia, bool anual = false) { //Validar que la Sesion del periodo este activa if (Session["periodo"] != null) { var periodoPago = Session["periodo"] as NOM_PeriodosPago; //Actualizar los datos del periodo en la variable de session PeriodosPago ctx = new PeriodosPago(); var periodoActualizado = ctx.GetPeriodoPagoById(periodoPago.IdPeriodoPago); Session["periodo"] = periodoActualizado; //Validar que el periodo no este Autorizado if (periodoActualizado.Autorizado) { return(Json(new { status = "El periodo ya esta Autorizado, no se puede volver a procesar" }, JsonRequestBehavior.AllowGet)); } if (periodoActualizado.Procesando) { return(Json(new { status = "El periodo esta siendo procesado en este momento ... Favor de Esperar... " }, JsonRequestBehavior.AllowGet)); } var sucursal = Session["sucursal"] as SucursalDatos; //INICIA EL PROCESADO DE LA NOMINA if (sucursal != null) { var summary = await ProcesoNomina.ProcesarAguinaldoAsync(empleados, faltas, generarPensionAlimenticia, periodoActualizado.IdPeriodoPago, sucursal.IdCliente, sucursal.IdSucursal, SessionHelpers.GetIdUsuario(), anual); if (summary != null) { TempData["summary"] = summary; } } } return(Json(new { status = "OK - nominas" }, JsonRequestBehavior.AllowGet)); }