public T Get <T>(string[] ids) { T dbRecord = default(T); string tableName = GetTableName(typeof(T)); Table table = Table.LoadTable(client, tableName); Task <Document> task; if (ids.Length <= 1) { task = table.GetItemAsync(ids[0]); } else { task = table.GetItemAsync(ids[0], ids[1]); } task.Wait(defaultTimeout); Document doc = task.Result; if (doc != null) { dbRecord = JsonTools.Deserialize <T>(doc.ToJson()); } return(dbRecord); }
static void Main(string[] args) { mytest m = new mytest(); m.Name = "Theo"; m.SurName = "Uys"; List <mytest> m2 = new List <mytest>(); m2.Add(m); string jsonString; jsonString = JsonSerializer.Serialize(m2); //jsonString = "[" + jsonString + "]"; Console.Write(jsonString); IEnumerable <mytest> menum; JsonTools <mytest> retObject = new JsonTools <mytest>(); menum = retObject.Deserialize(jsonString); Console.ReadKey(); }
public List <T> Export <T>() { List <T> records = new List <T>(); string tableName = GetTableName(typeof(T)); Table table = Table.LoadTable(client, tableName); ScanFilter filter = new ScanFilter(); Search search = table.Scan(filter); List <Document> documents = new List <Document>(); Task <List <Document> > task; do { task = search.GetNextSetAsync(); task.Wait(defaultTimeout); documents = task.Result; int exportedCount = 0; foreach (Document document in documents) { records.Add(JsonTools.Deserialize <T>(document.ToJson())); exportedCount++; } } while (!search.IsDone); return(records); }
public void ModelToJsonTests() { var add = new Add <Book>(new Book { Id = 0, Title = "Book first." }); var json = JsonTools.Serialize(add); var convertedBack = JsonTools.Deserialize <Add <Book> >(json); Assert.AreEqual(add.Item.Title, convertedBack.Item.Title); }
public string SignupStandardUser(string user) { string result = ""; UserModel signupUser = JsonTools.Deserialize <UserModel>(user); #warning PASSWORD MUST BE ENCRYPTED. PREFERABLY THIS SHOULD BE DONE ON THE CLIENT SignupResultModel model = (SignupResultModel)DatabaseManager.Instance.SignupStandardUser(signupUser); //- Create json object based on the result type result = JsonTools.Serialize <SignupResultModel>(model); return(result); }
private void OnLoginTouchUpInside(object sender, EventArgs args) { string loginurl = _serverurl + "/authentication/loginstandarduser"; string url = string.Format("{0}?uid={1}&pw={2}", loginurl, _username, _password); WebClient client = new WebClient(); string result = client.DownloadString(url); LoginResultModel model = JsonTools.Deserialize <LoginResultModel> (result); if (OnLoginCompleted != null) { OnLoginCompleted(this, model); } }
/// <summary> /// Gets the user contacts. /// </summary> public async Task <List <UserModel> > GetUserContacts(string email, DateTime utcdate) { string usercontactsurl = string.Format(_serverurl + "/data/GetUserContacts?email={0}&utcdate={1}", email, utcdate.ToString()); WebClient client = new WebClient(); Task <List <UserModel> > usercontactstask = Task.Run(() => { string result = client.DownloadString(usercontactsurl); List <UserModel> contacts = JsonTools.Deserialize <List <UserModel> >(result); return(contacts); }); return(await usercontactstask); }
/// <summary> /// Retrieve complete user information from the server /// </summary> public async Task <UserModel> GetUserInfo(string email) { string userinfourl = string.Format(_serverurl + "/data/getuserinfo?email={0}", email); WebClient client = new WebClient(); Task <UserModel> userinfotask = Task.Run(() => { string result = client.DownloadString(userinfourl); UserModel user = JsonTools.Deserialize <UserModel>(result); return(user); }); return(await userinfotask); }
private void OnSignupTouchUpInside(object sender, EventArgs args) { string data = JsonTools.Serialize <UserModel> (User); data = string.Format("user= {0}", data); WebClient client = new WebClient(); client.Headers [HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; string result = client.UploadString(_signupurl, data); //client.UploadString (_signupurl, "{data: 'believe me!'}");// SignupResultModel model = JsonTools.Deserialize <SignupResultModel> (result); if (OnSignupCompleted != null) { OnSignupCompleted(this, model); } }
public void PatchModelToJsonTests() { var patch = new Patch <Book, int, string>(nameof(Book.Id), 1, nameof(Book.Title), "Patched"); var json = JsonTools.Serialize(patch); var convertedBack = JsonTools.Deserialize <Patch <Book, int, string> >(json); var repo = new CollectionRepository <Book> { new Book { Id = 1, Title = "Book second." } }; repo.ApplyChange(convertedBack); var only = repo.Single(); Assert.AreEqual("Patched", only.Title); }
public void DropModelToJsonTests() { var drop = new Drop <Book, int>(nameof(Book.Id), 1); var json = JsonTools.Serialize(drop); var convertedBack = JsonTools.Deserialize <Drop <Book, int> >(json); var repo = new CollectionRepository <Book> { new Book { Id = 0, Title = "Book first." }, new Book { Id = 1, Title = "Book second." } }; repo.ApplyChange(convertedBack); var only = repo.Single(); Assert.AreEqual(0, only.Id); }
public ExportImportReply ImportDatabase(ExportImportRequest request, ILambdaContext ctx) { processor.Logger = new LambdaLogger(ctx.Logger); processor.Logger.Info($"Version : {Version}"); processor.Logger.Info(JsonTools.Serialize(request)); string filename = Utils.GetValue(request.FileName, "DefaultExportImportFile", null); AwsClient client = new AwsClient(); ZephyrFile file = new AwsS3ZephyrFile(client, filename); file.Open(AccessType.Read, false); string importText = file.ReadAllText(); List <ExportRecord> records = JsonTools.Deserialize <List <ExportRecord> >(importText); processor.ImportData(records, request.IncludeSignals); // Build Reply Message ExportImportReply reply = new ExportImportReply(); reply.Action = "Import"; reply.FileName = filename; foreach (ExportRecord record in records) { if (!request.IncludeSignals && record.type == "SignalDbRecord") { continue; } ExportImportType type = new ExportImportType(); type.Type = record.type; type.Count = record.records.Count; reply.Records.Add(type); } return(reply); }
public static void Main(string[] args) { /*** Export Database Records ***/ DynamoDbEngine db = new DynamoDbEngine(); Processor processor = new Processor(db); processor.Logger = new ConsoleLogger(); /*** Export To S3 Bucket ***/ //List<ExportRecord> export = processor.ExportData(false); //AwsClient client = new AwsClient(); //ZephyrFile file = new AwsS3ZephyrFile(client, "s3://guywaguespack/export.json"); //file.Create(); //file.WriteAllText(JsonTools.Serialize(export, true)); /*** Import From S3 Bucket ***/ AwsClient client = new AwsClient(); ZephyrFile file = new AwsS3ZephyrFile(client, "s3://guywaguespack/export.json"); file.Open(AccessType.Read); string importText = file.ReadAllText(); List <ExportRecord> records = JsonTools.Deserialize <List <ExportRecord> >(importText); processor.ImportData(records, false); Console.WriteLine("Completed"); /*** Send Signal Message ***/ //int signalCount = 1; //TextReader reader = new StreamReader(new FileStream(@"/Users/guy/Documents/Source/syntinel.core.net/Syntinel.Tester/TestFiles/Signal-UsingTemplate.json", FileMode.Open)); //string fileStr = reader.ReadToEnd(); //Signal signal = JsonConvert.DeserializeObject<Signal>(fileStr); //Parallel.For(0, signalCount, index => //{ // SignalReply reply = processor.ProcessSignal(signal); // Console.WriteLine($"Status : {reply.StatusCode}"); // foreach (SignalStatus status in reply.Results) // Console.WriteLine($" {status.ChannelId} : {status.Code} - {status.Message}"); //}); /*** Send Teams Cue Response ***/ //int cueCount = 1; //TextReader reader = new StreamReader(new FileStream(@"/Users/guy/Documents/Source/syntinel.core.net/Syntinel.Tester/TestFiles/Cue-Teams.json", FileMode.Open)); //string fileStr = reader.ReadToEnd(); //Dictionary<string, object> reply = JsonConvert.DeserializeObject<Dictionary<string, object>>(fileStr); //Cue cue = Teams.CreateCue(reply); //Parallel.For(0, cueCount, index => // { // string num = $"{index}".PadLeft(4, '0'); // CueReply cueReply = processor.ReceiveCue(cue); // Console.WriteLine($"{num} - {JsonTools.Serialize(cueReply)}"); // }); /*** Stress Test Status Messages ***/ //int statusCount = 1; //string signalId = "000000000"; //string actionId = "0ZC6BJ28Z"; //Parallel.For(1, statusCount, index => //{ // Status status = new Status(); // status.Id = signalId; // status.ActionId = actionId; // status.NewStatus = StatusType.InProgress; // string num = $"{index}".PadLeft(4, '0'); // status.Message = $"Message {num}"; // StatusReply reply = processor.ProcessStatus(status); // Console.WriteLine($"{num} - {reply.StatusCode}"); //}); //Status status = new Status(); //status.Id = signalId; //status.ActionId = actionId; //status.Message = "Last Message"; //status.NewStatus = StatusType.Completed; //status.SendToChannels = false; //processor.ProcessStatus(status); /*** Test Syntinel.Version ***/ //string[] vArgs = { "/Users/guy/Documents/Source/syntinel.core.net/Syntinel.Aws" }; //Syntinel.Version.Program.Main(vArgs); }
public static Task Monitor <T>(this WebSocket ws, Func <T, Task> onNewObject) { return(ws.Subscribe(rawJson => onNewObject(JsonTools.Deserialize <T>(rawJson)))); }