예제 #1
0
        public async Task <IActionResult> Delete([FromBody] ActiveUsers updatedActiveUser)
        {
            try
            {
                var userId = User
                             .Claims
                             .FirstOrDefault(c => c.Type == ClaimsConstants.USERID).Value;

                if (string.IsNullOrEmpty(userId))
                {
                    throw new NullReferenceException("UserId is missing");
                }

                var activeUser = await _applicationContext
                                 .ActiveUsers
                                 .FirstOrDefaultAsync(u =>
                                                      u.FkUserId == Guid.Parse(userId) &&
                                                      u.ActiveMode == updatedActiveUser.ActiveMode);

                if (activeUser != null)
                {
                    _applicationContext.Remove(activeUser);
                    await _applicationContext.SaveChangesAsync();
                }

                return(Ok());
            }
            catch (Exception e)
            {
                return(BadRequest(e.InnerException));
            }
        }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ActiveUsers locActiveUsers = new ActiveUsers();

            ActiveUsersList.DataSource = locActiveUsers.GetActiveUsers();
            ActiveUsersList.DataBind();
        }
예제 #3
0
        void SetCurrentUser(DbUser user)
        {
            if (user == null)
            {
                ClearCurrentUser(true);
            }
            else
            {
                var deadLogins = ActiveUsers.Where(u => u.Spid == SPID).ToArray();
                if (deadLogins.Length > 0)
                {
                    ActiveUsers.RemoveRange(deadLogins);
                }

                if (IsWebContext)
                {
                    user.LastOnlineWeb = this.Now;
                }
                else
                {
                    user.LastOnlineDesktop = this.Now;
                }

                if (!IsWebContext)
                {
                    ActiveUsers.Add(new DbActiveUser(user, this));
                }

                currentUser = user;

                SetCurrentUserTimeStamp(true);

                resetUserIsAdmin();
            }
        }
예제 #4
0
        protected override void Handle(FetchChannelsRequestPacket packet, Socket sender)
        {
            var data = packet.Data;

            if (data == null)
            {
                return;
            }

            // check whether request is valid
            ActiveUser activeUser = ActiveUsers.GetUser(sender);

            if (activeUser == null)
            {
                SendError(HttpStatusCode.Unauthorized, sender);
                return;
            }

            User user = userCrud.ReadOneById(activeUser.userId);

            // fetch channels that match search
            List <BaseChannelData> channels = channelCrud.ReadManyBase(x =>
                                                                       x.members.Contains(user._id) &&
                                                                       x.name.ToLower().Contains(data.search.ToLower())
                                                                       );

            var response = new FetchChannelsResponsePacket(new FetchChannelsResponsePacketData(
                                                               (int)HttpStatusCode.OK,
                                                               channels
                                                               ));

            Zephy.serverSocket.SendPacket(response, sender);
        }
예제 #5
0
        protected override void Handle(LoginAttemptPacket packet, Socket sender)
        {
            var data = packet.Data;

            if (data == null)
            {
                return;
            }

            // TODO: REMOVE, DEBUG LOGIN
            #region DEBUG
            if (data.identifier.StartsWith("test") && data.identifier.Length == 5)
            {
                int  num     = int.Parse(data.identifier[4].ToString());
                User dbgUser = userCrud.ReadMany().ToList()[num];
                data.identifier = dbgUser.identifier;
                data.password   = dbgUser.password;
            }
            #endregion

            if (ActiveUsers.IsLoggedIn(sender))
            {
                SendError(HttpStatusCode.Forbidden, sender);

                return;
            }
            // check whether the request is valid
            User user = userCrud.ReadOne(x => x.identifier == data.identifier);
            if (user == null || user.password != data.password)
            {
                SendError(HttpStatusCode.Unauthorized, sender);
                return;
            }

            // add user to list of logged in users
            bool addSuccess = ActiveUsers.AddActiveUser(new ActiveUser(user._id, sender));
            if (!addSuccess)
            {
                SendError(HttpStatusCode.Forbidden, sender);
                return;
            }

            // fetch the logging in user's session, or create new one if not exists
            Session session;
            if (Sessions.GetStateById(user._id) == SessionState.Invalid)
            {
                session = Sessions.CreateSession(user._id);
            }
            else
            {
                session = Sessions.GetSessionById(user._id);
            }

            // respond
            var successResponse = new LoginResponsePacket(new LoginResponsePacketData(
                                                              (int)HttpStatusCode.OK, user, session.accessToken
                                                              ));
            Zephy.serverSocket.SendPacket(successResponse, sender);
        }
예제 #6
0
        public ListedUser ReadOneListedById(string id)
        {
            BaseUser     baseUser = ReadOneBaseById(id);
            OnlineStatus status   = ActiveUsers.IsLoggedIn(baseUser._id) ?
                                    OnlineStatus.Online :
                                    OnlineStatus.Offline;

            return(new ListedUser(baseUser, status));
        }
