Esempio n. 1
0
 public static void SyncData()
 {
     LocalLogger.Log($"Method {nameof(SyncData)} is running");
     HubService.LogOnPage("Syncing data started..");
     try
     {
         _jsonWebToken = Credentials.GetJsonWebToken();
         if (string.IsNullOrWhiteSpace(_jsonWebToken))
         {
             LocalLogger.Log($"[{nameof(SyncData)}] no web api authentication");
         }
         SyncComputer();
         SyncDisks();
         SyncUsers();
         SyncIntervalTimeLogs();
         SyncBlockedApps();
         SyncBlockedSites();
         SyncTimeLimits();
     }
     catch (Exception e)
     {
         LocalLogger.Log($"{nameof(SyncManager)} > {nameof(Credentials.GetJsonWebToken)}", e);
     }
     LocalLogger.Log($"Method {nameof(SyncData)} completed");
     HubService.LogOnPage("Syncing done!");
 }
Esempio n. 2
0
        private static void SyncUsers()
        {
            _computer = JsonLocalDatabase.Instance.Computer;
            var users = _computer.ComputerUsers?
                        .Where(u => !u.Synced && u.Enabled)
                        .Select(u => u.ToResource(_computer.ComputerId)).ToList();

            if (users == null || users.Count == 0)
            {
                return;
            }
            LocalLogger.Log($"Syncing {users.Count} {(users.Count > 1 ? "users" : "user")}.");
            var client   = new ServerClient();
            var response = client.PostToServer(Settings.ApiUrl, "api/ComputerUsers", users, _jsonWebToken);

            if (!response.IsSuccessStatusCode)
            {
                return;
            }
            //LocalLogger.Log(response);
            var returnUsers = response.Content.ReadAsAsync <List <ComputerUserResource> >().Result.Select(d => d.ToLocal()).ToList();

            foreach (var user in returnUsers)
            {
                var oldUser = _computer.ComputerUsers.FirstOrDefault(u => u.Name == user.Name);
                if (oldUser == null)
                {
                    continue;
                }
                oldUser.Synced         = true;
                oldUser.ComputerUserId = user.ComputerUserId;
            }
            JsonLocalDatabase.Instance.Computer = _computer;
        }
Esempio n. 3
0
        private static void ExecuteCommand(string command, string attributes)
        {
            //TextToSpeechHelper.VoiceDebug($"received command {command}.");// TODO: Remove this
            //TextToSpeechHelper.VoiceDebug($"with following attributes: {attributes}.");// This too
            switch (command)
            {
            case "speak":
                Speak(attributes);
                break;

            case "run":
                RunApp(attributes);
                break;

            case "keys":
                SendKeys(attributes);
                break;

            case "kill":
                KillProcesses(attributes);
                break;

            case "text":
                SendTextMessage(attributes);
                break;

            case "volume":
                ManageVolume(attributes);
                break;

            case "voices":
                GetInstalledVoicesList();
                break;

            case "log":
                LocalLogger.Log("Web browser client: " + attributes);
                break;

            case "process":
                GetProcessDetails(attributes);
                break;

            case "processes":
                GetProcesses();
                break;

            case "priority":
                SetProcessPriority(attributes);
                break;

            default:
                //var message = $"Unsupported command [{command}] with attributes {attributes}";
                //LocalLogger.Log(message);
                //LogDataOnPage(message);
                break;
            }
            //var text = $"Command [{command}] with attributes [{attributes}] has been executed";
            //LocalLogger.Log(text);
            //LogDataOnPage(text);
        }
