public ActionResult CrearActividad(int eje, int ID_categoria, int ID_Secundaria, int ID_Principal, string ID_beneficiario, string ID_CDI, int ID_Plantilla)
        {
            try
            {
                var actividad = db.Tb_ActividadesSecundarias.Find(ID_Secundaria);



                Tb_ActividadesBeneficiarios nuevaActividadBeneficiario = new Tb_ActividadesBeneficiarios();
                nuevaActividadBeneficiario.LocalBeneficiaryID = ID_beneficiario;
                nuevaActividadBeneficiario.FCPID = ID_CDI;

                nuevaActividadBeneficiario.ID_eje                = actividad.Tb_ActividadesPrincipales.Tb_Categorias.ID_eje;
                nuevaActividadBeneficiario.ID_categoria          = actividad.Tb_ActividadesPrincipales.ID_categoria;
                nuevaActividadBeneficiario.ID_actividadPrincipal = actividad.ID_actividadPrincipal;

                nuevaActividadBeneficiario.ID_actividadSecundaria = ID_Secundaria;
                nuevaActividadBeneficiario.ID_plantilla           = ID_Plantilla;
                nuevaActividadBeneficiario.ID_resultado           = 1;            //por defecto
                nuevaActividadBeneficiario.ID_precondicionTOC     = 1;            //por defecto
                nuevaActividadBeneficiario.Fecha = DateTime.UtcNow;               //por defecto
                nuevaActividadBeneficiario.Fecha_actualizacion = DateTime.UtcNow; //por defecto
                nuevaActividadBeneficiario.Comentarios         = "";              //por defecto
                nuevaActividadBeneficiario.ID_usuario          = 1;               //por defecto
                nuevaActividadBeneficiario.parent = 0;                            //por defecto
                nuevaActividadBeneficiario.masiva = false;                        //por defecto
                db.Tb_ActividadesBeneficiarios.Add(nuevaActividadBeneficiario);
                db.SaveChanges();

                //Evaluamos si utilizara plantilla
                if (ID_Plantilla != 0)
                {
                    //buscamos detalles
                    List <Tb_ActividadesDetalles> nuevalista = new List <Tb_ActividadesDetalles>();
                    var detalles = (from a in db.Tb_ActividadesDetalles where (a.ID_plantilla == ID_Plantilla && a.Original == true) select a).ToList();
                    foreach (var item in detalles)
                    {
                        Tb_ActividadesDetalles nuevoreg = new Tb_ActividadesDetalles();
                        nuevoreg          = item;
                        nuevoreg.Original = false;
                        nuevoreg.ID_actividadSecundaria   = ID_Secundaria;
                        nuevoreg.ID_actividadBeneficiario = nuevaActividadBeneficiario.ID_actividadBeneficiario;
                        nuevalista.Add(nuevoreg);
                    }
                    db.Tb_ActividadesDetalles.AddRange(nuevalista);
                    db.SaveChanges();
                }


                var result = new { mensaje = "success", id_actividadBeneficiario = nuevaActividadBeneficiario.ID_actividadBeneficiario };
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                var result = new { mensaje = "error" };
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
 public ActionResult CargarPlantilla(int plantilla, int actividadsecundaria, int actividadBeneficiario)
 {
     try
     {
         var detallesPlantilla = (from b in db.Tb_ActividadesDetalles where (b.ID_plantilla == plantilla && b.Original == true) select b).ToList();
         List <Tb_ActividadesDetalles> nuevaLista = new List <Tb_ActividadesDetalles>();
         foreach (var item in detallesPlantilla)
         {
             Tb_ActividadesDetalles nuevoRegistro = new Tb_ActividadesDetalles();
             nuevoRegistro          = item;
             nuevoRegistro.Original = false;
             nuevoRegistro.ID_actividadSecundaria   = actividadsecundaria;
             nuevoRegistro.ID_actividadBeneficiario = actividadBeneficiario;
             nuevaLista.Add(nuevoRegistro);
         }
         db.SaveChanges();
         string result = "success";
         return(Json(result, JsonRequestBehavior.AllowGet));
     }
     catch
     {
         return(Json("error", JsonRequestBehavior.AllowGet));
     }
 }
        public ActionResult CrearActividadMasiva(int ID_Secundaria, string ID_CDI, int ID_Plantilla, string beneficiarios)
        {
            try
            {
                Tb_Usuarios   activeuser                  = Session["activeUser"] as Tb_Usuarios;
                List <string> lstbeneficiarios            = beneficiarios.Split(',').ToList <string>();
                List <Tb_ActividadesBeneficiarios> lstAdd = new List <Tb_ActividadesBeneficiarios>();
                var actividad = db.Tb_ActividadesSecundarias.Find(ID_Secundaria);
                var count     = 0;
                var parent    = 0;
                foreach (var itembenef in lstbeneficiarios)
                {
                    Tb_ActividadesBeneficiarios nuevaActividadBeneficiario = new Tb_ActividadesBeneficiarios();
                    nuevaActividadBeneficiario.LocalBeneficiaryID = itembenef;
                    nuevaActividadBeneficiario.FCPID = ID_CDI;

                    nuevaActividadBeneficiario.ID_eje                = actividad.Tb_ActividadesPrincipales.Tb_Categorias.ID_eje;
                    nuevaActividadBeneficiario.ID_categoria          = actividad.Tb_ActividadesPrincipales.ID_categoria;
                    nuevaActividadBeneficiario.ID_actividadPrincipal = actividad.ID_actividadPrincipal;

                    nuevaActividadBeneficiario.ID_actividadSecundaria = ID_Secundaria;
                    nuevaActividadBeneficiario.ID_plantilla           = ID_Plantilla;
                    nuevaActividadBeneficiario.ID_resultado           = 1;                  //por defecto
                    nuevaActividadBeneficiario.ID_precondicionTOC     = 1;                  //por defecto
                    nuevaActividadBeneficiario.Fecha = DateTime.UtcNow;                     //por defecto
                    nuevaActividadBeneficiario.Fecha_actualizacion = DateTime.UtcNow;       //por defecto
                    nuevaActividadBeneficiario.Comentarios         = "";                    //por defecto
                    nuevaActividadBeneficiario.ID_usuario          = activeuser.ID_usuario; //por defecto
                    if (count == 0)
                    {
                        nuevaActividadBeneficiario.parent = 0;    //por defecto
                        nuevaActividadBeneficiario.masiva = true; //por defecto
                    }
                    else
                    {
                        nuevaActividadBeneficiario.parent = parent; //por defecto
                        nuevaActividadBeneficiario.masiva = true;   //por defecto
                    }

                    db.Tb_ActividadesBeneficiarios.Add(nuevaActividadBeneficiario);
                    db.SaveChanges();
                    if (count == 0)
                    {
                        parent = nuevaActividadBeneficiario.ID_actividadBeneficiario;
                        count  = 1;
                    }

                    //Evaluamos si utilizara plantilla
                    if (ID_Plantilla != 0)
                    {
                        //buscamos detalles
                        List <Tb_ActividadesDetalles> nuevalista = new List <Tb_ActividadesDetalles>();
                        var detalles = (from a in db.Tb_ActividadesDetalles where (a.ID_plantilla == ID_Plantilla && a.Original == true) select a).ToList();
                        foreach (var item in detalles)
                        {
                            Tb_ActividadesDetalles nuevoreg = new Tb_ActividadesDetalles();
                            nuevoreg          = item;
                            nuevoreg.Original = false;
                            nuevoreg.ID_actividadSecundaria   = ID_Secundaria;
                            nuevoreg.ID_actividadBeneficiario = nuevaActividadBeneficiario.ID_actividadBeneficiario;
                            nuevalista.Add(nuevoreg);
                        }
                        db.Tb_ActividadesDetalles.AddRange(nuevalista);
                        db.SaveChanges();
                    }


                    //lstAdd.Add(nuevaActividadBeneficiario);
                }



                var result = new { mensaje = "success", id_actividadBeneficiario = parent };
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                var result = new { mensaje = "error" };
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }