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")); }
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; } } }
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; } } }
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); }