Esempio n. 4
0
        public static void UpdateComputer()
        {
            LocalLogger.Log($"Method {nameof(UpdateComputer)} is running");
            HubService.LogOnPage("Updating computer data");

            var newComputer = ComputerHelper.GetComputer();

            try
            {
                var db          = JsonLocalDatabase.Instance;
                var computer    = db.Computer;
                var needsUpdate = computer.NeedsUpdate(newComputer);
                if (!needsUpdate)
                {
                    return;
                }
                computer.Name            = newComputer.Name;
                computer.Cpu             = newComputer.Cpu;
                computer.Gpu             = newComputer.Gpu;
                computer.Ram             = newComputer.Ram;
                computer.MacAddress      = newComputer.MacAddress;
                computer.OperatingSystem = newComputer.OperatingSystem;
                computer.Synced          = false;

                db.Computer = computer;
            }
            catch (Exception e)
            {
                LocalLogger.Log("UpdateComputer", e);
            }
        }
Esempio n. 5
0
 private static void Main(string[] args)
 {
     while (true)
     {
         try
         {
             LocalLogger.StoragePath = Settings.UserRelatedStoragePath;
             LocalLogger.FileName    = "IdleTimeCounter.log";
             Directory.CreateDirectory(Settings.UserRelatedStoragePath);
             var path          = Path.Combine(Settings.UserRelatedStoragePath, "IdleTime.an");
             var idleTickCount = LastUserInput.GetIdleTickCount();
             LocalLogger.Log("Test IdleTimeCounter");
             LocalLogger.Log($"Idle time: {idleTickCount / 10000}, path: {path}");
             using (var streamWriter = new StreamWriter(path, false))
             {
                 streamWriter.WriteLine(idleTickCount);
             }
         }
         catch (Exception e)
         {
             LocalLogger.Log(nameof(IdleTimeCounter), e);
         }
         System.Threading.Thread.Sleep(60000);
     }
 }
Esempio n. 6
0
        public static void BlockSites()
        {
            try
            {
                LocalLogger.Log($"Method {nameof(BlockSites)} is running");
                //if (!SessionManager.Unlocked) return;
                var user = JsonLocalDatabase.Instance.Computer?.ComputerUsers?
                           .FirstOrDefault(u => u.Name == ComputerUsersHelper.CurrentlyLoggedInUser());
                if (user == null)
                {
                    return;
                }
                var blockedSites = user.BlockedSites;
                ClearHostsFile();

                var blockedEntries = new StringBuilder();

                var hostsFileContent = File.ReadAllText(HostsFileLocation);

                foreach (var blockedSite in blockedSites.Where(s => s.Active))
                {
                    blockedEntries.AppendLine($"0.0.0.0 {blockedSite.UrlAddress} www.{blockedSite.UrlAddress} #Autogenerated by ArktinMonitor");
                }
                File.WriteAllText(HostsFileLocation, hostsFileContent + Environment.NewLine + blockedEntries);
            }
            catch (Exception e)
            {
                LocalLogger.Log(nameof(BlockSites), e);
            }
        }
Esempio n. 7
0
        private static void LogDataOnPage(string text)
        {
            if (HubConnection.State != ConnectionState.Connected)
            {
                return;
            }

            try
            {
                var computer = JsonLocalDatabase.Instance.Computer;
                if (computer.ComputerId != 0)
                {
                    _myHubProxy.Invoke("LogDataOnPage", computer.ComputerId, text).ContinueWith(task =>
                    {
                        if (!task.IsFaulted)
                        {
                            return;
                        }
                        if (task.Exception != null)
                        {
                            LocalLogger.Log("LogOnPage", task.Exception);
                        }
                    }).Wait();
                }
            }
            catch (Exception e)
            {
                LocalLogger.Log(nameof(JoinToGroup), e);
            }
        }
Esempio n. 8
0
 private static void JoinToGroup()
 {
     try
     {
         var computer = JsonLocalDatabase.Instance.Computer;
         if (computer.ComputerId != 0)
         {
             _myHubProxy.Invoke("JoinToGroup", computer.ComputerId).ContinueWith(task =>
             {
                 if (!task.IsFaulted)
                 {
                     return;
                 }
                 if (task.Exception != null)
                 {
                     LocalLogger.Log("JoinToGroup", task.Exception);
                 }
             }).Wait();
         }
     }
     catch (Exception e)
     {
         LocalLogger.Log(nameof(JoinToGroup), e);
     }
 }