예제 #7
0
        protected override void Handle(ModifyMembersRequestPacket packet, Socket sender)
        {
            var data = packet.Data;

            if (data == null)
            {
                return;
            }

            ListedUser user    = userCrud.ReadOneListedById(data.user);
            Channel    channel = channelCrud.ReadOneById(data.channel);

            if (user == null || channel == null)
            {
                SendError(HttpStatusCode.BadRequest, sender);
                return;
            }

            if (data.action == MemberAction.ADD_MEMBER)
            {
                if (channel.members.Contains(user._id))
                {
                    SendError(HttpStatusCode.Conflict, sender);
                    return;
                }
                channel.members.Add(user._id);
                channelCrud.UpdateOne(channel._id, channel);
            }
            else if (data.action == MemberAction.REMOVE_MEMBER)
            {
                if (!channel.members.Contains(user._id))
                {
                    SendError(HttpStatusCode.NotFound, sender);
                    return;
                }
                channel.members.Remove(user._id);
                channelCrud.UpdateOne(channel._id, channel);
            }


            var response = new ModifyMembersResponsePacket(new ModifyMembersResponsePacketData(
                                                               (int)HttpStatusCode.OK, user, channel._id, data.action
                                                               ));

            if (ActiveUsers.IsLoggedIn(data.user))
            {
                Zephy.serverSocket.SendPacket(response, ActiveUsers.GetUser(data.user).clientSocket);
            }

            foreach (string memberId in channel.members)
            {
                if (ActiveUsers.IsLoggedIn(memberId))
                {
                    Zephy.serverSocket.SendPacket(response, ActiveUsers.GetUser(memberId).clientSocket);
                }
            }
        }
예제 #8
0
        protected override void Handle(SendMessageRequestPacket packet, Socket sender)
        {
            var data = packet.Data;

            if (data == null)
            {
                return;
            }

            // check if request is valid
            Channel channel = channelCrud.ReadOneById(data.forChannel);

            if (
                string.IsNullOrWhiteSpace(data.forChannel) ||
                string.IsNullOrWhiteSpace(data.content) ||
                channel == null)
            {
                SendError(HttpStatusCode.BadRequest, sender);
                return;
            }

            ActiveUser senderUser = ActiveUsers.GetUser(sender);

            if (senderUser == null || !channel.members.Contains(senderUser.userId))
            {
                SendError(HttpStatusCode.Unauthorized, sender);
                return;
            }


            // add new message to database
            var newMessage = new Message
            {
                content = data.content,
                sentAt  = Util.ToUnixTimestamp(DateTime.Now),
                author  = senderUser.userId,
                channel = channel._id,
            };

            messageCrud.CreateOne(newMessage);

            channelCrud.UpdateOne(channel._id, channel);

            // send response to members of channel (only if success!)
            var responsePacket = new SendMessageResponsePacket(new SendMessageResponsePacketData(
                                                                   (int)HttpStatusCode.OK, messageCrud.ReadOnePopulated(newMessage._id), channel._id
                                                                   ));

            foreach (string memberId in channel.members)
            {
                if (ActiveUsers.IsLoggedIn(memberId))
                {
                    Zephy.serverSocket.SendPacket(responsePacket, ActiveUsers.GetUser(memberId).clientSocket);
                }
            }
        }
예제 #9
0
        public PaletteViewModel()
        {
            //PieSeries
            this.FacebookStatistics = new ObservableCollection<PaletteModel>();
            FacebookStatistics.Add(new PaletteModel { Country = "Finland", UsersCount = 12.68 });
            FacebookStatistics.Add(new PaletteModel { Country = "Germany", UsersCount = 10.59 });
            FacebookStatistics.Add(new PaletteModel { Country = "Poland", UsersCount = 11.16 });
            FacebookStatistics.Add(new PaletteModel { Country = "France", UsersCount = 10.48 });
            FacebookStatistics.Add(new PaletteModel { Country = "Australia", UsersCount = 10.13 });
            FacebookStatistics.Add(new PaletteModel { Country = "Brazil", UsersCount = 7.99 });
            if (AnalyticsInfo.VersionInfo.DeviceFamily != "Windows.Mobile")
            {
                FacebookStatistics.Add(new PaletteModel { Country = "Russia", UsersCount = 6.25 });
                FacebookStatistics.Add(new PaletteModel { Country = "Israel", UsersCount = 10.50 });
            }

            //Active User in Year of 2012,2014,2015
            this.Users = new ObservableCollection<PaletteModel>();
            Users.Add(new PaletteModel { SocialSite = "Facebook", Year2012 = 788, Year2014 = 1240, Year2015 = 1550 });
            Users.Add(new PaletteModel { SocialSite = "QZone", Year2012 = 310, Year2014 = 632, Year2015 = 900 });
            Users.Add(new PaletteModel { SocialSite = "Google+", Year2012 = 500, Year2014 = 743, Year2015 = 890 });
            Users.Add(new PaletteModel { SocialSite = "Twitter", Year2012 = 250, Year2014 = 540, Year2015 = 784 });
            Users.Add(new PaletteModel { SocialSite = "Skype", Year2012 = 120, Year2014 = 300, Year2015 = 520 });
            Users.Add(new PaletteModel { SocialSite = "WeChat", Year2012 = 180, Year2014 = 390, Year2015 = 550 });
            Users.Add(new PaletteModel { SocialSite = "Instagram", Year2012 = 120, Year2014 = 250, Year2015 = 850 });
            Users.Add(new PaletteModel { SocialSite = "WhatsApp", Year2012 = 100, Year2014 = 300, Year2015 = 300 });

            //Active Users
            this.ActiveUsers = new ObservableCollection<PaletteModel>();
            ActiveUsers.Add(new PaletteModel { SocialSite = "Twitter", UsersCount = 302 });
            ActiveUsers.Add(new PaletteModel { SocialSite = "Skype", UsersCount = 300 });
            ActiveUsers.Add(new PaletteModel { SocialSite = "WeChat", UsersCount = 559 });
            if (AnalyticsInfo.VersionInfo.DeviceFamily != "Windows.Mobile")
            {
                ActiveUsers.Add(new PaletteModel { SocialSite = "Google+", UsersCount = 650 });
                ActiveUsers.Add(new PaletteModel { SocialSite = "WhatsApp", UsersCount = 800 });
            }
            ActiveUsers.Add(new PaletteModel { SocialSite = "Facebook", UsersCount = 1184 });

            // Registered users
            this.RegisteredUsers = new ObservableCollection<PaletteModel>();
            RegisteredUsers.Add(new PaletteModel { SocialSite = "Twitter", UsersCount = 500 });
            RegisteredUsers.Add(new PaletteModel { SocialSite = "Skype", UsersCount = 663 });
            RegisteredUsers.Add(new PaletteModel { SocialSite = "WeChat", UsersCount = 1120 });
            if (AnalyticsInfo.VersionInfo.DeviceFamily != "Windows.Mobile")
            {
                RegisteredUsers.Add(new PaletteModel { SocialSite = "Google+", UsersCount = 540 });
                RegisteredUsers.Add(new PaletteModel { SocialSite = "WhatsApp", UsersCount = 920 });
            }
            RegisteredUsers.Add(new PaletteModel { SocialSite = "Facebook", UsersCount = 1600 });
        }       
