public ActionResult DeleteDetalle(int IdDetalleNomina) { try { using (var dbContext = new ConfortexEntities()) { dbContext.sp_GestionarDetalleNomina(IdDetalleNomina, 0, 0, 0, 0, 0, 0, 0, 0, 0, clsReferencias.DELETE); } return(Json(new { Message = clsReferencias.Exito })); } catch (Exception ex) { return(Json(new { Message = new clsException(ex).Message() })); } }
public ActionResult CreateDetalle(DetalleNomina detalleNomina, OtroIngresoEgreso[] otroIngreso) { try { int IdDetalle = 0; bool isUpdate = false; using (var dbContext = new ConfortexEntities()) { if (detalleNomina.IdDetalleNomina == 0) { IdDetalle = db.DetalleNomina.Max(w => w.IdDetalleNomina) + 1; dbContext.sp_GestionarDetalleNomina(IdDetalle, detalleNomina.IdNomina, detalleNomina.IdEmpleado, detalleNomina.Ajuste, detalleNomina.Transporte, detalleNomina.HorasExtra, detalleNomina.Ausencia, detalleNomina.MinutosTarde, detalleNomina.Prestamo, detalleNomina.INSS, clsReferencias.INSERT); } else { IdDetalle = detalleNomina.IdDetalleNomina; dbContext.sp_GestionarDetalleNomina(detalleNomina.IdDetalleNomina, detalleNomina.IdNomina, detalleNomina.IdEmpleado, detalleNomina.Ajuste, detalleNomina.Transporte, detalleNomina.HorasExtra, detalleNomina.Ausencia, detalleNomina.MinutosTarde, detalleNomina.Prestamo, detalleNomina.INSS, clsReferencias.UPDATE); isUpdate = true; } } if (isUpdate) { List <OtroIngresoEgreso> otros = db.OtroIngresoEgreso.Where(w => w.IdDetalleNomina == IdDetalle).ToList(); OtroIngresoEgreso oie = null; if (otroIngreso != null) { for (int i = 0; i < otroIngreso.Length; i++) { if (otroIngreso[i].IdOtroIngresoEgreso == 0) { otroIngreso[i].IdDetalleNomina = IdDetalle; otroIngreso[i].FechaCreacion = System.DateTime.Now; db.OtroIngresoEgreso.Add(otroIngreso[i]); } else { oie = db.OtroIngresoEgreso.Find(otroIngreso[i].IdOtroIngresoEgreso); oie.Concepto = otroIngreso[i].Concepto; oie.Monto = otroIngreso[i].Monto; db.Entry(oie).State = EntityState.Modified; otros = otros.Where(w => w.IdOtroIngresoEgreso != oie.IdOtroIngresoEgreso).ToList(); } } db.SaveChanges(); } foreach (OtroIngresoEgreso o in otros) { oie = db.OtroIngresoEgreso.Find(o.IdOtroIngresoEgreso); oie.regAnulado = true; db.Entry(oie).State = EntityState.Modified; } db.SaveChanges(); } else { if (otroIngreso != null) { for (int i = 0; i < otroIngreso.Length; i++) { otroIngreso[i].IdDetalleNomina = IdDetalle; otroIngreso[i].FechaCreacion = System.DateTime.Now; db.OtroIngresoEgreso.Add(otroIngreso[i]); } } db.SaveChanges(); } return(Json(new { Message = clsReferencias.Exito })); } catch (Exception ex) { return(Json(new { Message = new clsException(ex).Message() })); } }