override protected void ReadInternal(ResponseReader reader) { uint pace = reader.ReadUShort(); reader.ReadByte(); // Expecting 0x39 - Seconds per kilometer _pace.TotalHundreths = 50 * pace; }
override protected void ReadInternal(ResponseReader reader) { uint hours = reader.ReadByte(); uint minutes = reader.ReadByte(); uint seconds = reader.ReadByte(); _time.TotalHundreths = 100 * (3600 * hours + 60 * minutes + seconds); }
override protected void ReadInternal(ResponseReader reader) { var length = reader.ReadByte(); m_Data[0] = length; for (var index = 1; index < 33; index++) m_Data[index] = reader.ReadByte(); }
public void CreateEntryWorkTaskModelWithNulls() { var client = CreateClient("QAS.Multiplatform.Demo.edmx"); var feedReader = new ResponseReader(client.GetSchemaAsync().Result); var commandWriter = new CommandWriter(client.GetSchemaAsync().Result); string xml = GetResourceAsString("WorkTaskModelWithNulls.xml"); var document = XDocument.Parse(xml).Root; var row = feedReader.GetData(xml).Single(); var entry = commandWriter.CreateEntry("WorkTaskModel", row).Entry; AssertElementsCountEqual(document, entry, "m", "properties"); AssertElementsContentEqual(document, entry, "d", "Id"); AssertElementsContentEqual(document, entry, "d", "StartDate", false); AssertElementsContentEqual(document, entry, "d", "EndDate", false); AssertElementsContentEqual(document, entry, "d", "State"); AssertElementsContentEqual(document, entry, "d", "WorkerId"); AssertElementsContentEqual(document, entry, "d", "CustomerId"); }
public void CreateEntryCustomerWithAddress() { var feedReader = new ResponseReader(_client.GetSchemaAsync().Result); var commandWriter = new CommandWriter(_client.GetSchemaAsync().Result); string xml = GetResourceAsString("SingleCustomerWithAddress.xml"); var document = XDocument.Parse(xml).Root; var row = feedReader.GetData(xml).Single(); var entry = commandWriter.CreateEntry("Customers", row).Entry; AssertElementsCountEqual(document, entry, "m", "properties"); AssertElementsContentEqual(document, entry, "d", "CustomerID"); AssertElementsContentEqual(document, entry, "d", "CompanyName"); AssertElementsContentEqual(document, entry, "d", "Address"); AssertElementsContentEqual(document, entry, "d", "Type"); AssertElementsContentEqual(document, entry, "d", "City1"); AssertElementsContentEqual(document, entry, "d", "Region"); AssertElementsContentEqual(document, entry, "d", "PostalCode"); AssertElementsContentEqual(document, entry, "d", "Country"); }
internal protected override async Task <IList> ExecuteOeViaHttpClient <T, TResult>(QueryParameters <T, TResult> parameters, long?resourceSetCount) { WcfService.OdataWcfQuery result = await Program.Interceptor.Get(parameters.RequestUri); var responseReader = new ResponseReader(base.EdmModel); IList fromOe; if (typeof(TResult) == typeof(Object)) { fromOe = responseReader.Read <T>(result.Content).Cast <Object>().ToList(); } else { fromOe = responseReader.Read <TResult>(result.Content).Cast <Object>().ToList(); } if (resourceSetCount != null) { Xunit.Assert.Equal(resourceSetCount, responseReader.ResourceSet.Count); } return(fromOe); }
protected override void ReadInternal(ResponseReader reader) { Power = reader.ReadUShort(); reader.ReadByte(); // Expecting 0x58 - Watts }
internal SnapshotEndTick(ResponseReader r) { r.IgnoreVersion(); RequestId = r.ReadInt(); }
public ActionResult Edit(PropertyViewModel model) { Property property = new Property(); property.Name = model.Property.Name; ///substitute number rooms and floor area if left empty on form int numbRooms = 0; int floorArea = 0; if (model.NumbBedrooms.HasValue) { numbRooms = model.NumbBedrooms.Value; } if (model.FloorArea.HasValue) { floorArea = model.FloorArea.Value; } ///poplate model object property.Postcode = model.Property.Postcode.ToUpper(); property.NumbBedrooms = numbRooms; property.FloorArea = floorArea; int heatingType = model.Property.PropertyType.Heating.Id; int buildingType = model.Property.PropertyType.Building.Id; int wallType = model.Property.PropertyType.Walls.Id; try { ///create newProperty and submit edits. int propertyTypeId = ResponseReader.convertTo <int>(emAPI.getPropertyTypeId(heatingType, buildingType, wallType)); property.PropertyType = new PropertyType { Id = propertyTypeId }; string propertyJSON = JsonConvert.SerializeObject(property); ///check for success EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.editProperty(model.Property.Id, propertyJSON)); if (response.status == EMResponse.OK) { return(RedirectToAction("Home", "Property", new { id = model.Property.Id })); } else { ///populate model with selection lists and try again model.HeatingTypes = ResponseReader.convertTo <List <HeatingType> >(emAPI.getHeatingTypes()); model.BuildingTypes = ResponseReader.convertTo <List <BuildingType> >(emAPI.getBuildingTypes()); model.WallTypes = ResponseReader.convertTo <List <WallType> >(emAPI.getWallTypes()); return(View(model)); } } catch { return(View("Error")); } }
internal void Set(ResponseReader r) { Name = r.ReadString(); Value = r.ReadString(); DisplayName = r.ReadString(); }
public KeyValuePair <int, string> HandleResponse(bool isPost, string filename) { try { if (isPost) { //Regardless of response code, the behavior is the same if the client sends a POST request: int len = IPAddress.NetworkToHostOrder(reader.ReadInt32()); byte[] msg = reader.ReadBytes(len); ResponseReader responseReader = new ResponseReader(msg, s); if (responseReader.header.responseCode == 2) { Console.WriteLine(Encoding.UTF8.GetString(responseReader.header.description)); return(new KeyValuePair <int, string>(-1, Encoding.UTF8.GetString(responseReader.header.description))); } else if (responseReader.header.responseCode == 1) { FileStream fs = new FileStream(filename, FileMode.Open); long filesize = fs.Length; if (filesize < 1024) { byte[] filePart = new byte[filesize]; fs.Read(filePart, 0, (int)filesize); filePart = dencrypt(filePart); writer.Write(IPAddress.NetworkToHostOrder(filePart.Length)); writer.Write(filePart); writer.Flush(); return(new KeyValuePair <int, string>(0, "Successfully Uploaded File")); } else { byte[] filePart = new byte[1024]; while (fs.Read(filePart, 0, 1024) > 0) { filePart = dencrypt(filePart); writer.Write(IPAddress.NetworkToHostOrder(filePart.Length)); writer.Write(filePart); writer.Flush(); filePart = new byte[1024]; } return(new KeyValuePair <int, string>(0, "Successfully Uploaded File")); } } //ListRequest -- requestCode = 4, ResponeHeader.cs -> responsecode == 4 else if (responseReader.header.responseCode == 4) { List <string> directoryList = new List <string>(); FileStream fs = new FileStream(filename, FileMode.CreateNew); while (responseReader.header.responseCode != 3) { fs.Write(responseReader.header.description, 0, responseReader.header.description.Length); fs.Flush(); len = IPAddress.NetworkToHostOrder(reader.ReadInt32()); msg = reader.ReadBytes(len); responseReader = new ResponseReader(msg, s); } fs.Close(); return(new KeyValuePair <int, string>(0, "List go brrrr")); } else { Console.WriteLine("Invalid Response Received"); return(new KeyValuePair <int, string>(-1, "Invalid Response Received")); } } else { int len = IPAddress.NetworkToHostOrder(reader.ReadInt32()); byte[] msg = reader.ReadBytes(len); ResponseReader responseReader = new ResponseReader(msg, s); if (responseReader.header.responseCode == 2) { Console.WriteLine(Encoding.UTF8.GetString(responseReader.header.description)); return(new KeyValuePair <int, string>(0, Encoding.UTF8.GetString(responseReader.header.description))); } else if (responseReader.header.responseCode == 1) { FileStream fs = new FileStream(filename, FileMode.CreateNew); while (responseReader.header.responseCode != 3) { fs.Write(responseReader.header.description, 0, responseReader.header.description.Length); fs.Flush(); len = IPAddress.NetworkToHostOrder(reader.ReadInt32()); msg = reader.ReadBytes(len); responseReader = new ResponseReader(msg, s); } Console.WriteLine("File Received: {0}", filename); fs.Close(); return(new KeyValuePair <int, string>(0, "Successfully Received File")); } else { Console.WriteLine("Bad response received"); return(new KeyValuePair <int, string>(-1, "Bad response received")); } } } catch (Exception e) { Console.WriteLine(e); return(new KeyValuePair <int, string>(-1, e.Message)); } }
override protected void ReadInternal(ResponseReader reader) { _distance.TotalTenths = reader.ReadUInt() + reader.ReadByte(); }
internal VerifyAndAuthorizeCompleted(ResponseReader r) { r.IgnoreVersion(); IsSuccessful = r.ReadBool(); ErrorText = r.ReadString(); }
internal ContractDetailsEnd(ResponseReader r) { r.IgnoreVersion(); RequestId = r.ReadInt(); }
override protected void ReadInternal(ResponseReader reader) { Calories = reader.ReadUShort(); }
internal NewsProvider(ResponseReader r) { Code = r.ReadString(); Name = r.ReadString(); }
internal ReplaceFAEnd(ResponseReader reader) { RequestId = reader.ReadInt(); Text = reader.ReadString(); }
internal OrderBound(ResponseReader r) { OrderBoundId = r.ReadLong(); // was OrderId, but is a long here! ??? ClientId = r.ReadInt(); // was ApiClientId OrderId = r.ReadInt(); // was ApiIOrderId }
internal VerifyMessageApi(ResponseReader r) { r.IgnoreVersion(); Data = r.ReadString(); }
override protected void ReadInternal(ResponseReader reader) { var val = (StrokeState)reader.ReadByte(); StrokeState = Enum.IsDefined(typeof(StrokeState), val) ? val : StrokeState.Unknown; }
override protected void ReadInternal(ResponseReader reader) { _distance.TotalTenths = 10 * reader.ReadUShort(); reader.ReadByte(); // Expecting 0x24 - Metres }
/// <summary> /// 处理服务器推送 /// </summary> /// <returns></returns> public static async void Register() { if ((_reader != null && !_reader.IsClosed) || !Kit.IsLogon) { //Kit.Msg("已连接"); return; } #if WASM Dict dt = new Dict { { "sessionid", _sessionID }, { "model", "wasm" }, { "name", "Chrome" }, { "platform", "Browser" }, { "version", "11.0" }, }; #else Dict dt = new Dict { { "sessionid", _sessionID }, { "model", DeviceInfo.Model }, { "name", DeviceInfo.Name }, { "platform", DeviceInfo.Platform.ToString() }, { "version", DeviceInfo.VersionString }, }; #endif try { _reader = await AtMsg.Register(dt); } catch { _reader = null; // 小于最大重试次数重连 if (RetryTimes < _maxRetry) { RetryTimes++; //Kit.Msg($"第{RetryTimes}次重连"); _ = Task.Delay(TimeSpan.FromSeconds(Math.Pow(2, RetryTimes))).ContinueWith((t) => Register()); } else { Kit.Warn($"已重试{_maxRetry + 1}次,无法接收推送!"); } return; } // 连接成功,重连次数复位 RetryTimes = 0; bool allowRetry = true; try { while (await _reader.MoveNext()) { var msg = _reader.Val <string>(); if (msg == ":Close") { allowRetry = false; } else { new PushHandler().Call(msg); } } } catch { } if (allowRetry) { // 默认允许重连,除非服务端主动取消连接 _ = Task.Run(() => Register()); } //else //{ // Kit.Msg("已停止接收推送!"); //} }
internal NextId(ResponseReader r) { r.IgnoreVersion(); Id = r.ReadInt(); }
internal HeadTimestamp(ResponseReader r) { RequestId = r.ReadInt(); HeadTimeStamp = r.ReadString(); }
internal FinancialAdvisor(ResponseReader r) { r.IgnoreVersion(); DataType = r.ReadEnum <FinancialAdvisorDataType>(); Data = r.ReadString(); }
override protected void ReadInternal(ResponseReader reader) { HeartRate = reader.ReadByte(); }
internal RerouteMktDepth(ResponseReader r) { RequestId = r.ReadInt(); ContractId = r.ReadInt(); Exchange = r.ReadString(); }
internal SoftDollarTier(ResponseReader r) { Set(r); }
internal AccountPositionMultiEnd(ResponseReader r) { r.IgnoreVersion(); RequestId = r.ReadInt(); }
internal override void Deserialize(ResponseReader r) { base.Deserialize(r); IsMore = r.ReadBool(); Value = r.ReadString(); }
/// <inheritdoc /> public void Send(string serialNumber, ICommandList commands) { if (!commands.CanSend) { InvalidOperationException e = new("CommandList was not made ready before Send was called"); _logger.LogError(e, "Send failed."); throw e; } Location?location = _devices.GetLocation(serialNumber); if (location == null) { throw new InvalidOperationException("Location was null when sending to serial number."); } lock (_deviceLocker[location.Value]) { const int delayInMilliseconds = 10; double?millisecondsSinceLastSend = null; if (_lastSends.ContainsKey(location.Value)) { millisecondsSinceLastSend = (DateTime.UtcNow - _lastSends[location.Value]).TotalMilliseconds; } if (millisecondsSinceLastSend != null && millisecondsSinceLastSend < delayInMilliseconds) { Thread.Sleep(delayInMilliseconds - (int)millisecondsSinceLastSend); } _ = _devices.TryGetValue(location.Value, out IUsbDevice? device); if (device == null) { _logger.LogCritical("Device was null when getting it using location."); return; } bool shouldRetry = false; int retryCount = 0; int currentFrameNumber = 0; Error writeResult = Error.Other; do { for (int frameNumber = currentFrameNumber; frameNumber < commands.TotalFrames;) { // Generate the write buffer and write to PM byte[] writeBuffer = commands.GetFrame(frameNumber).Select(b => (byte)b).ToArray(); UsbEndpointWriter writer = device.OpenEndpointWriter(LibUsbDotNet.Main.WriteEndpointID.Ep02); try { writeResult = writer.Write(writeBuffer, 100, out int writeBufferSize); if (writeResult == Error.Io) { CloseAndOpen(device); shouldRetry = retryCount++ < 2; continue; } shouldRetry = false; frameNumber++; } catch (Exception e) { _logger.LogWarning(e, "Exception occurred during writing. Buffer: [{WriteBuffer}]", writeBuffer); } finally { _lastSends[location.Value] = DateTime.UtcNow; } } } while (shouldRetry); if (writeResult != Error.Success) { _logger.LogWarning("An error occurred while writing. Result: [{WriteResult}])", writeResult); return; } byte[] readBuffer = new byte[1024]; Error readResult = Error.Other; retryCount = 0; shouldRetry = false; do { UsbEndpointReader reader = device.OpenEndpointReader(LibUsbDotNet.Main.ReadEndpointID.Ep01); try { readResult = reader.Read(readBuffer, 100, out int responseDataSize); if (readResult == Error.Io) { CloseAndOpen(device); shouldRetry = retryCount++ < 2; continue; } if (commands.TotalFrames > 1) { // This is required if there was more than one packet. // TODO: Improve this so that results from each packet are read in. reader.ReadFlush(); } shouldRetry = false; } catch (Exception e) { _logger.LogWarning(e, "Exception occurred during reading. Buffer: [{ReadBuffer}]", readBuffer); return; } } while (shouldRetry); if (readResult != Error.Success) { _logger.LogWarning("An error occurred while reading. Result: [{ReadResult}])", readResult); return; } IResponseReader responseReader = new ResponseReader(readBuffer.Select(b => (uint)b)); bool responseReaderSuccess = commands.Read(responseReader); if (!responseReaderSuccess) { _logger.LogWarning("An error occurred while consuming the read buffer. Result: [{ResponseReadResult}])", responseReaderSuccess); return; } } }
internal OptionComputationTick(ResponseReader r) { if (!r.Builder.SupportsServerVersion(ServerVersion.PRICE_BASED_VOLATILITY)) { r.RequireVersion(6); } RequestId = r.ReadInt(); TickType = r.ReadEnum <TickType>(); if (r.Builder.SupportsServerVersion(ServerVersion.PRICE_BASED_VOLATILITY)) { TickAttrib = r.ReadInt(); } ImpliedVolatility = r.ReadDoubleNullable(); if (ImpliedVolatility == -1) { ImpliedVolatility = null; } Delta = r.ReadDoubleNullable(); if (Delta == -2) { Delta = null; } OptPrice = r.ReadDoubleNullable(); if (OptPrice == -1) { OptPrice = null; } PvDividend = r.ReadDoubleNullable(); if (PvDividend == -1) { PvDividend = null; } Gamma = r.ReadDoubleNullable(); if (Gamma == -2) { Gamma = null; } Vega = r.ReadDoubleNullable(); if (Vega == -2) { Vega = null; } Theta = r.ReadDoubleNullable(); if (Theta == -2) { Theta = null; } UndPrice = r.ReadDoubleNullable(); if (UndPrice == -1) { UndPrice = null; } }
public ActionResult Register(UserViewModel model) { ///check if username & email are unique /// bool userNameIsUnique = false; bool emailIsUnique = false; userNameIsUnique = ResponseReader.convertTo <bool>(emAPI.usernameIsUnique(model.User.Username)); emailIsUnique = ResponseReader.convertTo <bool>(emAPI.emailIsUnique(model.User.Email)); if (userNameIsUnique) { if (emailIsUnique) { if (model.ConfirmNewPassword == model.NewPassword && model.NewPassword != null) { ///ok to create the user ///hash the password string cryptedPassword = encryptPassword(model.NewPassword, model.Username); int newUserId = 0; try { FormsAuthentication.SignOut(); ///get user id from emAPI newUserId = ResponseReader.convertTo <int>(emAPI.createUser(model.User.Username, model.User.Forename, model.User.Surname, cryptedPassword, model.User.Email)); if (newUserId != 0) { ///login FormsAuthentication.SetAuthCookie(newUserId.ToString(), false); } else { throw new Exception(); } } catch { ModelState.AddModelError("", "There has been an error registering your details. Please try again."); return(View(model)); } if (model.CreateAPropertyNow) { ///redirect to create a property return(RedirectToAction("Create", "Property", new { userId = newUserId })); } else { ///redirect to home return(RedirectToAction("UserHome", "Home", new { id = newUserId })); } } else { ///the passwords do not match ModelState.AddModelError("", "Confirmation password does not match"); } } else { ///the email is not unique ModelState.AddModelError("", ErrorCodeToString(MembershipCreateStatus.DuplicateEmail)); } } else { ///the username is not unique ModelState.AddModelError("", ErrorCodeToString(MembershipCreateStatus.DuplicateUserName)); } return(View(model)); }
public ResponseReader Dispatch() { _responseReader = Request.Dispatch(_serviceClient); return(_responseReader); }
public virtual IEnumerable <CsvRow> RetrieveExportData(string id) { return(ResponseReader.ReadExportData(RetrieveExportStream(id))); }
override protected void ReadInternal(ResponseReader reader) { _time.TotalHundreths = reader.ReadUInt() + reader.ReadByte(); }
internal HistoricalNewsEnd(ResponseReader r) { RequestId = r.ReadInt(); HasMore = r.ReadBool(); }
internal AccountSummaryEnd(ResponseReader r) { r.IgnoreVersion(); RequestId = r.ReadInt(); }
override protected void ReadInternal(ResponseReader reader) { DragFactor = reader.ReadByte(); }
override protected void ReadInternal(ResponseReader reader) { StrokeRate = reader.ReadUShort(); reader.ReadByte(); // Expecting 0x54 - StrokesPerMinute }
internal VerifyAndAuthorizeMessageApi(ResponseReader r) { r.IgnoreVersion(); ApiData = r.ReadString(); XyzChallenge = r.ReadString(); }
public virtual Stream RetrieveExportStream(string id) { string url = string.Format("{0}/apps/api/file/{1}.csv", _config.Session.InstanceUrl, id); return(ResponseReader.ReadStream(url, _config.Username, _config.Password)); }
protected override void ReadInternal(ResponseReader reader) { DragFactor = (uint)reader.ReadByte(); }
public virtual IEnumerable <T> RetrieveExportRecords <T>(string id, bool retrieveRelated = true) where T : ZObject { return(ResponseReader.ReadExportRecords <T>(RetrieveExportStream(id), retrieveRelated)); }
internal override void Deserialize(ResponseReader r) { base.Deserialize(r); TriggerMethod = r.ReadEnum <TriggerMethod>(); }
public FeedReaderTests() { _feedReader = new ResponseReader(_client.GetSchemaAsync().Result); }
override protected void ReadInternal(ResponseReader reader) { var val = (WorkoutType)reader.ReadByte(); WorkoutType = Enum.IsDefined(typeof(WorkoutType), val) ? val : WorkoutType.Unknown; }