Exemple #1
0
        public ActionResult RegisterMod(string username)
        {
            db.Moderators.Add(new Moderator(username, AppHelper.GetAspUserID()));
            if (db.Users.Find(username) == null)
            {
                db.Users.Add(new User(username));
            }
            db.SaveChanges();

            return(RedirectToAction("app", "Home"));
        }
Exemple #2
0
        public void InjectCPM(string action, string roomID, string msgID, CriticalPointTypes type, string priority)
        {
            int i_roomID = Convert.ToInt32(roomID);
            int i_msgID  = Convert.ToInt32(msgID);

            using (SagletModel db = new SagletModel())
            {
                CriticalMsgPoints cpm = null;

                try
                {
                    switch (action)
                    {
                    case "add":
                        VMsg msg = db.Msgs.Find(i_msgID, i_roomID);
                        cpm          = new CriticalMsgPoints();
                        cpm.Type     = type;
                        cpm.Priority = priority;
                        msg.CriticalPoints.Add(cpm);
                        // save
                        db.SaveChanges();
                        // update clients
                        UpdateNewCP(roomID, cpm);
                        break;

                    case "remove":      // TODO - not supported yet -> need to inform modal and inform all clients on toolbar(remove from table and update numbers and colors)
                        cpm = db.CriticalMsgPoints.Find(i_msgID, i_roomID, type);
                        db.CriticalMsgPoints.Remove(cpm);
                        // save
                        db.SaveChanges();
                        // update clients
                        UpdateRemovedCP(roomID, cpm);
                        break;
                    }

                    UpdateCPModal(roomID, msgID, action, type, priority);
                    UpdateCPOutSiteModal(roomID, msgID);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
Exemple #3
0
        public void UpdateLike(int idOne, int idTwo, string type, CriticalPointTypes idLabel, string like)
        {
            int roomID = -1;

            using (SagletModel db = new SagletModel())
            {
                try
                {
                    switch (type)
                    {
                    case "msg":
                    {
                        roomID = idTwo;
                        CriticalMsgPoints cmp = db.CriticalMsgPoints.Find(idOne, idTwo, idLabel);
                        cmp.Like = (like == "like") ? true : false;
                        break;
                    }

                    case "act":
                    {
                        CriticalActionPoints cap = db.CriticalActionPoints.Find(idOne, idTwo, idLabel);
                        cap.Like = (like == "like") ? true : false;
                        roomID   = cap.Action.Tab.GroupID;
                        break;
                    }
                    }
                    // save
                    db.SaveChanges();
                    // update clients
                    UpdateLike(roomID.ToString(), type, idOne, idTwo, idLabel.ToString(), like);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
Exemple #4
0
        private List <Room> SyncUserRooms(string user, string roomsData)
        {
            List <Room> newRooms = new List <Room>();

            try
            {
                var       results   = JsonConvert.DeserializeObject <dynamic>(roomsData);
                Moderator moderator = db.Moderators.Find(user);
                if (moderator == null)
                {
                    moderator = new Moderator(user, AppHelper.GetAspUserID());
                }

                foreach (var item in results.rooms)
                {
                    string currUser   = Convert.ToString(item.creator).ToLower();
                    int    currRoomId = Convert.ToInt32(item.id);
                    Room   r          = db.Rooms.Find(currRoomId);
                    if (user == currUser || (r != null && !r.ModeratorsAllowed.Any(m => m.Username == user)))
                    {
                        if (r != null)
                        {
                            if (r.Name == null || r.Name.CompareTo(Convert.ToString(item.roomName).ToLower()) != 0)
                            {
                                r.Name = item.roomName;
                            }
                            if (r.Moderator.Username != moderator.Username && user == currUser)
                            {
                                r.Moderator = moderator;
                                r.ModeratorsAllowed.Add(moderator);
                                newRooms.Add(r);
                            }
                        }
                        else
                        {
                            Room room = new Room();
                            room.ID        = item.id;
                            room.Name      = item.roomName;
                            room.RoomGroup = new Group(room.ID);
                            foreach (var itemTab in item.tabs)
                            {
                                room.RoomGroup.Tabs.Add(new Tab(Convert.ToInt32(itemTab.Value)));
                            }

                            room.LastUpdate = Convert.ToDateTime(DateTime.Now.ToString("d"));
                            room.Moderator  = moderator;
                            room.ModeratorsAllowed.Add(moderator);
                            room.Sync = true;
                            newRooms.Add(room);
                            db.Rooms.Add(room);
                        }
                    }
                }
                db.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }
            return(newRooms);
        }