public ActionResult Eliminar(int idObservacion, int idProyecto)
 {
     try
     {
         DatosObservacion.Eliminar(idObservacion);
         return(RedirectToAction("Index", new { idProyecto }));
     }
     catch
     {
         ViewData["exception"] = new Exception("No se ha podido eliminar la observacion, " +
                                               "revise que no haya dependencias en las rondas y observaciones de tareas.");
         return(View("Error"));
     }
 }
        public ActionResult AccionObservaciones(int idProy, int idOp, FormCollection collection)
        {
            try
            {
                var accion = collection["accion"];
                switch (accion)
                {
                case "Cargar":
                {
                    var idObs = int.Parse(collection["observacion"]);
                    return(Detalles(idProy, idOp, idObs));
                }

                case "Agregar":
                {
                    return(Crear(idProy, idOp));
                }

                case "Eliminar":
                {
                    var idObs = int.Parse(collection["observacion"]);
                    DatosObservacion.Eliminar(idObs);
                    ViewData["operacion_sel"] = idOp;
                    var observaciones = DatosObservacion.GetObservacionesPorActividad(idOp);
                    ViewData["observaciones"] = observaciones;
                    return(Index(idProy));
                }

                case "Modificar":
                {
                    var idObs = int.Parse(collection["observacion"]);
                    return(Modificar(idObs, idOp, idProy));
                }

                default:
                {
                    return(Index(idProy));
                }
                }
            }
            catch (Exception e)
            {
                ViewData["exception"] = e;
                return(View("Error"));
            }
        }
        public ActionResult AccionObservaciones(int id, FormCollection collection)
        {
            try
            {
                var accion = collection["accion"];
                switch (accion)
                {
                case "Administrar":
                {
                    if (collection.AllKeys.Contains("observaciones"))
                    {
                        var lista = Array.ConvertAll(collection["observaciones"].Split(','), int.Parse);
                        if (lista.Length > 1)
                        {
                            throw new Exception("Solo puede administrar una observación al mismo tiempo");
                        }
                        else
                        {
                            var obs = lista[0];
                            var dic = DatosObservacion.GetObservacion(obs);

                            return(RedirectToAction("Detalles", "Observacion",
                                                    new { idProy = id, idOp = dic["id_actividad"], idObs = obs }));
                        }
                    }
                    else
                    {
                        throw new Exception("Debe seleccionar alguna observación para administrarla");
                    }
                }

                case "Agregar":
                {
                    return(RedirectToAction("Crear", "Observacion", new { idProyecto = id }));
                }

                case "Eliminar":
                {
                    if (collection.AllKeys.Contains("operaciones"))
                    {
                        var lista = Array.ConvertAll(collection["operaciones"].Split(','), int.Parse);
                        foreach (int idObs in lista)
                        {
                            DatosObservacion.Eliminar(idObs);
                        }
                        return(Info(id));
                    }
                    else
                    {
                        throw new Exception("Debe seleccionar alguna observación para administrarla");
                    }
                }

                default:
                {
                    throw new Exception("No se ha podido procesar el comando por realizar");
                }
                }
            }
            catch (Exception e)
            {
                ViewData["exception"] = e;
                return(View("Error"));
            }
        }
 public void Eliminar(string Codigo)
 {
     accesoDatos.Eliminar(Codigo);
 }