예제 #10
0
        public List <ListedUser> ToListed(List <BaseUser> users)
        {
            List <ListedUser> listed = new List <ListedUser>();

            foreach (BaseUser u in users)
            {
                OnlineStatus status = ActiveUsers.IsLoggedIn(u._id) ?
                                      OnlineStatus.Online :
                                      OnlineStatus.Offline;
                listed.Add(new ListedUser(u, status));
            }

            return(listed);
        }
예제 #11
0
 void ClearCurrentUser(bool saveChanges)
 {
     if (currentUser != null)
     {
         var toRemove = ActiveUsers.Where(u => u.Spid == SPID).ToArray();
         if (toRemove.Length > 0)
         {
             ActiveUsers.RemoveRange(toRemove);
         }
         SetCurrentUserTimeStamp(saveChanges);
         currentUser = null;
         resetUserIsAdmin();
     }
 }
        // validates user's guid then refreshes user's ttl
        public bool ValidateUser(Guid guid)
        {
            bool userIsValid = false;

            lock (syncRoot)
            {
                if (ActiveUsers.ContainsKey(guid))
                {
                    userIsValid = true;
                    ActiveUsers.RefreshUser(guid);
                }
            }
            return(userIsValid);
        }
예제 #13
0
        public async Task <IActionResult> Post([FromBody] ActiveUsers updatedActiveUser)
        {
            try
            {
                var userId = User
                             .Claims
                             .FirstOrDefault(c => c.Type == ClaimsConstants.USERID).Value;

                if (string.IsNullOrEmpty(userId))
                {
                    throw new NullReferenceException("UserId is missing");
                }

                var activeUser = await _applicationContext
                                 .ActiveUsers
                                 .FirstOrDefaultAsync(u =>
                                                      u.FkUserId == Guid.Parse(userId) &&
                                                      u.ActiveMode == updatedActiveUser.ActiveMode);

                if (activeUser != null)
                {
                    activeUser.DatetimeLastUpdate = DateTime.UtcNow;
                    activeUser.LocationLatitude   = updatedActiveUser.LocationLatitude;
                    activeUser.LocationLongitude  = updatedActiveUser.LocationLongitude;
                    await _applicationContext.SaveChangesAsync();

                    return(Ok());
                }

                var newActiveUser = new ActiveUsers()
                {
                    Id                 = Guid.NewGuid(),
                    ActiveMode         = updatedActiveUser.ActiveMode,
                    DatetimeLastUpdate = DateTime.UtcNow,
                    FkUserId           = Guid.Parse(userId),
                    LocationLatitude   = updatedActiveUser.LocationLatitude,
                    LocationLongitude  = updatedActiveUser.LocationLongitude,
                };

                _applicationContext.Add(newActiveUser);
                await _applicationContext.SaveChangesAsync();

                return(Ok());
            }
            catch (Exception e)
            {
                return(BadRequest(e.InnerException));
            }
        }
예제 #14
0
 public Guid AddUser(string userName)
 {
     lock (syncRoot)
     {
         if (ActiveUsers.Count(entry => entry.Value.Item1 == userName) == 0)
         {
             Guid guid = Guid.NewGuid();
             ActiveUsers.Add(guid, new Tuple <string, DateTime>(userName, DateTime.Now));
             return(guid);
         }
         else
         {
             ActiveUsers.RefreshUser(userName);
             return(ActiveUsers.Where(entry => entry.Value.Item1 == userName).First().Key);
         }
     }
 }
예제 #15
0
        protected override void Handle(CreateChannelRequestPacket packet, Socket sender)
        {
            var data = packet.Data;

            if (data == null)
            {
                return;
            }

            // check whether request is valid
            if (data.withMembers.Count <= 1 || Util.HasDuplicates(data.withMembers))
            {
                SendError(HttpStatusCode.BadRequest, sender);
                return;
            }

            ActiveUser user = ActiveUsers.GetUser(sender);

            if (user == null)
            {
                SendError(HttpStatusCode.Unauthorized, sender);
                return;
            }

            if (channelCrud.Exists(data.withMembers))
            {
                SendError(HttpStatusCode.Conflict, sender);
                return;
            }

            // create actual channel
            var newChannel = new Channel()
            {
                name    = data.name,
                members = data.withMembers,
            };

            channelCrud.CreateOne(newChannel);

            var successResponse = new CreateChannelResponsePacket(new CreateChannelResponsePacketData(
                                                                      (int)HttpStatusCode.OK,
                                                                      newChannel
                                                                      ));

            Zephy.serverSocket.SendPacket(successResponse, sender);
        }
