Пример #1
0
        public ActionResult AddMembers()
        {
            GroupMemberCreateModel gc = new GroupMemberCreateModel();

            gc.users = new List <string> {
                "smit",
            };
            gc.owner = "MMR";
            gc.id    = "MMRsdp";

            var tsk = ApiRequester.requestToApi(gc, (string)Session["auth"], "groups/add", HttpMethod.Post);

            tsk.Wait();
            var res    = tsk.Result;;
            var reader = res.Content.ReadAsStringAsync();

            reader.Wait();
            var data = reader.Result;
            var id   = JsonConvert.DeserializeObject(data);

            if ((bool)id)
            {
                TempData["gid"] = "True";
            }
            else
            {
                TempData["gid"] = "false";
            }
            TempData["stat"] = "Completed";


            return(RedirectToAction("Index"));
        }
Пример #2
0
        public Boolean addMembers(GroupMemberCreateModel group)
        {
            /*con.ConnectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=RSSDB;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
             * int[] userid = new int[users.Length];
             * try
             * {
             *  using (con)
             *  {
             *      string command = "";
             *      SqlCommand cmd = new SqlCommand();
             *      SqlDataReader rdr;
             *      cmd.Connection = con;
             *      SqlParameter gid = new SqlParameter("@gid", id);
             *      command = "Select id from Group where Id=@gid";
             *      cmd.CommandText = command;
             *      cmd.Parameters.Add(gid);
             *      con.Open();
             *      rdr = cmd.ExecuteReader();
             *      if (rdr == null)
             *      {
             *          return false;
             *      }
             *      command = "Select id from User where username=@uname";
             *      cmd.CommandText = command;
             *      for (int i = 0; i < users.Length; i++)
             *      {
             *          SqlParameter uname = new SqlParameter("@uname", users[i]);
             *          cmd.Parameters.Add(uname);
             *          rdr = cmd.ExecuteReader();
             *          if (rdr != null)
             *          {
             *              userid[i] = (int)rdr["id"];
             *              rdr.Close();
             *          }
             *          else
             *          {
             *              return false;
             *          }
             *      }
             *      command = "INSERT INTO Group_Member(Id,userid,reqStatus) VALUES(@gid,@uid,0)";
             *      cmd.CommandText = command;
             *      cmd.Parameters.Add(gid);
             *      SqlParameter uid = new SqlParameter();
             *      uid.ParameterName = "@uid";
             *      for (int i = 0; i < users.Length; i++)
             *      {
             *          uid.Value = userid[i];
             *          cmd.Parameters.Add(uid);
             *          if (cmd.ExecuteNonQuery() <= 0)
             *          {
             *              return false;
             *          }
             *      }
             *      con.Close();
             *      return true;
             *
             *  }
             * }
             * catch (Exception ex)
             * {
             *  Console.Write("Errors: " + ex.Message);
             *  return false;
             * }*/

            //object[] ob = { group.id };
            GroupModel g = db.Groups.Find(group.id);

            if (g == null)
            {
                return(false);
            }
            if (g.owner != group.owner)
            {
                return(false);
            }


            List <GroupMemberModel> gms = new List <GroupMemberModel>();

            foreach (string uname in group.users)
            {
                if (db.Users.Find(uname) != null && db.GroupMembers.Find(group.id, uname) == null)
                {
                    GroupMemberModel gm = new GroupMemberModel();
                    gm.id         = group.id;
                    gm.username   = uname;
                    gm.reqStatus  = false;
                    g.reqPending += 1;
                    gms.Add(gm);
                }
            }
            if (db.GroupMembers.Find(group.id, group.owner) == null)
            {
                gms.Add(new GroupMemberModel()
                {
                    id = group.id, reqStatus = true, username = group.owner
                });
            }
            db.GroupMembers.AddRange(gms);
            db.Entry <GroupModel>(g).State = EntityState.Modified;
            db.SaveChanges();
            return(true);
        }