/// <summary> /// Crear nueva tarea para el plan /// </summary> /// <returns></returns> public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } NewTarea.EstadoID = 0; NewTarea.FechaFinPlanificada = NewTarea.FechaPlanificada.Date; await _context.SaveChangesAsync(); //NewTarea.Checklist = await _context.Test.FindAsync(NewTarea.TestID); // NewTarea.FechaEjecucionReal = null; // NewTarea.PlanID = Plan.PlanID; var plan = await _context.Plan.Include(pl => pl.ListaTareas).Where(pl => pl.PlanID == NewTarea.PlanID).FirstOrDefaultAsync(); plan.ListaTareas.AddTarea(NewTarea); await _context.SaveChangesAsync(); // _context.Tarea.Add(NewTarea); // TODO: evitar que se carguen registros duplicados sin cambio de estado // await _context.SaveChangesAsync(); var historicoTarea = new HistoricoTarea(NewTarea); _context.HistoricoTarea.Add(historicoTarea); await _context.SaveChangesAsync(); ListaTareas = await _context.Tarea.Where(t => t.PlanID == NewTarea.PlanID).OrderBy(t => t.FechaPlanificada).ToListAsync(); // return RedirectToPage("./Details"); // return await OnGetAsync(MyEmpresa.EmpresaID, Plan.PlanID); return(RedirectToPage("./Details", new { emid = NewTarea.EmpresaID, plid = NewTarea.PlanID })); }
public async Task <IActionResult> GetCambiaEstado(int emid, int plid, int taid, EstadoTarea esid) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //var tarea = await _context.Tarea.Include(ta=>ta.Checklist).Where(ta=>ta.TareaID==taid).ToListAsync(); var tarea = await _context.Tarea.Where(ta => ta.TareaID == taid).FirstAsync(); if (tarea == null) { return(NotFound()); } switch (esid) { case EstadoTarea.Nueva: break; case EstadoTarea.Planificada: break; case EstadoTarea.Iniciada: tarea.FechaEjecucionReal = DateTime.Now; break; case EstadoTarea.Realizada: tarea.FechaFinEjecucionReal = DateTime.Now; break; default: break; } tarea.FechaUltimaModificacion = DateTime.Now; var historicotarea = new HistoricoTarea(tarea, esid); await _context.HistoricoTarea.AddAsync(historicotarea); tarea.EstadoID = esid; /****/ /* * var exam = new Examination(tarea[0]); * // exam.Prueba = await _context.Test.FindAsync(tarea.ActividadVerificacionID); * await _context.Examination.AddAsync(exam); * /****/ await _context.SaveChangesAsync(); return(Ok(tarea)); } catch (Exception) { return(RedirectToPage("/Planes/Prevencion/Planificaciones/Details", new { emid, plid, taid }));; } }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } HistoricoTarea = await _context.HistoricoTarea.FirstOrDefaultAsync(m => m.HistoricoTareaID == id); if (HistoricoTarea == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } HistoricoTarea = await _context.HistoricoTarea.FindAsync(id); if (HistoricoTarea != null) { _context.HistoricoTarea.Remove(HistoricoTarea); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> GetEstado([FromRoute] int id, [FromRoute] EstadoTarea et) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var tarea = await _context.Tarea.FindAsync(id); if (tarea == null) { return(NotFound()); } var historicotarea = new HistoricoTarea(tarea, et); await _context.HistoricoTarea.AddAsync(historicotarea); tarea.EstadoID = et; await _context.SaveChangesAsync(); return(Ok(tarea)); }
public async Task <IActionResult> OnPostAsync(Tarea t) { /* * if (!ModelState.IsValid) * { * return Page(); * } * // Enlazar con el plan * MyPlan.ListaTareas.AddTarea(EstaTarea); * // enviamos nueva tarea al histórico * var historicoTarea = new HistoricoTarea(EstaTarea); * _context.HistoricoTarea.Add(historicoTarea); * _context.Tarea.Add(EstaTarea); * await _context.SaveChangesAsync(); * * return RedirectToPage("./Index", new { emid = EstaTarea.EmpresaID, plid = EstaTarea.PlanID }); */ if (!ModelState.IsValid) { return(Page()); } EstaTarea.EstadoID = 0; await _context.SaveChangesAsync(); var plan = await _context.Plan.Include(pl => pl.ListaTareas).Where(pl => pl.PlanID == EstaTarea.PlanID).FirstOrDefaultAsync(); plan.ListaTareas.AddTarea(EstaTarea); await _context.SaveChangesAsync(); var historicoTarea = new HistoricoTarea(EstaTarea); _context.HistoricoTarea.Add(historicoTarea); await _context.SaveChangesAsync(); return(RedirectToPage("Exams/Examinations/Details", new { emid = EstaTarea.EmpresaID, plid = EstaTarea.PlanID })); }