예제 #16
0
        protected override void Handle(FetchUserListRequestPacket packet, Socket sender)
        {
            var data = packet.Data;

            if (data == null)
            {
                return;
            }
            data.search = data.search.ToLower();

            ActiveUser activeUser = ActiveUsers.GetUser(sender);

            if (activeUser == null)
            {
                SendError(HttpStatusCode.Unauthorized, sender);
                return;
            }

            User user = userCrud.ReadOneById(activeUser.userId);

            // Fetch all users that match the search & aren't the requester
            List <ListedUser> users = userCrud.ReadManyListedPaginated(
                data.page, PAGE_SIZE,
                x =>
                (x.identifier.ToLower().Contains(data.search) ||
                 x.fullName.ToLower().Contains(data.search)) &&
                x._id != user._id
                );



            // remove excludes
            if (data.optionalExcludeIds != null)
            {
                users.RemoveAll(x => data.optionalExcludeIds.Contains(x._id));
            }

            var response = new FetchUserListResponsePacket(new FetchUserListResponsePacketData(
                                                               (int)HttpStatusCode.OK,
                                                               data.page,
                                                               users
                                                               ));

            Zephy.serverSocket.SendPacket(response, sender);
        }
예제 #17
0
        protected override void Handle(ConfirmSessionRequestPacket packet, Socket sender)
        {
            var data = packet.Data;

            if (data == null)
            {
                return;
            }

            // Check whether sessions doesn't exist/is invalid
            Session session = Sessions.GetSessionByToken(data.accessToken);

            if (Sessions.GetState(session) == SessionState.Invalid)
            {
                SendError(HttpStatusCode.Unauthorized, sender);
                return;
            }

            // Check whether user exists
            User user = userCrud.ReadOneById(session.userId);

            if (user == null)
            {
                SendError(HttpStatusCode.Unauthorized, sender);
                return;
            }

            // Add to active users
            bool addSuccess = ActiveUsers.AddActiveUser(new ActiveUser(user._id, sender));

            if (!addSuccess)
            {
                SendError(HttpStatusCode.Forbidden, sender);
                return;
            }

            // Respond with confirmed session, client can instantly redirect
            var successResponse = new ConfirmSessionResponsePacket(new ConfirmSessionResponsePacketData(
                                                                       (int)HttpStatusCode.OK,
                                                                       user
                                                                       ));

            Zephy.serverSocket.SendPacket(successResponse, sender);
        }
예제 #18
0
        private static void HandelActiveUserSession(ActionExecutingContext filterContext, BaseController controller)
        {
            var controllerValue = filterContext.RequestContext.RouteData.Values["controller"].ToString().ToLower();
            var actionValue     = filterContext.RequestContext.RouteData.Values["action"].ToString().ToLower();

            if (HttpContext.Current.Session != null)
            {
                if (HttpContext.Current.Session.IsNewSession)
                {
                    string cookieHeader = filterContext.HttpContext.Request.Headers["Cookie"];
                    if ((cookieHeader != null) && (cookieHeader.IndexOf("ASP.NET_SessionId") >= 0))
                    {
                        if (filterContext.HttpContext.Request.IsAuthenticated)
                        {
                            if (ActiveUsers.Count > 0 && !string.IsNullOrEmpty(controller.CurrentUserId))
                            {
                                ActiveUsers.Remove(controller.CurrentUserId);
                            }

                            filterContext.HttpContext.GetOwinContext().Authentication.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
                            filterContext.HttpContext.Session["WelcomeMessage"] = null;
                            filterContext.Result = new RedirectResult("/Account/Login");
                        }
                    }
                }
                else if (filterContext.HttpContext.Request.IsAuthenticated && !string.IsNullOrEmpty(controller.CurrentUserId) && !ActiveUsers.ContainsKey(controller.CurrentUserId))
                {
                    var blPerson = new BLPerson();
                    var person   = blPerson.GetPersonByUserId(controller.CurrentUserId);
                    ActiveUsers.Add(controller.CurrentUserId, person);
                }
            }

            if (actionValue.ToLower() == "tabclosed" || actionValue.ToLower() == "logoff")
            {
                if (ActiveUsers.Count > 0 && !string.IsNullOrEmpty(controller.CurrentUserId))
                {
                    ActiveUsers.Remove(controller.CurrentUserId);
                }
            }
        }
예제 #19
0
        protected override void Handle(ModifyChannelRequestPacket packet, Socket sender)
        {
            var data = packet.Data;

            if (data == null)
            {
                return;
            }

            Channel channel = channelCrud.ReadOneById(data.channel);

            if (channel == null)
            {
                SendError(HttpStatusCode.NotFound, sender);
                return;
            }

            if (data.data.Length < 2 && data.data.Length > 32)
            {
                SendError(HttpStatusCode.BadRequest, sender);
                return;
            }

            channel.name = data.data;
            channelCrud.UpdateOne(channel._id, channel);

            var response = new ModifyChannelResponsePacket(new ModifyChannelResponsePacketData(
                                                               (int)HttpStatusCode.OK, channel._id, data.action, data.data
                                                               ));

            foreach (string memberId in channel.members)
            {
                if (ActiveUsers.IsLoggedIn(memberId))
                {
                    Zephy.serverSocket.SendPacket(response, ActiveUsers.GetUser(memberId).clientSocket);
                }
            }
        }
