public void ReceiveFile() { var stream = fileHandler.ReadFrame(GetLength()); var fileNameSize = BitConverter.ToInt32(stream, 0); var fileSize = BitConverter.ToInt64(stream, Specification.FixedFileNameLength); var fileName = Encoding.UTF8.GetString(fileHandler.ReadFrame(fileNameSize)); long parts = SpecificationHelper.GetParts(fileSize); long offset = 0; long currentPart = 1; while (fileSize > offset) { byte[] data; if (currentPart == parts) { var lastPartSize = (int)(fileSize - offset); data = fileHandler.ReadFrame(lastPartSize); offset += lastPartSize; } else { data = fileHandler.ReadFrame(Specification.MaxPacketSize); offset += Specification.MaxPacketSize; currentPart++; } fileHandler.Write(fileName, data); } }
private async Task ReceiveRequest(ToursRequest request) { var tours = await _tourRepository.Search(SpecificationHelper.GetSpecification(request.SearchPattern)); _messageBusClient.SendMessage(new ToursResponse(request.RequestId, nameof(OtherSearchService)) { Data = tours.Select(t => new Tour(t.Id, t.Provider.Name, t.Hotel.Name, t.RoomType.Name, t.DepartureCity.Name, t.Airline.Name, t.DepartureDate, t.ArrivalDate, t.HotelCheckInDate, t.HotelNightCount, t.HotelNightPriceByPerson, t.PersonMaxCount)).ToList() }); }
private void ResultsFromFindings(Dictionary <string, List <MeasurementGroup> > findings) { Dictionary <string, List <MeasurementSpecification> > specsbysite = SpecificationHelper.SpecsBySite(PatientData); foreach (var sitename in specsbysite.Keys) { if (findings.ContainsKey(sitename)) { ResultsFromGroups(findings[sitename], specsbysite[sitename]); } else { ResultsFromGroups(new List <MeasurementGroup>(), specsbysite[sitename]); } } AddCalculatedValues(); }
public void SendFile(string path) { long fileSize = fileHelper.GetFileSize(path); string fileName = fileHelper.GetFileName(path); if (fileSize > 104857600) { throw new BussinesLogicException("The file is too big"); } var stream = Create(fileName, fileSize); fileHandler.WriteFrame(stream); fileHandler.WriteFrame(Encoding.UTF8.GetBytes(fileName)); long parts = SpecificationHelper.GetParts(fileSize); long offset = 0; long currentPart = 1; while (fileSize > offset) { byte[] data; if (currentPart == parts) { var lastPartSize = (int)(fileSize - offset); data = fileHandler.ReadData(path, offset, lastPartSize); offset += lastPartSize; } else { data = fileHandler.ReadData(path, offset, Specification.MaxPacketSize); offset += Specification.MaxPacketSize; } fileHandler.WriteFrame(data); currentPart++; } }