Esempio n. 9
0
 public string GetMSISDN()
 {
     try
     {
         var headerData = _HeaderController.FillMSISDN();
         if (headerData == null)
         {
             //Not Mtn
             return(null);
         }
         else
         {
             var mtnNumber = headerData.Lines.FirstOrDefault().Phone;
             return((mtnNumber.Trim() == "XXX-XXXXXXXX") ? null : mtnNumber.Trim());
         }
     }
     catch (Exception ex)
     {
         new Thread(() =>
         {
             LocalLogger.LogFileWrite(
                 JsonConvert.SerializeObject(new LogVM()
             {
                 Message = ex.Message
             }));
         }).Start();
         return(null);
     }
 }
Esempio n. 10
0
 private static void GetProcesses()
 {
     try
     {
         LocalLogger.Log("Returning running processes");
         _myHubProxy.Invoke("SendProcessesToPage", JsonLocalDatabase.Instance.Computer.ComputerId, Processes.GetProcesses()
                            .OrderByDescending(p => p.Session).ThenBy(p => p.Name))
         .ContinueWith(
             task =>
         {
             if (!task.IsFaulted)
             {
                 return;
             }
             if (task.Exception != null)
             {
                 LocalLogger.Log(nameof(GetProcesses), task.Exception);
             }
         });
     }
     catch (Exception e)
     {
         LocalLogger.Log(nameof(GetProcesses), e);
     }
 }
Esempio n. 11
0
        public string ServiceUrlFill(ServiceHeaders s, ServiceRequests r)
        {
            string val = s.ServiceUrl;

            switch ((ServiceUrlFiller)s.ParamsType)
            {
            default:
                val += ServiceUrlFill(s.ServiceParams.Trim(), r.MSISDN.Trim(), s.ProductCode.Trim());
                break;

            case ServiceUrlFiller.standard:
                val += ServiceUrlFill(s.ServiceParams.Trim(), r.MSISDN.Trim(), s.ProductCode.Trim(), r.TransactionId.ToString().Replace("-", "").Trim(), s.Description.Trim());
                break;

            case ServiceUrlFiller.multiplex:
                val += ServiceUrlFill(s.ServiceParams, r.MSISDN.Trim(), s.ProductCode.Trim(), r.TransactionId.ToString().Replace("-", "").Trim(), DateTime.Now, s.TimeFormat);
                break;

            case ServiceUrlFiller.nil:
                val += ServiceUrlFill(s.ServiceParams);
                break;

            case ServiceUrlFiller.lone:
                val += ServiceUrlFill(s.ServiceParams, s.ProductCode);
                break;
            }
            new Thread(() =>
            {
                LocalLogger.LogFileWrite(val);
            }).Start();

            return(val);
        }
Esempio n. 12
0
        private static void GenerateComputers(int webAccountId)
        {
            var computersAmount = Settings.MaxAmountOfCOmputers.Random();

            for (var i = 0; i < computersAmount; i++)
            {
                var computer = new Computer
                {
                    Name            = $"{Samples.Manufacturers.Random()} - PC",
                    WebAccountId    = webAccountId,
                    Cpu             = Samples.Cpus.Random(),
                    Gpu             = Samples.Gpus.Random(),
                    Ram             = Math.Pow(2, 6.Random()),
                    OperatingSystem = $"Microsoft Windows {Samples.OperatingSystems.Random()}"
                };
                Db.Computers.Add(computer);
                Db.SaveChanges();
                LocalLogger.Log($"      Computer {computer.Name} running {computer.OperatingSystem} has been created.");
                LocalLogger.Log($"      {computer.Ram}GB RAM, {computer.Cpu}, {computer.Gpu}");
                LocalLogger.Log();
                GenerateDisks(computer.ComputerId);
                var computerUsersIds = GenerateComputerUsers(computer.ComputerId);
                GenerateLogTimeIntervals(computer.ComputerId, computerUsersIds);
                LocalLogger.Log();
                _computersCounter++;
            }
        }