예제 #20
0
        internal override async Task RunEvent()
        {
            if (!_reported)
            {
                Logger.Log("Attempting to give compliment...", "compliments");
            }
            if (ActiveUsers.Any())
            {
                var usr = ActiveUsers[RNG.Next(ActiveUsers.Count)];
                Logger.Log($"Active user found: {usr.User.Username}", "compliments");
                var comp = new ComplimentCommand();
                await comp.Compliment(usr.User);

                _reported = false;
            }
            else
            {
                if (!_reported)
                {
                    Logger.Log("No active users.", "compliments", LogOrigin.SYS, LogType.WRN);
                }
                _reported = true;
            }
        }
        private messageActiveUsers findActive(Conversation conversation)
        {
            messageActiveUsers mActive = new messageActiveUsers();

            if (logUsers.Count > 0)
            {
                List <string> uniqueUsers = logUsers.Distinct().ToList();

                foreach (string us in uniqueUsers)
                {
                    int         count  = logUsers.Where(s => s == us).Count();
                    ActiveUsers acUser = new ActiveUsers()
                    {
                        name = us, times = count
                    };
                    activeUsers.Add(acUser);
                }

                mActive.mostActiveUser = activeUsers[0].name;
                mActive.activeUsers    = activeUsers;
            }

            return(mActive);
        }
예제 #22
0
 public AtlasUser Lookup(int handle)
 {
     return(ActiveUsers.FirstOrDefault(self => self.Handle == handle));
 }
예제 #23
0
        private async void Load()
        {
            Logger.Info("[Managers] Loading in all managers, one moment please...");

            var loaded = 0;

            foreach (var type in Assembly.GetExecutingAssembly().GetExportedTypes())
            {
                if (type.BaseType == null)
                {
                    continue;
                }
                if (!type.BaseType.IsGenericType)
                {
                    continue;
                }

                var generic = type.BaseType.GetGenericTypeDefinition();

                if (generic != typeof(Manager <>) || type == typeof(Manager <>))
                {
                    continue;
                }

                LoadManager(type);

                loaded++;
            }

            foreach (var manager in Managers)
            {
                var method = manager.Key.GetMethod("Begin", BindingFlags.Public | BindingFlags.Instance);

                method?.Invoke(manager.Value, null);
            }

            Logger.Info($"[Managers] Successfully loaded in {loaded} manager(s)!");

            AttachTickHandler(SaveTask);

            EventRegistry["rconCommand"] += new Action <string, List <object> >(OnRconCommand);
            EventRegistry["chat:global"] += new Action <ExpandoObject>(options =>
                                                                       new List <Player>(new PlayerList()).ForEach(self => self.TriggerEvent("chat:addMessage", options)));

            EventSystem.GetModule().Attach("event:global", new EventCallback(metadata =>
            {
                foreach (var user in ActiveUsers)
                {
                    user.Send(metadata.Find <string>(0), metadata.AsEnumerable().Skip(1).ToArray());
                }

                return(null);
            }));

            EventSystem.GetModule().Attach("report:create", new AsyncEventCallback(async metadata =>
            {
                var user = ActiveUsers.FirstOrDefault(self => self.Handle == metadata.Sender);

                if (user == null)
                {
                    return(null);
                }

                var id     = TagId.Generate(5);
                var embeds = new JsonBuilder().Add("_", new Dictionary <string, object>
                {
                    ["color"]       = "32960",
                    ["title"]       = $"{metadata.Find<string>(0)} . {metadata.Find<string>(1)}",
                    ["description"] = string.Join("\n",
                                                  $"{metadata.Find<string>(2)}",
                                                  "",
                                                  $"● CitizenFX.Log [`View`](https://societyrp.se/reports/{id}/log)",
                                                  $"● Report ID [`{id}`](https://societyrp.se/reports/{id})",
                                                  $"● Användare `{user.Seed}`"
                                                  ),
                    ["footer"] = new Dictionary <string, object>()
                    {
                        ["text"] = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")
                    },
                    ["url"] = "https://societyrp.se"
                });
                var data = new JsonBuilder().Add("content", "").Add("username", $"Report System | {id}")
                           .Add("embeds", embeds.ToCollection()).Build();

                await RequestHttp(
                    "https://discordapp.com/api/webhooks/551205130272374802/xMk9kdI3TpbEh-7pNSfUOICpYhjZDOfdQ5WC75Pop6kAFDwHrmpAOlgmDjZ7dwnRSPCA",
                    data, new Dictionary <string, string>
                {
                    ["Length"]       = data.Length.ToString(),
                    ["Content-Type"] = "application/json"
                });


                return(null);
            }));
        }
