public object Post(ReqComplexDataAsStringDTO request) { Log.Debug("entering PostComplexDataAsString Post"); Log.Debug($"in PostComplexDataAsString Post; request: {request.Dump()}"); // do some simple processing on the request data, then send both the original and the modified complex data objects back in the response. // For demo02, expect to get a string that has the ComplexData serialized into it. string reqComplexDataAsString = request.ComplexDataAsString; Log.Debug($"in PostComplexDataAsString Post; reqComplexDataAsString: {reqComplexDataAsString}"); // Deserialize the data from the request to a ComplexData using the ServiceStack Json-deserializer ComplexData reqComplexData = ServiceStack.Text.JsonSerializer.DeserializeFromString <ComplexData>(reqComplexDataAsString); Log.Debug($"in PostComplexDataAsString Post; reqComplexData: {reqComplexData}"); // Create a response ComplexData var now = DateTime.UtcNow; ComplexData rspComplexData = new ComplexData() { StringData = reqComplexData.StringData + "... Right Back At Ya", DateTimeData = now, TimeSpanData = now - reqComplexData.DateTimeData, DoubleData = reqComplexData.DoubleData * 2, IntData = reqComplexData.IntData + 1, DecimalData = reqComplexData.DecimalData / 10 }; Log.Debug($"in PostComplexDataAsString Post; rspComplexData: {rspComplexData}"); // Serialize it to a string using ServiceStack Serializer string rspComplexDataAsString = ServiceStack.Text.JsonSerializer.SerializeToString <ComplexData>(rspComplexData); Log.Debug($"in PostComplexDataAsString Post; rspComplexDataAsString: {rspComplexDataAsString}"); // Create a responseDTO object RspComplexDataAsStringDTO rspComplexDataAsStringDTO = new RspComplexDataAsStringDTO() { ComplexDataAsString = rspComplexDataAsString }; Log.Debug($"in PostComplexDataAsString Post; rspComplexDataAsStringDTO = {rspComplexDataAsStringDTO}"); Log.Debug("leaving PostComplexDataAsString Post"); return(rspComplexDataAsStringDTO); }
public override void WriteValue(ComplexData structure, HexPosition position) { if (structure == null) { throw new ArgumentNullException(nameof(structure)); } if (!structure.Span.Span.Contains(position)) { throw new ArgumentOutOfRangeException(nameof(position)); } var field = structure.GetSimpleField(position); Debug.Assert(field != null); if (field == null) { return; } var data = field.Data as SimpleData; Debug.Assert(data != null); if (data == null) { return; } try { data.WriteValue(this); return; } catch (ArithmeticException) { } catch (OutOfMemoryException) { } WriteUnknownValue(); }
public override object GetToolTip(HexBufferFile file, ComplexData structure, HexPosition position) { var body = structure as DotNetMethodBody; if (body != null) { return(GetToolTip(body, position)); } var resource = structure as DotNetEmbeddedResource; if (resource != null) { return(GetToolTip(resource, position)); } var resDataHdr = structure as MultiResourceDataHeaderData; if (resDataHdr != null) { return(GetToolTip(resDataHdr, position)); } var guidRecord = structure as GuidHeapRecordData; if (guidRecord != null) { return(GetToolTip(guidRecord, position)); } var stringsRecord = structure as StringsHeapRecordData; if (stringsRecord != null) { return(GetToolTip(stringsRecord, position)); } var usRecord = structure as USHeapRecordData; if (usRecord != null) { return(GetToolTip(usRecord, position)); } var blobRecord = structure as BlobHeapRecordData; if (blobRecord != null) { return(GetToolTip(blobRecord, position)); } var tableRecord = structure as TableRecordData; if (tableRecord != null) { return(GetToolTip(tableRecord, position)); } return(null); }
public void div(ComplexData comp1, ComplexData comp2, ComplexData compAns) { Double numerFirstReal = comp1.getRealNumber() * comp2.getRealNumber(); Double numerOuterConjImag = comp1.getRealNumber() * (comp2.getImagNumber() * -1); Double numerInnerImag = comp1.getImagNumber() * comp2.getRealNumber(); Double numerLastConjReal = comp1.getImagNumber() * (comp2.getImagNumber() * -1) * -1; Double denomFirstReal = comp2.getRealNumber() * comp2.getRealNumber(); Double denomOuterConjImag = comp2.getRealNumber() * (comp2.getImagNumber() * -1); Double denomInnerImag = comp2.getImagNumber() * comp2.getRealNumber(); Double denomLastConjReal = comp2.getImagNumber() * (comp2.getImagNumber() * -1) * -1; Double realAns; Double imagAns; if (denomFirstReal + denomLastConjReal != 0) { realAns = (numerFirstReal + numerLastConjReal) / (denomFirstReal + denomLastConjReal); imagAns = (numerOuterConjImag + numerInnerImag) / (denomFirstReal + denomLastConjReal); } else { realAns = (numerFirstReal + numerLastConjReal); imagAns = (numerOuterConjImag + numerInnerImag); } compAns.setRealNumber(realAns); compAns.setImagNumber(imagAns); }
public override void WriteField(ComplexData structure, HexPosition position) { if (structure == null) { throw new ArgumentNullException(nameof(structure)); } if (!structure.Span.Span.Contains(position)) { throw new ArgumentOutOfRangeException(nameof(position)); } structure.WriteName(this); for (;;) { var field = structure.GetFieldByPosition(position); if (field == null) { break; } field.WriteName(this); structure = field.Data as ComplexData; if (structure == null) { break; } } }
public Task ComplexMemberData(ComplexData arg) { VerifySettings settings = new(); settings.UseParameters(arg); return(Verifier.Verify(arg, settings)); }
static bool IsValidIndexes(HexIndexes[] indexes, ComplexData structure) { if (indexes == null) { return(false); } if (indexes.Length == 0) { return(true); } if ((uint)indexes[0].End > (uint)structure.FieldCount) { return(false); } if (indexes[0].IsEmpty) { return(false); } for (int i = 1; i < indexes.Length; i++) { if (indexes[i - 1].End > indexes[i].Start) { return(false); } if ((uint)indexes[i].End > (uint)structure.FieldCount) { return(false); } if (indexes[i].IsEmpty) { return(false); } } return(true); }
public override HexSpan?GetFieldReferenceSpan(HexBufferFile file, ComplexData structure, HexPosition position) { if (structure is MultiResourceUnicodeNameAndOffsetData resourceNameOffs) { return(GetFieldReferenceSpan(file, resourceNameOffs, position)); } if (structure is DotNetCor20Data cor20) { return(GetFieldReferenceSpan(file, cor20, position)); } if (structure is DotNetMultiFileResourceHeaderData multiResourceHeader) { return(GetFieldReferenceSpan(file, multiResourceHeader, position)); } if (structure is DotNetMetadataHeaderData mdHeader) { return(GetFieldReferenceSpan(file, mdHeader, position)); } if (structure is FatMethodBody fatBody) { return(GetFieldReferenceSpan(file, fatBody, position)); } if (structure is TableRecordData record) { return(GetFieldReferenceSpan(file, record, position)); } return(null); }
public override HexIndexes[] GetSubStructureIndexes(HexBufferFile file, ComplexData structure, HexPosition position) { if (structure is DotNetMethodBody body) { if (body.Kind == DotNetMethodBodyKind.Tiny) { return(Array.Empty <HexIndexes>()); } if (body is FatMethodBody fatBody) { if (fatBody.EHTable == null) { return(subStructFatWithoutEH); } return(subStructFatWithEH); } } if (structure is DotNetEmbeddedResource) { return(Array.Empty <HexIndexes>()); } if (structure is MultiResourceDataHeaderData multiResource) { if (multiResource is MultiResourceSimplDataHeaderData || multiResource is MultiResourceStringDataHeaderData) { return(multiResourceFields2); } if (multiResource is MultiResourceArrayDataHeaderData) { return(multiResourceFields3); } Debug.Fail($"Unknown multi res type: {multiResource.GetType()}"); } var stringsRec = structure as StringsHeapRecordData; if (stringsRec?.Terminator != null) { return(stringsRecordIndexes); } if (structure is USHeapRecordData usRec) { if (usRec.TerminalByte != null) { return(usRecordIndexes3); } return(usRecordIndexes2); } if (structure is BlobHeapRecordData) { return(blobRecordIndexes2); } return(null); }
public override ImageReference?GetImage(ComplexData structure, HexPosition position) { if (structure is MultiResourceUnicodeNameAndOffsetData nameOffset) { return(GetImageReference(nameOffset)); } return(null); }
public override object GetToolTip(HexBufferFile file, ComplexData structure, HexPosition position) { var toolTipCreator = toolTipCreatorFactory.Create(); var contentCreator = toolTipCreator.ToolTipContentCreator; contentCreator.Image = GetImage(structure, position); contentCreator.Writer.WriteFieldAndValue(structure, position); return(toolTipCreator.Create()); }
public override object GetReference(HexBufferFile file, ComplexData structure, HexPosition position) { var body = structure as DotNetMethodBody; if (body != null) { return(GetReference(file, body, position)); } return(null); }
public override HexIndexes[] GetSubStructureIndexes(HexBufferFile file, ComplexData structure, HexPosition position) { var sections = structure as PeSectionsData; if (sections != null) { return(Array.Empty <HexIndexes>()); } return(null); }
public void mult(ComplexData comp1, ComplexData comp2, ComplexData compAns) { Double firstReal = comp1.getRealNumber() * comp2.getRealNumber(); Double outerImag = comp1.getRealNumber() * comp2.getImagNumber(); Double innerImag = comp1.getImagNumber() * comp2.getRealNumber(); Double lastReal = comp1.getImagNumber() * comp2.getImagNumber() * -1; Double realAns = firstReal + lastReal; Double imagAns = outerImag + innerImag; compAns.setRealNumber(realAns); compAns.setImagNumber(imagAns); }
ImageReference GetImage(ComplexData structure, HexPosition position) { foreach (var lz in hexFileImageReferenceProviders) { var imgRef = lz.Value.GetImage(structure, position); if (imgRef != null) { return(imgRef.Value); } } return(DsImages.FieldPublic); }
public async Task SaveComplex() { Redis.PersistencyRegistration.RegisterHashSet <ComplexData>(); var data = new ComplexData(); data.Date = new DateTime(2012, 02, 02); var newKey = new ObjectKey("Complex"); await Redis.Client.AddRecord(newKey, data).ConfigureAwait(false); var result = await Redis.Client.GetRecords <ComplexData>(newKey).FirstAsync(); Assert.AreEqual(data.Date, result.Date); }
public ComplexData GetDTO() { var dto = new ComplexData() { String1 = "First", String2 = "Second", Int1 = 1111, Int2 = 2222, Date1 = DateTime.Now }; return(dto); }
public ComplexData GetDTOError() { var dto = new ComplexData() { String1 = "First", String2 = "Second", Int1 = 1111, Int2 = 2222, Date1 = DateTime.Now }; throw new InvalidOperationException("Testing exceptions"); }
public HttpResponseMessage GetDTOErrorAsRequested() { var dto = new ComplexData() { String1 = "First", String2 = "Second", Int1 = 1111, Int2 = 2222, Date1 = DateTime.Now }; var response = Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Something else did not work"); return(response); }
public Task <ComplexData> Complex(int requestId, ComplexData data, string name, List <SubData> datas) { return(Task.FromResult( new ComplexData { SomeInt = requestId, SomeULong = 0, SomeString = name, SomeArrString = new List <string> { "Test1", "Test2" }, SomeArrRec = datas })); }
public override HexSpan?GetFieldReferenceSpan(HexBufferFile file, ComplexData structure, HexPosition position) { if (structure is PeOptionalHeaderData optHdr) { return(GetFieldReferenceSpan(file, optHdr, position)); } if (structure is PeSectionsData sections) { return(GetFieldReferenceSpan(file, sections, position)); } return(null); }
public HttpResponseMessage GetDTOAsRequested() { var dto = new ComplexData() { String1 = "First", String2 = "Second", Int1 = 1111, Int2 = 2222, Date1 = DateTime.Now }; var response = Request.CreateResponse(dto); response.Headers.Add("Some Header", "Has Some Value"); return(response); }
public override HexSpan?GetFieldReferenceSpan(HexBufferFile file, ComplexData structure, HexPosition position) { var resourceNameOffs = structure as MultiResourceUnicodeNameAndOffsetData; if (resourceNameOffs != null) { return(GetFieldReferenceSpan(file, resourceNameOffs, position)); } var cor20 = structure as DotNetCor20Data; if (cor20 != null) { return(GetFieldReferenceSpan(file, cor20, position)); } var multiResourceHeader = structure as DotNetMultiFileResourceHeaderData; if (multiResourceHeader != null) { return(GetFieldReferenceSpan(file, multiResourceHeader, position)); } var mdHeader = structure as DotNetMetadataHeaderData; if (mdHeader != null) { return(GetFieldReferenceSpan(file, mdHeader, position)); } var fatBody = structure as FatMethodBody; if (fatBody != null) { return(GetFieldReferenceSpan(file, fatBody, position)); } var record = structure as TableRecordData; if (record != null) { return(GetFieldReferenceSpan(file, record, position)); } return(null); }
public void AddProject(NuGetProjectType projectType, string projectId, int nullCount, int totalCount) { ProjectTypeAndData projectTypeAndData; if (ComplexData.TryGetValue(Data, out object value) && value is ProjectTypeAndData data) { projectTypeAndData = data; } else { projectTypeAndData = new ProjectTypeAndData(projectType.ToString()); ComplexData[Data] = projectTypeAndData; } projectTypeAndData.Projects.Add(new ProjectData(projectId, nullCount, totalCount)); }
public HttpResponseMessage GetDTOAsJason() { var dto = new ComplexData() { String1 = "First", String2 = "Second", Int1 = 1111, Int2 = 2222, Date1 = DateTime.Now }; var response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(dto), Encoding.UTF8, "application/json") }; return(response); }
public void AddProject(NuGetProjectType projectType, string projectId, int nullCount, int totalCount) { List <ProjectData> projectDatas; if (ComplexData.TryGetValue(Data, out object value) && value is List <ProjectData> data) { projectDatas = data; } else { projectDatas = new List <ProjectData>(); ComplexData[Data] = projectDatas; } projectDatas.Add(new ProjectData(projectId, projectType, nullCount, totalCount)); }
public override HexSpan?GetFieldReferenceSpan(HexBufferFile file, ComplexData structure, HexPosition position) { var optHdr = structure as PeOptionalHeaderData; if (optHdr != null) { return(GetFieldReferenceSpan(file, optHdr, position)); } var sections = structure as PeSectionsData; if (sections != null) { return(GetFieldReferenceSpan(file, sections, position)); } return(null); }
public EditFieldCommandContext(HexView hexView, ComplexData structure, SimpleData field) { if (hexView == null) { throw new ArgumentNullException(nameof(hexView)); } if (structure == null) { throw new ArgumentNullException(nameof(structure)); } if (field == null) { throw new ArgumentNullException(nameof(field)); } HexView = hexView; Structure = structure; Field = field; }
public override object GetReference(HexBufferFile file, ComplexData structure, HexPosition position) { var peStructure = PEStructure.TryCreate(peStructureProviderFactory, file); if (peStructure == null) { return(null); } var info = peStructure.GetField(position); if (info != null) { return(new HexFieldReference(file, info.Value.Structure, info.Value.Field)); } return(null); }
public async Task ReturnResult8WhenMultiply124() { var operation = new ComplexData { What = "multiply", Numbers = new int?[] { 1, 2, 4 } }; var ops = JsonConvert.SerializeObject(operation); var stringContent = new StringContent(ops.ToString(), Encoding.UTF8, "application/json"); var response = await Client.PostAsync("/arrays", stringContent); string responseJson = await response.Content.ReadAsStringAsync(); Assert.Equal("{\"result\":8}", responseJson); }
public BranchComplexData(ComplexData left, ComplexData right) { Left = left; Right = right; }