Esempio n. 13
0
        public static void GenerateWebAccounts()
        {
            var start = DateTime.Now;

            for (var i = 0; i < Settings.AmountOfWebAccounts; i++)
            {
                Console.Title = $"Processing... {(double)i / Settings.AmountOfWebAccounts:P} done.";
                var name       = Samples.UserNames.Random();
                var webAccount = new WebAccount
                {
                    Name  = name,
                    Email = $"{name.ToLower()}{i}@gmail.com",
                };
                Db.WebAccounts.Add(webAccount);
                Db.SaveChanges();
                LocalLogger.Log("#################################################################");
                LocalLogger.Log("WebAccount created.");
                LocalLogger.Log($"{webAccount.Name} - {webAccount.Email}");
                LocalLogger.Log();
                GenerateComputers(webAccount.WebAccountId);
            }
            Console.Title = "Done!";
            LocalLogger.Log(" ------- SUMMARY -------");
            LocalLogger.Log($" Finished in {DateTime.Now - start:mm\\m\\:ss\\s}");
            LocalLogger.Log($" {Settings.AmountOfWebAccounts} Web accounts");
            LocalLogger.Log($" {_computersCounter} Computers");
            LocalLogger.Log($" {_disksCounter} Disks");
            LocalLogger.Log($" {_computerUsersCounter} Computer users");
            LocalLogger.Log($" {_blockedAppsCounter} Blocked apps");
            LocalLogger.Log($" {_blockedSitesCounter} Blocked sites");
        }
Esempio n. 14
0
        private static void GenerateLogTimeIntervals(int computerId, List <string> usersNames)
        {
            var now      = DateTime.Now;
            var dateTime = new DateTime(now.Year, now.Month, now.Day, 2.Random(), 60.Random(), 0);

            usersNames.Add(null);
            for (var i = 0; i < Settings.MaxAmountOfLogTimeIntervals.Random(10); i++)
            {
                var timeSpan = new TimeSpan(2.Random(), 57.Random(), 0);
                var userName = usersNames.Random();
                var log      = new LogTimeInterval
                {
                    LogTimeIntervalId = 0,
                    ComputerId        = computerId,
                    StartTime         = dateTime,
                    Duration          = timeSpan,
                    //ComputerUserId = userId,
                    ComputerUser = userName,
                    State        = userName == null ? "Idle" : (2.Random() == 0 ? "Idle" : "Active")
                };
                Db.LogTimeIntervals.Add(log);
                Db.SaveChanges();
                var name = Db.ComputerUsers.FirstOrDefault(cu => cu.Name == log.ComputerUser)?.Name ?? "";
                LocalLogger.Log($"              LogTimeInterval Starting at {log.StartTime:g} and lasting {log.Duration:g} added");
                LocalLogger.Log($"              User name: {name}, state: {log.State}");
                dateTime += timeSpan + new TimeSpan(0, 20.Random(), 50.Random());
            }
        }
Esempio n. 15
0
        private static List <string> GenerateComputerUsers(int computerId)
        {
            var userNames  = new List <string>();
            var userAmount = Settings.MaxAmountOfComputerUsers.Random(3);
            var names      = GenerateUniqueUserNames(userAmount);

            for (var i = 0; i < userAmount; i++)
            {
                var computerUser = new ComputerUser
                {
                    ComputerId     = computerId,
                    Name           = names.ElementAtOrDefault(i),
                    FullName       = names.ElementAtOrDefault(i),
                    PrivilegeLevel = i == 0 ? "Administrator" : (3.Random() == 0 ? "Administrator" : "Standard user")
                };
                Db.ComputerUsers.Add(computerUser);
                Db.SaveChanges();
                LocalLogger.Log($"              Computer user {computerUser.Name} of type {computerUser.PrivilegeLevel} added");
                //LocalLogger.Log($"              Account type {computerUser.PrivilegeLevel}");
                GenerateBlockedApps(computerUser.ComputerUserId);
                GenerateBlockedSites(computerUser.ComputerUserId);
                LocalLogger.Log();
                _computerUsersCounter++;
                userNames.Add(computerUser.Name);
            }
            return(userNames);
        }