예제 #24
0
        public PaletteViewModel()
        {
            this.PaletteList = new ObservableCollection <ChartColorPalette>();
            PaletteList.Add(ChartColorPalette.Metro);
            PaletteList.Add(ChartColorPalette.AutumnBrights);
            PaletteList.Add(ChartColorPalette.FloraHues);
            PaletteList.Add(ChartColorPalette.Pineapple);
            PaletteList.Add(ChartColorPalette.TomatoSpectrum);
            PaletteList.Add(ChartColorPalette.RedChrome);
            PaletteList.Add(ChartColorPalette.BlueChrome);
            PaletteList.Add(ChartColorPalette.PurpleChrome);
            PaletteList.Add(ChartColorPalette.GreenChrome);
            PaletteList.Add(ChartColorPalette.Elite);
            PaletteList.Add(ChartColorPalette.LightCandy);
            PaletteList.Add(ChartColorPalette.SandyBeach);

            //PieSeries
            this.FacebookStatistics = new ObservableCollection <PaletteModel>();
            FacebookStatistics.Add(new PaletteModel {
                Country = "Finland", UsersCount = 12.68
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "Germany", UsersCount = 10.59
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "Poland", UsersCount = 11.16
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "France", UsersCount = 10.48
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "Australia", UsersCount = 10.13
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "Brazil", UsersCount = 7.99
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "Switzerland", UsersCount = 7.25
            });
            if (AnalyticsInfo.VersionInfo.DeviceFamily != "Windows.Mobile")
            {
                FacebookStatistics.Add(new PaletteModel {
                    Country = "Russia", UsersCount = 6.25
                });
                FacebookStatistics.Add(new PaletteModel {
                    Country = "Israel", UsersCount = 10.50
                });
            }

            //Active User in Year of 2012,2014,2015
            this.Users = new ObservableCollection <PaletteModel>();
            Users.Add(new PaletteModel {
                SocialSite = "Facebook", Year2012 = 788, Year2014 = 1440, Year2015 = 1336
            });
            Users.Add(new PaletteModel {
                SocialSite = "QZone", Year2012 = 210, Year2014 = 632, Year2015 = 629
            });
            Users.Add(new PaletteModel {
                SocialSite = "WhatsApp", Year2012 = 800, Year2014 = 800, Year2015 = 600
            });
            Users.Add(new PaletteModel {
                SocialSite = "WeChat", Year2012 = 668, Year2014 = 668, Year2015 = 468
            });
            Users.Add(new PaletteModel {
                SocialSite = "Google+", Year2012 = 549, Year2014 = 549, Year2015 = 343
            });
            Users.Add(new PaletteModel {
                SocialSite = "Twitter", Year2012 = 540, Year2014 = 540, Year2015 = 284
            });
            Users.Add(new PaletteModel {
                SocialSite = "Instagram", Year2012 = 302, Year2014 = 302, Year2015 = 300
            });
            Users.Add(new PaletteModel {
                SocialSite = "Skype", Year2012 = 300, Year2014 = 300, Year2015 = 300
            });

            //Active Users
            this.ActiveUsers = new ObservableCollection <PaletteModel>();
            ActiveUsers.Add(new PaletteModel {
                SocialSite = "Twitter", UsersCount = 302
            });
            ActiveUsers.Add(new PaletteModel {
                SocialSite = "WeChat", UsersCount = 559
            });
            ActiveUsers.Add(new PaletteModel {
                SocialSite = "QZone", UsersCount = 668
            });
            ActiveUsers.Add(new PaletteModel {
                SocialSite = "Skype", UsersCount = 300
            });

            if (AnalyticsInfo.VersionInfo.DeviceFamily != "Windows.Mobile")
            {
                ActiveUsers.Add(new PaletteModel {
                    SocialSite = "Instagram", UsersCount = 300
                });
                ActiveUsers.Add(new PaletteModel {
                    SocialSite = "Google+", UsersCount = 540
                });
                ActiveUsers.Add(new PaletteModel {
                    SocialSite = "WhatsApp", UsersCount = 800
                });
            }
            ActiveUsers.Add(new PaletteModel {
                SocialSite = "Facebook", UsersCount = 1184
            });

            // Registered users
            this.RegisteredUsers = new ObservableCollection <PaletteModel>();
            RegisteredUsers.Add(new PaletteModel {
                SocialSite = "Twitter", UsersCount = 500
            });
            RegisteredUsers.Add(new PaletteModel {
                SocialSite = "WeChat", UsersCount = 1120
            });
            RegisteredUsers.Add(new PaletteModel {
                SocialSite = "Skype", UsersCount = 663
            });
            RegisteredUsers.Add(new PaletteModel {
                SocialSite = "QZone", UsersCount = 1000
            });
            if (AnalyticsInfo.VersionInfo.DeviceFamily != "Windows.Mobile")
            {
                RegisteredUsers.Add(new PaletteModel {
                    SocialSite = "Google+", UsersCount = 540
                });
                RegisteredUsers.Add(new PaletteModel {
                    SocialSite = "Instagram", UsersCount = 300
                });
                RegisteredUsers.Add(new PaletteModel {
                    SocialSite = "WhatsApp", UsersCount = 800
                });
            }
            RegisteredUsers.Add(new PaletteModel {
                SocialSite = "Facebook", UsersCount = 2000
            });
        }
