public void Deserialise_Success() { var id = new Guid("209EBBA5-F195-495F-BA68-48C32173BEC5"); var json = "{\"identifier\":\"" + id + "\",\"list\":[\"a\",\"b\"]}"; var model = JsonWorker.Deserialize <ExampleJsonModel>(json); Assert.Equal(id, model.Identifier); Assert.Equal("a", model.List.First()); }
public void GetHistoricData_ShouldFail_ApiStressTest(int loops) { List <object> actual = new List <object>(); for (int i = 0; i < loops; i++) { var tmp = JsonWorker.GetHistoricData("USD", "PLN"); actual.Add(tmp); } Assert.Contains(null, actual); }
public void Serialise_Success() { var id = new Guid("209EBBA5-F195-495F-BA68-48C32173BEC5"); var model = new ExampleJsonModel(id, new List <string> { "a", "b" }); var serialised = JsonWorker.Serialize(model); Assert.Equal("{\"identifier\":\"" + id + "\",\"list\":[\"a\",\"b\"]}", serialised); }
public void GetCurrencies_ShouldWork_CheckNumberOfCalls(int loops) { int counter = 0; for (int i = 0; i < loops; i++) { int actual = JsonWorker.GetCurrencies().Count; counter++; Assert.True(actual > 0); } }
public void GetExchangeData_ShouldWork_ApiStressTest(int loops) { List <object> actual = new List <object>(); for (int i = 0; i < loops; i++) { var tmp = JsonWorker.GetExchangeData("USD", "PLN"); actual.Add(tmp); } Assert.DoesNotContain(null, actual); }
public void PopulateObject_Success() { var id = new Guid("209EBBA5-F195-495F-BA68-48C32173BEC5"); var json = "{\"identifier\":\"" + id + "\",\"list\":[\"a\",\"b\"]}"; var model = new ExampleJsonModel(Guid.NewGuid(), new List <string>()); JsonWorker.PopulateObject(json, model); Assert.Equal(id, model.Identifier); Assert.Equal("a", model.List.First()); }
public static float getSalaryList(string txtName) { JsonWorker jsWorker = new JsonWorker(txtName); EmployeeRepository empRep = jsWorker.jsonRead(); float sumSal = 0; for (int i = 0; i < empRep.employees.Count(); i++) { sumSal += empRep.employees[i].salary; } return(sumSal); }
public void CompressGzip_Success() { var id = new Guid("209EBBA5-F195-495F-BA68-48C32173BEC5"); var model = new ExampleJsonModel(id, new List <string> { "a", "b" }); var serialised = JsonWorker.Serialize(model); var compressed = JsonCompressor.Compress(serialised, Compressor.Gzip, 10); Assert.DoesNotContain("{\"identifier\":", compressed); }
public void GetHistoricPoints_ShouldWork_ValueAboveZero(string from, string to) { var myPoints = JsonWorker.GetHistoricPoints(from, to); List <double> actual = new List <double>(); foreach (var item in myPoints) { actual.Add(item.Value); } Assert.Contains(actual, x => (x > 0.0)); }
public void GetCurrencies_ShouldFail_CheckIfOrderChanges(int index, string expected) { // Arrange // Act var actual = JsonWorker.GetCurrencies(); // Assert Assert.NotEqual(expected, actual[index]); }
public void GetCurrencies_ShouldWork_AreAllCodesThreeDigitLong() { // Arrange // Act var actual = JsonWorker.GetCurrencies(); // Assert Assert.DoesNotContain(actual, x => (x.Length > 3)); }
public void GetHistoricPoints_ShouldWork_NameNeverNull(string from, string to) { var myPoints = JsonWorker.GetHistoricPoints(from, to); List <DateTime> actual = new List <DateTime>(); foreach (var item in myPoints) { actual.Add(item.Date); } Assert.DoesNotContain(actual, x => (x == null)); }
public void CompressGzip_Success_UnderThreshold() { var id = new Guid("209EBBA5-F195-495F-BA68-48C32173BEC5"); var model = new ExampleJsonModel(id, new List <string> { "a", "b" }); var serialised = JsonWorker.Serialize(model); var compressed = JsonCompressor.Compress(serialised, Compressor.Gzip); Assert.Equal("{\"identifier\":\"" + id + "\",\"list\":[\"a\",\"b\"]}", compressed); }
public void GetHistoricData_ShouldWork_CloseValueIsGreaterThanZero(string from, string to) { var tmp = JsonWorker.GetHistoricData(from, to); List <double> actual = new List <double>(); foreach (var item in tmp.Values) { actual.Add(item.Close); } Assert.Contains(actual, x => (x > 0)); }
public string Post([FromBody] Message value) { value.Ts = (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;; Message msg = new Message() { Name = User.Identity.Name, Text = value.Text, Ts = value.Ts }; Console.WriteLine(msg); Program.Messages.Add(msg); JsonWorker.Save(Program.Messages); return("ok"); }
public CPULoadHostedService( PrimesFinder primesFinder, JsonWorker jsonWorker, IHostApplicationLifetime hostApplicationLifetime, IOptionsSnapshot <Settings> settingsSnapshot, ILogger <CPULoadHostedService> logger) { _primesFinder = primesFinder ?? throw new ArgumentNullException(nameof(primesFinder)); _jsonWorker = jsonWorker; _hostApplicationLifetime = hostApplicationLifetime; _logger = logger; _settings = settingsSnapshot?.Value ?? throw new ArgumentNullException(nameof(settingsSnapshot)); _timer = new Timer(Callback, null, System.Threading.Timeout.InfiniteTimeSpan, System.Threading.Timeout.InfiniteTimeSpan); }
private void Awake() { enemies.TimeBetweenWaves = JsonWorker.Deserialize <ConfigFile>("config.txt").timeBetweenWaves; _player = new Player(); _player.SetStartHealth(startPlayerHealth); _player.OnPlayerDeath += () => { enemies.Stop(); OnEndGame?.Invoke(enemies.KilledEnemiesCount); Time.timeScale = 0; }; }
static void Main(string[] args) { Console.WriteLine("Я - узел!\n"); Initializator ini = new Initializator(args); string filename = ini.txtName(); // считываем файлы с диска EmployeeRepository er1 = null; try { er1 = new JsonWorker(filename).jsonRead(); } catch { Console.WriteLine("Не удалось прочесть файл с диска!"); Console.ReadKey(); return; } // передаем данные серверу IMyWCF service = null; try { // подключаемся EndpointAddress address = new EndpointAddress(new Uri("http://localhost:8080/")); BasicHttpBinding binding = new BasicHttpBinding(); ChannelFactory <IMyWCF> factory = new ChannelFactory <IMyWCF>(binding, address); service = factory.CreateChannel(); // добавляем данные на сервер service.addEmployeeRepository(er1); // выводим подтверждение Console.WriteLine("Серверу были отправлены следующие данные от этого узла:\n"); Console.WriteLine(er1.ToString()); Console.ReadKey(); } catch { Console.WriteLine("Не удалось подключиться к серверу!"); Console.ReadKey(); return; } }
public AddingImageViewModel(INavigation navigation) { this.navigation = navigation; ImageList = new ObservableCollection <ImageList>(); var list = JsonWorker.GetImages(); AddToCollection(list); SelectImage = new Command(async(o) => { var image = o as ImageList; if (image != null) { MessagingCenter.Send(this, "image", image.Image); await navigation.PopAsync(true); } }); }
private void DropDown_From_SelectionChanged(object sender, SelectionChangedEventArgs e) { string valFrom = DropDown_From.SelectedItem as string; string valTo = DropDown_To.SelectedItem as string; if (valFrom == null || valTo == null || (valFrom == valTo)) { return; } var tmp = JsonWorker.GetExchangeData(valFrom, valTo); lbl_From.Content = valFrom; lbl_To.Content = valTo; lbl_ExchangeRate.Content = tmp.exchangeData.ExchangeRate; }
public void Disconnect(string reason) { var jstr = JsonWorker.MakeSampleJson(new string[] { "type", "result", "state" }, new string[] { "1", reason, "200" }).jstr; this.Sender.WriteSendData(jstr); Client.Client.Disconnect(false); Client.Close(); this.Sender = null; this.Receiver = null; this.Client.Dispose(); ProcessSema.Close(); ProcessSema = null; //ConnectThread.Abort(); OnDisconnect(reason); }
public IActionResult Login([FromBody] RegData login) { IActionResult response = Unauthorized(); var user = AuthenticateUser(login); if (user == null) { return(response); } JsonWorker.Save(Program.RegDatas); var tokenString = GenerateJSONWebToken(user); response = Ok(new { token = tokenString }); return(response); }
public void ThreadWorker() { try { string data = ""; PacketSender.SendJsonString(Stream, "STARTAPP::"); while (true) { Thread.Sleep(1000); data = PacketRecipient.GetJsonData(Stream); // Обработка данных, которые отправляет сервер if (data.Contains("USERS_LIST::")) { data = data.Remove(0, "USERS_LIST::".Length); dispatcher.Invoke(new Action(() => { Users = JsonWorker.JsonToUsersList(data); })); } if (data.Contains("MESSAGE::")) { data = data.Remove(0, "MESSAGE::".Length); dispatcher.Invoke(new Action(() => { Messages.Add(data); })); } // Обработка данных, которые отправляет клиент if (ClientData.Length != 0) { PacketSender.SendJsonString(Stream, ClientData); ClientData = ""; } data = ""; } } catch (Exception) { throw; } finally { Stream.Close(); Client.Close(); } }
public JobViewModel(INavigation navigation) { this.navigation = navigation; JobsSingletone.Instance.CreateList(JsonWorker.GetJobs()); JobsList = new ObservableCollection <Job>(JobsSingletone.Instance.JobsList); AddCommand = new Command(async(o) => { var job = o as Job; if (job == null) { MessagingCenter.Subscribe <PopUpViewModel, string>(this, "jobUpdate", (model, s) => { var newJob = new Job { Profession = s }; JobsSingletone.Instance.Add(newJob); JobsList.Add(newJob); MessagingCenter.Unsubscribe <PopUpViewModel, string>(this, "jobUpdate"); }); await navigation.PushPopupAsync(new ProfessionPopUp(new Job())); } else { var index = JobsList.IndexOf(job); MessagingCenter.Subscribe <PopUpViewModel, string>(this, "jobUpdate", (model, s) => { var newJob = new Job { Profession = s }; JobsSingletone.Instance.JobsList[index] = newJob; JobsList[index] = newJob; MessagingCenter.Unsubscribe <PopUpViewModel, string>(this, "jobUpdate"); }); await navigation.PushPopupAsync(new ProfessionPopUp(job)); } Item = null; }); }
protected override string PostHandle(HttpListenerRequest request, HttpListenerResponse response) { var httpStreamWorker = HttpStreamWorker.CreateHttpStreamWorker(request.RemoteEndPoint.Address.ToString()); Dictionary <string, string> urlParams = null; HttpListenerManager.Instance.GetUrlParams(request.Url.Query, out urlParams); if (urlParams != null) { if (urlParams.ContainsKey("fileName") && urlParams.ContainsKey("dataContinue")) { return(httpStreamWorker.ReadInputStream(request.InputStream, urlParams["fileName"], urlParams["dataContinue"])); } else { return(JsonWorker.MakeSampleReturnJson(null, new string[] { "error", "params incomplete!", "200" }).jstr); } } else { return(JsonWorker.MakeSampleReturnJson(null, new string[] { "error", "params incomplete!", "200" }).jstr); } }
public void Starting() { try { while (true) { Thread.Sleep(1000); data = PacketRecipient.GetJsonData(Stream); Console.WriteLine(data); // Регистрация if (data.Contains("REGISTER::")) { data = data.Remove(0, "REGISTER::".Length); user = JsonWorker.JsonToUser(data); if (FileWorker.ExistsUserFile(user.Login)) { user.SessionKey = "ERROR:EXISTS::USER"; } else { FileWorker.WriteUserFile(user.Login, JsonWorker.UserToJson(user)); user.SessionKey = Guid.NewGuid().ToString(); } PacketSender.SendJsonString(Stream, JsonWorker.UserToJson(user)); } // Авторизация if (data.Contains("LOGINING::")) { data = data.Remove(0, "LOGINING::".Length); Console.WriteLine(data); user = JsonWorker.JsonToUser(data); if (FileWorker.ExistsUserFile(user.Login)) { if (user.Password == JsonWorker.JsonToUser(FileWorker.ReadUserFile(user.Login)).Password) { user.SessionKey = Guid.NewGuid().ToString(); user.Stream = Stream; Users.Add(user); } else { user.SessionKey = "ERROR::BAD::LOGIN"; } } else { user.SessionKey = "ERROR::BAD::LOGIN"; } PacketSender.SendJsonString(Stream, JsonWorker.UserToJson(user)); } // При входе в аккаунт - передаём все необходимые данные, список подключенных юзеров. if (data.Contains("STARTAPP::")) { foreach (var item in Users) { PacketSender.SendJsonString(item.Stream, "USERS_LIST::" + JsonWorker.UsersListToJson(Users)); } } if (data.Contains("MESSAGE::")) { data = data.Remove(0, "MESSAGE::".Length); foreach (var item in Users) { PacketSender.SendJsonString(item.Stream, $"MESSAGE::{user.Login}: {data}"); } File.AppendAllText("MessageLog.txt", $"[{DateTime.Now}] {user.Login}: {data}"); } data = ""; } } catch (Exception exeption) { Users.Remove(user); Console.WriteLine(exeption.Message); } finally { if (Stream != null) { Stream.Close(); } if (Client != null) { Client.Close(); } } }
public PrivatePlayController(RoomStorage rooms, ILogger <PrivatePlayController> logger, PlayRoomStorage playRooms, PlaySessinRoomStorage sessionPlayRooms, RoomStorageSession session, LeaderboardStorage leaderBoard, JsonWorker <Leaderboard> jsonUpdaterLeaderBoard) { _rooms = rooms; _logger = logger; _playRooms = playRooms; _sessionPlayRooms = sessionPlayRooms; _session = session; _leaderBoard = leaderBoard; _jsonUpdaterLeaderBoard = jsonUpdaterLeaderBoard; }
public string ReadInputStream(Stream inputStream, string fileName, string continueFlag) { byte[] data = null; try { var byteList = new List <byte>(); var byteArr = new byte[2048]; int readLen = 0; int len = 0; //do //{ // readLen = inputStream.Read(byteArr, 0, byteArr.Length); // if (readLen != 0) // { // len += readLen; // byteList.AddRange(byteArr); // // // if (readLen < 2048) // { // byteList.RemoveRange(readLen, 2048 - readLen); // } // } //} while (readLen != 0); while (true) { readLen = inputStream.Read(byteArr, 0, byteArr.Length); if (readLen > 0) { len += readLen; byteList.AddRange(byteArr); if (readLen < 2048) { MemoryStream ms = new MemoryStream(); ms.Write(byteArr, 0, readLen); byteArr = ms.ToArray(); byteList.AddRange(byteArr); ms.Flush(); ms.Close(); } } else { break; } } if (len == 0) { data = null; inputStream.Close(); return(JsonWorker.MakeSampleReturnJson(null, new string[] { "error", "file size 0 byte", "200" }).jstr); } data = byteList.ToArray(); inputStream.Close(); } catch (Exception ex) { inputStream.Close(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"在接收数据时发生错误:{ex.ToString()}"); return(JsonWorker.MakeSampleReturnJson(null, new string[] { "error", ex.ToString(), "404" }).jstr); } if (!ByteToFile(data, fileName, continueFlag)) { return(JsonWorker.MakeSampleReturnJson(null, new string[] { "error", "save file faild", "200" }).jstr); } else { return(JsonWorker.MakeSampleReturnJson(null, new string[] { "normal", continueFlag, "200" }).jstr); } }
public LocalCalendarProvider() { Name = "LocalCalendarsStorage"; _worker = new JsonWorker(LocalStoragePath); LoadCalendars(); }
static void Main(string[] args) { Initializator init = new Initializator(args); Console.WriteLine(init.isMaven()); Console.WriteLine(init.isWhite()); Console.WriteLine(init.mavensPort()); Console.WriteLine(init.nodesPort()); Console.WriteLine(init.txtName()); Task t1 = Task.Factory.StartNew(async() => { UDPSenderReceiver udp1 = new UDPSenderReceiver(); UdpReceiveResult res = await udp1.receiveBytesAsync(init.nodesPort()); string str = Encoding.UTF8.GetString(res.Buffer); Console.WriteLine(str); if (init.isMaven() == true) { //UDP соединение с клиентом для отклика на Who is Maven? Console.WriteLine("I am Maven!"); UDPSenderReceiver udp2 = new UDPSenderReceiver(); int mavensPort = init.nodesPort(); byte[] bytesSended = BitConverter.GetBytes(mavensPort); await udp2.sendUnicastBytesAsync(bytesSended, 30000); //Готовим данные, которые будут отправлены клиенту string txtName = init.txtName(); int empNum = getEmpNum(txtName); EmployeeRepository empRepRes = new EmployeeRepository(); AvgSalary avgSal = new AvgSalary(getEmpNum(txtName), getSalaryList(txtName)); float avgSalaryVal = avgSal.getAvgSalary(); int avgSalaryNum = 1; //Заносим данные Maven'a JsonWorker jsWorker = new JsonWorker(txtName); EmployeeRepository empRep = jsWorker.jsonRead(); empRepRes.employees.AddRange(empRep.employees); //Получаем данные с узлов int nodeNum = init.getNodeNumber(); Console.WriteLine(); Console.WriteLine("Received information:"); for (int i = 0; i < nodeNum; i++) { TCPServer connectorToNode = new TCPServer(IPAddress.Parse("127.0.0.1"), mavensPort + i + 1); byte[] receivedBytes = connectorToNode.TCPReceive(); BinaryWorker bw = new BinaryWorker(); Message msg = bw.bytesToMessage(receivedBytes); avgSal = msg.s; avgSalaryVal += avgSal.getAvgSalary(); avgSalaryNum++; empRep = msg.empRep; empRepRes.employees.AddRange(empRep.employees); Console.WriteLine(avgSal.getAvgSalary()); for (int j = 0; j < empRep.employees.Count(); j++) { Console.WriteLine(empRep.employees[j]); } } //Обрабатываем информацию для отправки клиенту AvgSalary avgSalary = new AvgSalary(avgSalaryNum, avgSalaryVal); Calculator calc = new Calculator(empRepRes); List <EmployeeRepository> groupedList = calc.groupBy(); EmployeeRepository sortedList = calc.sortBy(); EmployeeRepository filteredList = calc.filterBy(avgSalary.getAvgSalary()); //Готовим данные для отправки MessageCalc msgCalc = new MessageCalc(sortedList, filteredList, groupedList); BinaryWorker bwForCalc = new BinaryWorker(); byte[] bytesForClient = bwForCalc.messageCalcToBytes(msgCalc); //Отправляем клиенту TCPClient connectorToClient = new TCPClient(IPAddress.Parse("127.0.0.1"), 30000); connectorToClient.TCPSend(bytesForClient); } else if (init.isWhite() == true) { string jsName = init.txtName(); float salarySum = getSalaryList(jsName); int empNum = getEmpNum(jsName); //Считываем данные с xml //XMLWorker xmlWorker = new XMLWorker(xmlName); //EmployeeRepository empRep = xmlWorker.readXML(); //Считываем данные с JSON JsonWorker jsWorker = new JsonWorker(jsName); EmployeeRepository empRep = jsWorker.jsonRead(); //Готовим данные для отправки Maven'у Message msg = new Message(new AvgSalary(empNum, salarySum), empRep); BinaryWorker bw = new BinaryWorker(); byte[] bytesToSend = bw.messageToBytes(msg); //Отправляем TCPClient senderToMaven = new TCPClient(IPAddress.Parse("127.0.0.1"), init.nodesPort()); senderToMaven.TCPSend(bytesToSend); } else if (init.isWhite() == false) { string jsName = init.txtName(); float salarySum = getSalaryList(jsName); int empNum = getEmpNum(jsName); //Готовим данные для отправки Message msg = new Message(new AvgSalary(empNum, salarySum), new EmployeeRepository()); BinaryWorker bw = new BinaryWorker(); byte[] bytes = bw.messageToBytes(msg); //Отправляем TCPClient senderToMaven = new TCPClient(IPAddress.Parse("127.0.0.1"), init.nodesPort()); senderToMaven.TCPSend(bytes); } }); t1.Wait(); Console.ReadLine(); }