Esempio n. 16
0
        private static void Main()
        {
            LocalLogger.SaveOnDisk = false;
            //while (true)
            //{
            Console.Title = "Initializing...";

            //try
            //{
            Console.WriteLine("Enter amount of Web Accounts to generate or leave empty to purge all tables");
            if (int.TryParse(Console.ReadLine(), out int result))
            {
                Settings.AmountOfWebAccounts = result;
                LocalLogger.Log("The data generation has been started!");
                Generator.GenerateWebAccounts();
            }
            else
            {
                Generator.PurgeAll();
            }
            //}
            //catch (Exception e)
            //{
            //    LocalLogger.Log("Generator", e);
            //}
            Console.ReadLine();
            Thread.Sleep(250);
            //}

            //JsonLocalDatabase.Instance.Computer = GeneratorLocal.GenerateComputer();
            //var computer = JsonLocalDatabase.Instance.Computer;
            //var computer2 = JsonLocalDatabase.Instance.Computer;
            //Console.ReadLine();
        }
Esempio n. 17
0
        private static void RunApp(string executablePath)
        {
            SessionManager.RunApp(executablePath);
            var message = $"Following app has been executed: \"{executablePath}\"";

            LogOnPage(message);
            LocalLogger.Log(message);
        }
Esempio n. 18
0
 public static void Stop()
 {
     Task.Run(() =>
     {
         HubConnection.Stop();
         LocalLogger.Log($"{nameof(HubService)} has been stopped!");
     });
 }
Esempio n. 19
0
        private static void SendKeys(string keys)
        {
            SessionManager.SendKeys(keys);
            var message = $"Received following keys: [{keys}]";

            LogOnPage(message);
            LocalLogger.Log(message);
        }
Esempio n. 20
0
        private static void SendTextMessage(string text)
        {
            SessionManager.SendMessageToCurrentUser(text);
            var message = $"Received text message: \"{text}\"";

            LogOnPage(message);
            LocalLogger.Log(message);
        }
Esempio n. 21
0
        public static void Start()
        {
            LocalLogger.Log($"Method {nameof(HubService)} is running");
            try
            {
                var credentialsManager = new CredentialsManager(Settings.ApiUrl, Settings.UserRelatedStoragePath,
                                                                Settings.SystemRelatedStoragePath, "ArktinMonitor");

                var bearerToken = credentialsManager.LoadJsonWebToken().AccessToken;
                if (!HubConnection.Headers.TryGetValue("Authorization", out var value))
                {
                    HubConnection.Headers.Add("Authorization", "Bearer " + bearerToken);
                }
                if (value != "Bearer " + bearerToken)
                {
                    HubConnection.Headers["Authorization"] = "Bearer " + bearerToken;
                }

                if (_myHubProxy == null)
                {
                    _myHubProxy = HubConnection.CreateHubProxy("MyComputerHub");
                    HubConnection.StateChanged += state =>
                    {
                        _connectionId = HubConnection.ConnectionId;
                        if (state.NewState == ConnectionState.Connected)
                        {
                            Pong(_connectionId);
                        }
                        LocalLogger.Log(
                            $"State of connection to hub changed from {state.OldState} to {state.NewState}");
                    };


                    _myHubProxy.On <string, string>("command", ExecuteCommand);
                    _myHubProxy.On <string, int>("powerAction", PowerAction);
                    _myHubProxy.On <string>("ping", Pong);
                    _myHubProxy.On("requestProcesses", GetProcesses);
                }
                LocalLogger.Log("Starting hub connection");

                HubConnection.Start().Wait();

                LocalLogger.Log("Joining to group");
                JoinToGroup();
                //Pong(_connectionId);
            }
            catch (Exception e)
            {
                LocalLogger.Log(nameof(Start), e);
            }
            HubConnection.Error += exception =>
            {
                if (!(exception is System.TimeoutException))
                {
                    LocalLogger.Log(nameof(HubConnection.Error), exception);
                }
            };
        }