예제 #25
0
        public ViewModel()
        {
            this.PaletteList = new ObservableCollection <string>();
            PaletteList.Add("Metro");
            PaletteList.Add("AutumnBrights");
            PaletteList.Add("Florahues");
            PaletteList.Add("Pineapple");
            PaletteList.Add("TomotoSpectrum");
            PaletteList.Add("RedChrome");
            PaletteList.Add("BlueChrome");
            PaletteList.Add("PurpleChrome");
            PaletteList.Add("GreenChrome");
            PaletteList.Add("Elite");
            PaletteList.Add("LightCandy");
            PaletteList.Add("SandyBeach");

            //PieSeries
            this.CountryStatus = new ObservableCollection <Model>();
            CountryStatus.Add(new Model {
                Country = "Finland", Status = 12.68
            });
            CountryStatus.Add(new Model {
                Country = "Germany", Status = 10.59
            });
            CountryStatus.Add(new Model {
                Country = "Poland", Status = 11.16
            });
            CountryStatus.Add(new Model {
                Country = "France", Status = 10.48
            });
            CountryStatus.Add(new Model {
                Country = "Australia", Status = 10.13
            });
            CountryStatus.Add(new Model {
                Country = "Israel", Status = 10.50
            });
            CountryStatus.Add(new Model {
                Country = "Brazil", Status = 7.99
            });
            CountryStatus.Add(new Model {
                Country = "Switzerland", Status = 7.25
            });
            CountryStatus.Add(new Model {
                Country = "Russia", Status = 6.25
            });
            CountryStatus.Add(new Model {
                Country = "Singapore", Status = 5.90
            });

            //Active User in Year of 2012,2014,2015
            this.AnnualStatus = new ObservableCollection <Model>();
            AnnualStatus.Add(new Model {
                SocialNetwork = "Facebook", Year2012 = 788, Year2014 = 1440, Year2015 = 1336
            });
            AnnualStatus.Add(new Model {
                SocialNetwork = "QZone", Year2012 = 210, Year2014 = 632, Year2015 = 629
            });
            AnnualStatus.Add(new Model {
                SocialNetwork = "WhatsApp", Year2012 = 800, Year2014 = 800, Year2015 = 600
            });
            AnnualStatus.Add(new Model {
                SocialNetwork = "WeChat", Year2012 = 668, Year2014 = 668, Year2015 = 468
            });
            AnnualStatus.Add(new Model {
                SocialNetwork = "Google+", Year2012 = 549, Year2014 = 549, Year2015 = 343
            });
            AnnualStatus.Add(new Model {
                SocialNetwork = "Twitter", Year2012 = 540, Year2014 = 540, Year2015 = 284
            });
            AnnualStatus.Add(new Model {
                SocialNetwork = "Instagram", Year2012 = 302, Year2014 = 302, Year2015 = 300
            });
            AnnualStatus.Add(new Model {
                SocialNetwork = "Skype", Year2012 = 300, Year2014 = 300, Year2015 = 300
            });

            //Active Users
            this.ActiveUsers = new ObservableCollection <Model>();
            ActiveUsers.Add(new Model {
                SocialNetwork = "Twitter", Status = 302
            });
            ActiveUsers.Add(new Model {
                SocialNetwork = "WeChat", Status = 559
            });
            ActiveUsers.Add(new Model {
                SocialNetwork = "Instagram", Status = 300
            });
            ActiveUsers.Add(new Model {
                SocialNetwork = "Skype", Status = 300
            });
            ActiveUsers.Add(new Model {
                SocialNetwork = "WhatsApp", Status = 800
            });
            ActiveUsers.Add(new Model {
                SocialNetwork = "Google+", Status = 540
            });
            ActiveUsers.Add(new Model {
                SocialNetwork = "QZone", Status = 668
            });
            ActiveUsers.Add(new Model {
                SocialNetwork = "Facebook", Status = 1184
            });

            // Registered users
            this.RegisteredUsers = new ObservableCollection <Model>();
            RegisteredUsers.Add(new Model {
                SocialNetwork = "Twitter", Status = 500
            });
            RegisteredUsers.Add(new Model {
                SocialNetwork = "WeChat", Status = 1120
            });
            RegisteredUsers.Add(new Model {
                SocialNetwork = "Instagram", Status = 300
            });
            RegisteredUsers.Add(new Model {
                SocialNetwork = "Skype", Status = 663
            });
            RegisteredUsers.Add(new Model {
                SocialNetwork = "WhatsApp", Status = 800
            });
            RegisteredUsers.Add(new Model {
                SocialNetwork = "Google+", Status = 540
            });
            RegisteredUsers.Add(new Model {
                SocialNetwork = "QZone", Status = 1000
            });
            RegisteredUsers.Add(new Model {
                SocialNetwork = "Facebook", Status = 2000
            });
        }
 public string GetUserNameByGuid(Guid guid)
 {
     return(ActiveUsers.Where(entry => entry.Key == guid).FirstOrDefault().Value.Item1);
 }
예제 #27
0
 internal void FetchActiveUsers(ActiveUsers user, SafeDataReader dr)
 {
     user.DisplayName = dr.GetString("DisplayName");
     user.UserName = dr.GetString("UserName");
     user.Roles = dr.GetString("Roles");
     user.Login = dr.GetDateTime("Login").ToString("dd MMM yyyy hh:mm:ss tt");
     user.Duration = dr.GetString("Duration");
     user.Logout = (dr.GetDateTime("LogoutOn") == DateTime.MinValue) ? string.Empty : dr.GetDateTime("LogoutOn").ToString("dd MMM yyyy hh:mm:ss tt");
 }
