//User like to be in your RVK (id)
        public ActionResult RequestBelong(int id)
        {
            if (!(AspNetUsersRoles.IsUserInRole("Administrator", User.Identity.Name) || AspNetUsersRoles.IsUserInRole("Maestro", User.Identity.Name) || AspNetUsersRoles.IsUserInRole("Estudiante", User.Identity.Name)))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            try
            {
                Guid             userid = new Guid(AspNetUsers.GetUserId(User.Identity.Name));
                investicEntities db     = new investicEntities();

                tbNetVirtualUserGroup tbnetVirtualUserGroup = new tbNetVirtualUserGroup();
                tbnetVirtualUserGroup.idNetVirtualUser    = userid;
                tbnetVirtualUserGroup.idNetVirtualGroup   = id;
                tbnetVirtualUserGroup.isOwner             = false;
                tbnetVirtualUserGroup.StateUserAceptGroup = 4;
                db.tbNetVirtualUserGroup.Add(tbnetVirtualUserGroup);
                db.SaveChanges();
                return(Json(new { rta = "Su solicitud ha sido enviada al creador de esta red." }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(new { rta = "Wrong" }, JsonRequestBehavior.AllowGet));
            }
        }
 public ActionResult SendInvitation(Guid id, int idgrp)
 {
     if (!(AspNetUsersRoles.IsUserInRole("Administrator", User.Identity.Name) || AspNetUsersRoles.IsUserInRole("Maestro", User.Identity.Name)))
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
     try
     {
         int nu = db.tbNetVirtualUser.Where(m => m.id == id).Count();
         if (nu == 0)
         {
             db.tbNetVirtualUser.Add(new tbNetVirtualUser()
             {
                 id = id, state = true
             });
             db.SaveChanges();
         }
         tbNetVirtualUserGroup tvug = new tbNetVirtualUserGroup()
         {
             idNetVirtualGroup   = idgrp,
             idNetVirtualUser    = id,
             StateUserAceptGroup = 3,
             isOwner             = false
         };
         db.tbNetVirtualUserGroup.Add(tvug);
         db.SaveChanges();
         return(Json(new { rta = "Solicitud enviada" }));
     }
     catch (Exception)
     {
         return(Json(new { rta = "Ocurrio un error inesperado" }));
     }
 }
        public ActionResult Create([Bind(Include = "id,name,description")] tbNetVirtualGroup tbNetVirtualGroup)
        {
            if (!(AspNetUsersRoles.IsUserInRole("Administrator", User.Identity.Name) || AspNetUsersRoles.IsUserInRole("Maestro", User.Identity.Name)))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ViewBag.ControllerName = "tbNetVirtualGroups";
            if (ModelState.IsValid)
            {
                List <FileMetaData> mdfiles = new List <FileMetaData>();
                DateTime            dn      = System.DateTime.Now;
                foreach (string item in Request.Files)
                {
                    HttpPostedFileBase file = Request.Files[item] as HttpPostedFileBase;
                    int length = file.ContentLength;
                    if (length > 0 && file != null)
                    {
                        byte[] buffer = new byte[length];
                        file.InputStream.Read(buffer, 0, length);
                        PropertyInfo propInfo = typeof(tbNetVirtualGroup).GetProperty(item);
                        propInfo.SetValue(tbNetVirtualGroup, buffer);
                        FileMetaData fmd = new FileMetaData()
                        {
                            FileId = item, CreatedOn = dn, ModifiedOn = dn, ContentType = file.ContentType, Size = length / 1024
                        };
                        mdfiles.Add(fmd);
                    }
                }
                tbNetVirtualGroup.state        = false;
                tbNetVirtualGroup.JsonMetadata = JsonConvert.SerializeObject(mdfiles);
                tbNetVirtualGroup.createDate   = System.DateTime.Now;
                db.tbNetVirtualGroup.Add(tbNetVirtualGroup);
                //---------------------------------
                Guid userid = new Guid(AspNetUsers.GetUserId(User.Identity.Name));
                tbNetVirtualUserGroup nvug = new tbNetVirtualUserGroup();
                nvug.idNetVirtualGroup   = tbNetVirtualGroup.id;
                nvug.idNetVirtualUser    = userid;
                nvug.isOwner             = true;
                nvug.StateUserAceptGroup = 0;
                db.tbNetVirtualUserGroup.Add(nvug);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(tbNetVirtualGroup));
        }