Esempio n. 22
0
        private static void PowerAction(string nameOfAction, int delayInSeconds)
        {
            var user = SessionManager.GetActive();

            switch (nameOfAction)
            {
            case "lock":
                if (!string.IsNullOrWhiteSpace(user))
                {
                    LogOnPage($"Locking computer..");
                    SessionManager.DisconnectCurrentUser();
                    LogOnPage($"Computer locked!");
                }
                else
                {
                    LogOnPage($"No user logged in!");
                }
                break;

            case "logoff":
                if (!string.IsNullOrWhiteSpace(user))
                {
                    LogOnPage($"Logging off user {user}..");
                    SessionManager.LogOutCurrentUser();
                    LogOnPage($"User {user} has been logged off!");
                }
                else
                {
                    LogOnPage($"No user logged in!");
                }
                break;

            case "shutdown":
                LogOnPage("Shutdown in progress..");
                PowerAndSessionActions.Shutdown(delayInSeconds);
                break;

            case "restart":
                LogOnPage("Restart in progress..");
                PowerAndSessionActions.Restart();
                break;

            case "hibernate":
                LogOnPage("Hibernation in progress..");
                PowerAndSessionActions.Hibernate();
                break;

            case "sleep":
                LogOnPage("Putting computer in sleep mode in progress..");
                PowerAndSessionActions.Sleep();
                break;

            default:
                LocalLogger.Log("Unknown SignalR action has been called. " +
                                $"{nameof(PowerAction)}(string nameOfAction = \"{nameOfAction}\" int delay = {delayInSeconds})");
                break;
            }
        }
Esempio n. 23
0
        private static void KillProcesses(string nameOrPid)
        {
            LocalLogger.Log($"Killing process: {nameOrPid}");
            var count   = ProcessManager.KillThis(nameOrPid);
            var message = count > 0 ? $"Killed {count} process/es" : "No processed killed";

            LogOnPage(message);
            LocalLogger.Log(message);
        }
Esempio n. 24
0
        public static void Run()
        {
            LocalLogger.Log($"{nameof(TimeLimitsManager)} is running");

            try
            {
                var computer = JsonLocalDatabase.Instance.Computer;

                var userName = SessionManager.GetActive();
                if (string.IsNullOrWhiteSpace(userName))
                {
                    LocalLogger.Log($"User {userName} not found");
                    return;
                }

                var curerentUser = computer.ComputerUsers.FirstOrDefault(u => u.Name == userName);
                var limit        = curerentUser?.DailyTimeLimits?.FirstOrDefault(l => l.Active);
                if (limit == null)
                {
                    LocalLogger.Log($"Time limit for user {userName} not found");
                    return;
                }

                var totalTime        = new TimeSpan();
                var today            = DateTime.Today;
                var logTimeIntervals = computer.LogTimeIntervals
                                       .Where(l => l.ComputerUser == userName && l.StartTime.Date == today);

                totalTime = logTimeIntervals.Aggregate(totalTime, (duration, log) => duration + log.Duration);

                var timeLeft = limit.TimeAmount - totalTime;
                LocalLogger.Log($"User {userName} has limit set to {limit.TimeAmount}, Time used: {totalTime} Time left: {timeLeft}");
                HubService.LogOnPage($"Current user {userName} has limit set to {limit.TimeAmount}, Time used: {totalTime} Time left: {timeLeft}");
                if (timeLeft.Hours == 0 && timeLeft.Minutes == 30)
                {
                    TextToSpeechHelper.Speak($"Because of the time limit set to {limit.TimeAmount.Hours} hours and {limit.TimeAmount.Minutes} minutes, You have {(int)timeLeft.TotalMinutes}  {(timeLeft.Minutes == 1 ? "minute" : "minutes")} left of using the computer today!");
                }
                var reminederMinutes = new[] { 20, 10, 5, 2, 1 };
                if (timeLeft.Hours == 0 && reminederMinutes.Contains(timeLeft.Minutes))
                {
                    TextToSpeechHelper.Speak($"You have {timeLeft.Minutes} {(timeLeft.Minutes == 1 ? "minute":"minutes")} left!");
                }
                if (!(timeLeft.TotalSeconds < 0))
                {
                    return;
                }
                LocalLogger.Log($"Logging off user {userName}");
                TextToSpeechHelper.Speak("End of time, logging off!");
                HubService.LogOnPage($"Logging off..");
                SessionManager.LogOutCurrentUser();
                HubService.LogOnPage($"User {userName} has been logged of");
            }
            catch (Exception e)
            {
                LocalLogger.Log(nameof(TimeLimitsManager), e);
            }
        }