예제 #28
0
        public PaletteViewModel()
        {
            this.PaletteList = new ObservableCollection <ChartColorPalette>();
            PaletteList.Add(ChartColorPalette.Metro);
            PaletteList.Add(ChartColorPalette.AutumnBrights);
            PaletteList.Add(ChartColorPalette.FloraHues);
            PaletteList.Add(ChartColorPalette.Pineapple);
            PaletteList.Add(ChartColorPalette.TomotoSpectrum);
            PaletteList.Add(ChartColorPalette.RedChrome);
            PaletteList.Add(ChartColorPalette.BlueChrome);
            PaletteList.Add(ChartColorPalette.PurpleChrome);
            PaletteList.Add(ChartColorPalette.GreenChrome);
            PaletteList.Add(ChartColorPalette.Elite);
            PaletteList.Add(ChartColorPalette.LightCandy);
            PaletteList.Add(ChartColorPalette.SandyBeach);
            PaletteList.Add(ChartColorPalette.Custom);

            //PieSeries
            this.FacebookStatistics = new ObservableCollection <PaletteModel>();
            FacebookStatistics.Add(new PaletteModel {
                Country = "Finland", UsersCount = 12.68
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "Germany", UsersCount = 10.59
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "Poland", UsersCount = 11.16
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "France", UsersCount = 10.48
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "Australia", UsersCount = 10.13
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "Brazil", UsersCount = 7.99
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "Russia", UsersCount = 6.25
            });
            FacebookStatistics.Add(new PaletteModel {
                Country = "Israel", UsersCount = 10.50
            });

            //Active User in Year of 2012,2014,2015
            this.Users = new ObservableCollection <PaletteModel>();
            Users.Add(new PaletteModel {
                SocialSite = "Facebook", Year2012 = 788, Year2014 = 1240, Year2015 = 1550
            });
            Users.Add(new PaletteModel {
                SocialSite = "QZone", Year2012 = 310, Year2014 = 632, Year2015 = 900
            });
            Users.Add(new PaletteModel {
                SocialSite = "Google+", Year2012 = 500, Year2014 = 743, Year2015 = 890
            });
            Users.Add(new PaletteModel {
                SocialSite = "Twitter", Year2012 = 250, Year2014 = 540, Year2015 = 784
            });
            Users.Add(new PaletteModel {
                SocialSite = "Skype", Year2012 = 120, Year2014 = 300, Year2015 = 520
            });
            Users.Add(new PaletteModel {
                SocialSite = "WeChat", Year2012 = 180, Year2014 = 390, Year2015 = 550
            });
            Users.Add(new PaletteModel {
                SocialSite = "Instagram", Year2012 = 120, Year2014 = 250, Year2015 = 850
            });
            Users.Add(new PaletteModel {
                SocialSite = "WhatsApp", Year2012 = 100, Year2014 = 300, Year2015 = 300
            });

            //Active Users
            this.ActiveUsers = new ObservableCollection <PaletteModel>();
            ActiveUsers.Add(new PaletteModel {
                SocialSite = "Twitter", UsersCount = 302
            });
            ActiveUsers.Add(new PaletteModel {
                SocialSite = "Skype", UsersCount = 300
            });
            ActiveUsers.Add(new PaletteModel {
                SocialSite = "WeChat", UsersCount = 559
            });
            ActiveUsers.Add(new PaletteModel {
                SocialSite = "Google+", UsersCount = 650
            });
            ActiveUsers.Add(new PaletteModel {
                SocialSite = "WhatsApp", UsersCount = 800
            });
            ActiveUsers.Add(new PaletteModel {
                SocialSite = "Facebook", UsersCount = 1184
            });

            // Registered users
            this.RegisteredUsers = new ObservableCollection <PaletteModel>();
            RegisteredUsers.Add(new PaletteModel {
                SocialSite = "Twitter", UsersCount = 500
            });
            RegisteredUsers.Add(new PaletteModel {
                SocialSite = "Skype", UsersCount = 663
            });
            RegisteredUsers.Add(new PaletteModel {
                SocialSite = "WeChat", UsersCount = 1120
            });
            RegisteredUsers.Add(new PaletteModel {
                SocialSite = "Google+", UsersCount = 540
            });
            RegisteredUsers.Add(new PaletteModel {
                SocialSite = "WhatsApp", UsersCount = 920
            });
            RegisteredUsers.Add(new PaletteModel {
                SocialSite = "Facebook", UsersCount = 1600
            });
        }
예제 #29
0
        /// <summary>
        /// Created By    : Shiva
        /// Created Date  : 29 Dec 2014
        /// Modified By   :  
        /// Modified Date :  
        /// </summary>
        /// <returns>Active Users List</returns>
        public static UserInfo GetActiveUsersByDays(int NoOfDays)
        {
            var usersInfo = new UserInfo();
            System.Diagnostics.StackFrame stackFrame = new System.Diagnostics.StackFrame();
            System.Reflection.MethodBase methodBase = stackFrame.GetMethod();
            log.Debug("Start: " + methodBase.Name);
            SqlParameter[] sqlParams = new SqlParameter[1];
            sqlParams[0] = new SqlParameter("@NoOfdays", NoOfDays);
            var reader = SqlHelper.ExecuteReader(ConnectionUtility.GetConnectionString(), CommandType.StoredProcedure, "SpGetUserLoginDetailsByDays", sqlParams);
            var safe = new SafeDataReader(reader);
            while (reader.Read())
            {
                var user = new ActiveUsers();
                user.FetchActiveUsers(user, safe);
                usersInfo.ActiveUsersList.Add(user);
            }

            log.Debug("End: " + methodBase.Name);
            return usersInfo;
        }