public ActionResult Edit(ObjetivoEspecifico objetivoEspecifico) { try{ if (SesionUsuario.IdEjercicioActivoSesion == new Guid()) { Utilidades.ColocarMensaje("No se ha seleccionado un plan."); return(RedirectToAction("Index", "Home")); } var planAnual = _db.PlanesAnuales.Single( p => p.IdEjercicio == SesionUsuario.IdEjercicioActivoSesion && p.IdEstructuraOrganizativa == SesionUsuario.Usuario.PerfilUsuario.IdEstructuraOrganizativa); if ((planAnual.EstadoPlanEtapa != (int)EstadoPlanEtapa.Iniciado && planAnual.EstadoPlanEtapa != (int)EstadoPlanEtapa.Correccion)) { Utilidades.ColocarMensaje("No se pueden editar objetivos mientras el plan esta " + ((EstadoPlanEtapa)planAnual.EstadoPlanEtapa) + "."); return(RedirectToAction("Index")); } var poseePendientes = _observacionRepository.PoseeObservacionesPendientes(objetivoEspecifico.Id, "Objetivo", "ObjetivoEspecifico"); if (!poseePendientes && planAnual.EstadoPlanEtapa == (int)EstadoPlanEtapa.Correccion) { Utilidades.ColocarMensaje("No se puede editar el objetivo porque esta aprobado."); return(RedirectToAction("Index")); } if (ModelState.IsValid) { _db.ObjetivosEspecificos.Attach(objetivoEspecifico); _db.ObjectStateManager.ChangeObjectState(objetivoEspecifico, EntityState.Modified); _db.SaveChanges(); _auditorRepository.GuardarRegistroEdicion(TempData["objetivoespecificoEdit" + objetivoEspecifico.Id], objetivoEspecifico); return(RedirectToAction("Index")); } ViewBag.IdPlanAnual = objetivoEspecifico.IdPlanAnual; return(View(objetivoEspecifico)); } catch (Exception ex) { Utilidades.ColocarMensaje(ex, Request); return(RedirectToAction("Index")); } }
public ActionResult Create(ObjetivoEspecifico objetivoespecifico) { try{ if (SesionUsuario.IdEjercicioActivoSesion == new Guid()) { Utilidades.ColocarMensaje("No se ha seleccionado un plan."); return(RedirectToAction("Index", "Home")); } var planAnual = _db.PlanesAnuales.Single( p => p.IdEjercicio == SesionUsuario.IdEjercicioActivoSesion && p.IdEstructuraOrganizativa == SesionUsuario.Usuario.PerfilUsuario.IdEstructuraOrganizativa); if ((planAnual.EstadoPlanEtapa != (int)EstadoPlanEtapa.Iniciado && planAnual.EstadoPlanEtapa != (int)EstadoPlanEtapa.Correccion)) { Utilidades.ColocarMensaje("No se pueden crear objetivos mientras el plan esta " + ((EstadoPlanEtapa)planAnual.EstadoPlanEtapa) + "."); return(RedirectToAction("Index")); } if (ModelState.IsValid) { objetivoespecifico.Id = Guid.NewGuid(); _db.ObjetivosEspecificos.AddObject(objetivoespecifico); _db.SaveChanges(); _auditorRepository.GuardarRegistroCreacion(objetivoespecifico); return(RedirectToAction("Index")); } ViewBag.IdPlanAnual = planAnual.Id; return(View(objetivoespecifico)); } catch (Exception ex) { Utilidades.ColocarMensaje(ex, Request); return(RedirectToAction("Index")); } }