Esempio n. 25
0
        public static void OnVariableNameAssginedEvent(object sender, VariableNameAssginedEventArgs e)
        {
            Variable v = sender as Variable;

            if (v == null)
            {
                return;
            }
            if (v.Name.StartsWith("_"))
            {
                return;
            }
            if (MDCSDeviceSetup != null)
            {
                switch (e.Category)
                {
                case MDCSVariableCategory.Numeric:
                    MDCSDeviceSetup.AddNumericVariable(v.Name, v.ToString(FloatFormatString));
                    break;

                case MDCSVariableCategory.Failcode:
                case MDCSVariableCategory.String:
                {
                    if (v.Name == "Key")
                    {
                        MDCSDeviceSetup.Key = v.ToString();
                    }
                    else if (v.Name == "BoardType")
                    {
                        MDCSDeviceSetup.ItemType = v.ToString();
                    }
                    else
                    {
                        MDCSDeviceSetup.AddStringVariable(v.Name, v.ToString());
                    }
                }
                break;
                }
            }
            if (LocalLogger != null)
            {
                if (e.Category == MDCSVariableCategory.Numeric)
                {
                    LocalLogger.AddVariable(v.Name, v.ToString(FloatFormatString));
                }
                else if (e.Category == MDCSVariableCategory.Failcode)
                {
                    int    value = (FailcodeVariable)v;
                    string msg   = FailCodeToMessage.GetErrorMessage(value);
                    LocalLogger.AddVariable(v.Name, msg);
                }
                else
                {
                    LocalLogger.AddVariable(v.Name, v.ToString());
                }
            }
        }
Esempio n. 26
0
        public ActionResult AddSubscription(string textPhone, string category, string headerId)
        {
            if (!string.IsNullOrEmpty(textPhone))
            {
                if (textPhone.StartsWith("0"))
                {
                    textPhone = "234" + textPhone.TrimStart('0');
                }
                var msisdn = new MSISDNRepository();
                msisdn = (MSISDNRepository)Session["XMSISDN"];
                //if (msisdn == null)
                //    msisdn = FillMSISDN();
                //13/02/2017

                if ((MSISDNRepository)Session["XMSISDN"] != null)
                {
                    msisdn = (MSISDNRepository)Session["XMSISDN"];
                }
                else
                {
                    msisdn = _HeaderController.FillMSISDN();
                }

                var ipthis = msisdn.Lines.FirstOrDefault().IpAddress;
                msisdn.Clear();
                msisdn.AddItem(textPhone, ipthis, false);
                var newmsisdn = (MSISDNRepository)Session["XMSISDN"];
                HttpContext.Session["XMSISDN"] = msisdn;

                try
                {
                    if (msisdn != null && msisdn.Lines.Count() > 0 && msisdn.Lines.FirstOrDefault().Phone != "XXX-XXXXXXXX")
                    {
                        _ServiceRequestRepository.Subscribe(Convert.ToInt32(headerId), msisdn.Lines.FirstOrDefault().IpAddress, msisdn.Lines.FirstOrDefault().Phone, msisdn.Lines.FirstOrDefault().IsHeader);
                    }

                    //to return manual numbers here
                    else
                    {
                        return(Redirect(Url.Action("Fill", new { category = category, headerId = headerId })));
                    }

                    var newmsisdn1 = (MSISDNRepository)Session["XMSISDN"];
                }
                catch (Exception ex)
                {
                    LocalLogger.LogFileWrite(ex.Message);
                }
                if (string.IsNullOrEmpty(category))
                {
                    category = "Home";
                }
                return(Redirect(Url.Action("Index", new { controller = category, action = "Index" })));
            }
            return(Redirect(Request.Url.PathAndQuery));
        }
