public ActionResult DeleteConfirmed(int Id) { try { using (var dbContext = new ConfortexEntities()) { dbContext.sp_GestionarNomina(Id, "", System.DateTime.Now, System.DateTime.Now, 0, "", clsReferencias.DELETE); } return(Json(new { Message = clsReferencias.Exito })); } catch (Exception ex) { return(Json(new { Message = new clsException(ex).Message() })); } }
public ActionResult GenerarNomina(int IdNomina) { try { using (var dbContext = new ConfortexEntities()) { dbContext.sp_GestionarNomina(IdNomina, "", System.DateTime.Now, System.DateTime.Now, clsReferencias.Generado, "", clsReferencias.Generar); } return(Json(new { Message = clsReferencias.Exito })); } catch (Exception ex) { return(Json(new { Message = new clsException(ex).Message() })); } }
public ActionResult Create(Nomina nomina, NominaDiaLibre[] diasLibres) { NominaDiaLibre nominadiaLibre; try { if (nomina.IdNomina == 0) { IdNomina = db.Nomina.Max(w => w.IdNomina) + 1; } else { IdNomina = nomina.IdNomina; } List <NominaDiaLibre> dias = db.NominaDiaLibre.Where(w => w.IdNomina == IdNomina).ToList(); using (var dbContext = new ConfortexEntities()) { if (nomina.IdNomina == 0) { dbContext.sp_GestionarNomina(IdNomina, nomina.NombreReferencia, nomina.FechaInicio, nomina.FechaFin, clsReferencias.EnBorrador, nomina.Observaciones, clsReferencias.INSERT); } else { dbContext.sp_GestionarNomina(IdNomina, nomina.NombreReferencia, nomina.FechaInicio, nomina.FechaFin, 0, nomina.Observaciones, clsReferencias.UPDATE); } } if (diasLibres != null) { for (int i = 0; i < diasLibres.Length; i++) { if (diasLibres[i].FechaLibre <nomina.FechaInicio || diasLibres[i].FechaLibre> nomina.FechaFin) { return(Json(new { Message = "El día libre " + diasLibres[i].FechaLibre.Date.ToShortDateString() + " se encuentra fuera de los limites de pago de la Nómina, por lo tanto no puede ser agregado, debe corregir este error para continuar." })); } if (diasLibres[i].IdNominaDiaLibre == 0) { diasLibres[i].IdNomina = IdNomina; diasLibres[i].FechaCreacion = System.DateTime.Now; db.NominaDiaLibre.Add(diasLibres[i]); } else { nominadiaLibre = db.NominaDiaLibre.Find(diasLibres[i].IdNominaDiaLibre); nominadiaLibre.Concepto = diasLibres[i].Concepto; db.Entry(nominadiaLibre).State = EntityState.Modified; dias = dias.Where(w => w.IdNominaDiaLibre != diasLibres[i].IdNominaDiaLibre).ToList(); } } db.NominaDiaLibre.RemoveRange(dias.ToArray()); } else { IEnumerable <NominaDiaLibre> diasT = db.NominaDiaLibre.Where(w => w.IdNomina == IdNomina); db.NominaDiaLibre.RemoveRange(diasT); } db.SaveChanges(); return(Json(new { Message = clsReferencias.Exito, IdNomina = IdNomina })); } catch (Exception ex) { return(Json(new { Message = new clsException(ex).Message() })); } }