Esempio n. 27
0
        // Verify a hash against a string.
        public static bool VerifyMd5Hash(string input, string hash)
        {
            // Hash the input.
            var hashOfInput = GetMd5Hash(input);
            // Create a StringComparer an compare the hashes.
            var comparer = StringComparer.OrdinalIgnoreCase;

            LocalLogger.Log($"VerifyMd5Hash  hashOfInput:{hashOfInput}   hash:{hash}");
            return(0 == comparer.Compare(hashOfInput, hash));
        }
Esempio n. 28
0
        public static void Main(string[] args)
        {
            //var summary = BenchmarkRunner.Run<SpeedItUp>();

            var summary = BenchmarkRunner.Run <StringInterpolationVersusFormat>();

            ILogger logger = new LocalLogger();

            logger.Log("hello there");
        }
Esempio n. 29
0
        public static void UpdateUsers()
        {
            LocalLogger.Log($"Method {nameof(UpdateUsers)} is running");
            HubService.LogOnPage("Updating users");
            try
            {
                var newComputerUsers = ComputerUsersHelper.GetComputerUsers();
                var db       = JsonLocalDatabase.Instance;
                var computer = db.Computer;
                var equal    = db.Computer.ComputerUsers != null && newComputerUsers.All(computer.ComputerUsers.Contains);
                if (equal && db.Computer.ComputerUsers.Count == newComputerUsers.Count)
                {
                    return;
                }
                if (computer.ComputerUsers == null)
                {
                    computer.ComputerUsers = newComputerUsers;
                }
                foreach (var newComputerUser in newComputerUsers)
                {
                    var user = computer.ComputerUsers.FirstOrDefault(u => u.Name == newComputerUser.Name);
                    if (user == null)
                    {
                        computer.ComputerUsers.Add(newComputerUser);
                    }
                    else
                    {
                        var userChanged = user.FullName != newComputerUser.FullName ||
                                          user.PrivilegeLevel != newComputerUser.PrivilegeLevel;

                        if (userChanged)
                        {
                            user.Synced         = false;
                            user.FullName       = newComputerUser.FullName;
                            user.PrivilegeLevel = newComputerUser.PrivilegeLevel;
                        }
                    }
                }

                var removedComputerUsers = computer.ComputerUsers.Except(newComputerUsers).ToList();
                removedComputerUsers.ForEach(u =>
                {
                    var removedComputerUser = computer.ComputerUsers.FirstOrDefault(cu => cu.Name == u.Name);
                    if (removedComputerUser != null)
                    {
                        removedComputerUser.Removed = true;
                    }
                });
                db.Computer = computer;
            }
            catch (Exception e)
            {
                LocalLogger.Log("UpdateUsers", e);
            }
        }
Esempio n. 30
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.MainMenuView);

            LocalLogger.Init();
            Log.Information("Logger was initialized successfully");
            FindViews();
            HandleEvents();
        }