public async IAsyncEnumerable <JournalResponse> JournalAsync(JournalRequest request) { var filePath = "TestData.json"; var lotsOfNumbers = Enumerable.Range(0, 100); var data = JsonConvert.SerializeObject(lotsOfNumbers); File.WriteAllText(filePath, data); var chunkSize = 4096; byte[] buffer = new byte[chunkSize]; int bytesRead; using (var stream = File.OpenRead(filePath)) { while ((bytesRead = await stream.ReadAsync(buffer, 0, buffer.Length)) > 0) { yield return(new JournalResponse { Chunk = buffer.ToList() }); buffer = new byte[chunkSize]; } } }
public JournalResponse Journal(JournalRequest request) { log.Trace("this is the service ->Journal"); JournalResponse jour = new JournalResponse(); DateTime date = DateTime.Now; //objeto Operaction : name, calculation, date Operation op = new Operation(); op.date = date; op.name = "Journal"; //Request id and make a Operation for the response if (!string.IsNullOrEmpty(request.id)) { //adding the key =id and the object Operation JournalList.Add(new KeyValuePair <string, Operation>(request.id, op)); } // buscar en el journallist los que coinciden con el id var matches = JournalList.Where(x => x.Key == request.id).Select(z => z.Value).ToList(); jour.Operations = matches; return(jour); }
public void EditJournal([FromBody] JournalRequest request) { LogsDataManager.SendLog( request.LibrarianId, "Librarian", "edited journal " + request.Journal.Title); DocumentsDataManager.EditJournal(request.Journal); }
public JournalResponse ReturnJournal([FromBody] JournalRequest RequestedUser) { var currentUser = UsersHandler.KnownOrNot(RequestedUser.Id); var Journal = new JournalResponse { Operations = currentUser.Operations }; return(Journal); }
public IHttpActionResult Journal(JournalRequest request) { IEnumerable <string> trackingId; Request.Headers.TryGetValues("X-Evi-Tracking-Id", out trackingId); var res = servicio.Journal(request); return(Ok(res)); }
public long AddJournal([FromBody] JournalRequest request) { if (GetLibrarianById(request.LibrarianId).Authority < 2) { return(0); } LogsDataManager.SendLog( request.LibrarianId, "Librarian", "added journal " + request.Journal.Title); return(DocumentsDataManager.AddJournal(request.Journal)); }
private static void checkHistory() { var request = new JournalRequest(); request.Id = UserInputId; if (string.IsNullOrEmpty(UserInputId)) { Console.Write("\nID: "); request.Id = Console.ReadLine().Trim(); } doRequest("journal", "query", request); }
public JournalResponse GetJournal(JournalRequest request) { var journalFound = _journal.TryGetValue(request.Id, out var journalOperations); if (!journalFound) { return(new JournalResponse()); } return(new JournalResponse { Operations = journalOperations }); }
public IHttpActionResult Query(JournalRequest request) { if (request == null || request.Id == null) { logger.Debug($"Bad Request in Journal: {request}, ID: {request?.Id}"); return(Content(HttpStatusCode.BadRequest, ErrorList.e400)); } var response = RegistryData.byId(request.Id); if (response == null) { logger.Debug($"No Journal Found For The Id: {request?.Id}"); return(Content(HttpStatusCode.NotFound, ErrorList.e500)); } return(Ok(response.Operations)); }
public static void RequestJournal() { if (XEviTrackingId != "") { var request = new JournalRequest { Id = XEviTrackingId }; var response = JsonConvert.DeserializeObject <JournalResponse>(LaunchRequestAndReceiveResponse(request, "journal")); foreach (var operation in response.Operations) { Console.WriteLine(operation.Info()); } } else { Console.WriteLine("You cannot request access to a journal as long as you are using incognito mode."); } }
public void RegisterOperation_WhenJournalUnexisting_StartsJournal() { var trackId = "trackId"; var journalRequest = new JournalRequest { Id = trackId }; var registeredOperations = _sut.GetJournal(journalRequest); Assert.False(registeredOperations.Operations.Any()); var request = TestHelper.GenerateRequest(); var response = TestHelper.GenerateResponse(); _sut.RegisterOperation(trackId, request, response, DateTime.UtcNow); using (new AssertionScope()) { _journal.TryGetValue(trackId, out var trackJournal).Should().BeTrue(); trackJournal.Should().NotBeEmpty(); } }
private static async Task JournalSee() { Console.Clear(); if (string.IsNullOrWhiteSpace(trackId)) { AnsiConsole.MarkupLine("You are not tracking your journal"); if (AnsiConsole.Confirm("Would you like to start tracking it?")) { JournalStart(); } else { return; } } var journalRequest = new JournalRequest { Id = trackId }; var response = await CalculatorServiceClient.QueryAsync(journalRequest); AnsiConsole.MarkupLine($"Operations for the tracking id '{trackId}':"); var table = new Table(); table.AddColumn("Operation"); table.AddColumn("Calculation"); table.AddColumn("Date"); foreach (var operation in response.Operations) { table.AddRow(operation.Operation, operation.Calculation, operation.Date.ToString()); } AnsiConsole.Render(table); AnsiConsole.MarkupLine("Press any key to exit"); Console.ReadKey(); Console.Clear(); }
public IActionResult GetJournal([FromBody] JournalRequest request) { var response = _journalService.GetJournal(request); return(Ok(response)); }
static void Main(string[] args) { //this is the menu Console.WriteLine("¿quieres hacer un traking de las operaciones (s/n)?"); var y = Console.ReadLine(); if (y.Equals("s")) { Console.WriteLine("dime tu id"); id = Console.ReadLine(); } int i = -1; do { //type of operation Console.WriteLine("1. suma 2. resta 3.multi 4.dividir 5.raiz 6.journal 7.salir"); //read an option i = leer(); string operationUrl = url; switch (i) { case 1: AddRequest add = new AddRequest(); operationUrl = url + "Sum"; add.Addends = leerArray(); SendRequestAndReturnResponseWithTraking("Sum", operationUrl, add, id); i = -1; break; case 2: SubRequest sub = new SubRequest(); operationUrl = url + "Diference"; Console.WriteLine("introduce Minuend"); sub.Minuend = leer(); Console.WriteLine("introduce Minuend"); sub.Subtrahend = leer(); SendRequestAndReturnResponseWithTraking("Diference", operationUrl, sub, id); i = -1; break; case 3: MultRequest mult = new MultRequest(); operationUrl = url + "Product"; mult.Factors = leerArray(); SendRequestAndReturnResponseWithTraking("Product", operationUrl, mult, id); i = -1; break; case 4: DivRequest div = new DivRequest(); operationUrl = url + "Div"; Console.WriteLine("introduce Dividend"); div.Dividend = leer(); Console.WriteLine("introduce Divisor"); div.Divisor = leer(); SendRequestAndReturnResponseWithTraking("Div", operationUrl, div, id); i = -1; break; case 5: SqrtRequest sqrt = new SqrtRequest(); operationUrl = url + "Sqrt"; Console.WriteLine("intro num"); sqrt.Number = leer(); SendRequestAndReturnResponseWithTraking("Sqrt", operationUrl, sqrt, id); i = -1; break; case 6: JournalRequest jour = new JournalRequest(); operationUrl = url + "Journal"; Console.WriteLine("dime id"); jour.id = Console.ReadLine(); SendRequestAndReturnResponseWithTraking("Journal", operationUrl, jour, id); i = -1; break; case 7: Console.WriteLine("bye"); break; } } while (!(i > 0 && i < 8)); Console.ReadLine(); }
IAsyncEnumerable <JournalResponse> IPOS.JournalAsync(JournalRequest request) { throw new NotSupportedException("Async streaming is not supported in HTTP. Please call the non-async Journal method."); }
public async Task <IActionResult> GetJournalPdf([FromBody] JournalRequest req) { await CheckPermission(); var html = @"<html><head> <style type='text/css'> .task { border-collapse: collapse; border: 1px solid black; } .task td { padding: 5px; border: 1px solid black; } .task th { padding: 5px; background-color: #909090; border: 1px solid black; } //.break { // page-break-after: always; //} hr.ex2 { border:none; border-top:3px dotted #aaa; color:#fff; background-color:#fff; height:1px; width:100%; } </style></head><body>"; var tr = new TaskRepository(_logger); var serviceTask = new TaskService(_logger); if (req.Tasks.Length > 0) { var tasksDictionary = await tr.GetTrainTasksForPdf(req.Tasks); foreach (var tasks in tasksDictionary) { html += "<table><tr><td>Поезд:</td><td>" + tasks.Key + "</td></tr></table>"; html += "<br /><h2>Задачи</h2>"; if (tasks.Value.Count > 0) { foreach (var task in tasks.Value) { html += "<table class='task'><tr><th>Вагон</th><th>Местоположение</th><th>Оборудование</th><th>Типовая неисправность</th><th>Описание</th><th>Метка</th><th>№ задачи</th><th>Время</th></tr>"; var history = await serviceTask.AddHistoryData(task.Id); html += "<tr><td>" + task.Carriage + "</td><td>" + task.Location + "</td><td>" + task.Equipment + "</td><td>" + task.Fault + "</td><td>" + task.Description + "</td><td>" + task.Label + "</td><td>" + task.Id + "</td><td>" + task.Created + "</td></tr>"; html += "<tr><td colspan='8'>"; if (history.Count > 0) { html += "<b>Комментарии:</b><br />"; html += ""; foreach (var item in history) { html += $"{item.Date} {item.User} ({TaskRepository.BrigadeTypeToString((BrigadeType?) item.UserBrigadeType)}): "; switch (item.Type) { case "Comment": html += $"{item.Text}<br />"; break; case "Status": html += $"<b>Смена статуса:</b> {tr.StatusToString((TaskStatus?) item.OldStatus)} > {tr.StatusToString((TaskStatus?) item.NewStatus)}<br />"; break; case "Executor": html += $"<b>Смена исполнителя:</b> {TaskRepository.BrigadeTypeToString((BrigadeType?) item.OldExecutorBrigadeType)} > {TaskRepository.BrigadeTypeToString((BrigadeType?) item.NewExecutorBrigadeType)}<br />"; break; } html += ""; } html += "<br />"; html += "</td></tr>"; html += "</table>"; html += "<br />"; html += "<hr class=\"ex2\"></hr>"; html += "<br />"; } } } html += "</table>"; } } var i = 0; var count = req.Inspections.Count(); foreach (var id in req.Inspections) { var insp = await GetInspectionHtmlForPdf(id); html += insp; if (++i != count) //not for last item //html += "<div class='break'></div>"; { html += "<hr class=\"ex2\"></hr>"; } } var output = _pdfConverter.Convert(new HtmlToPdfDocument { GlobalSettings = { ColorMode = ColorMode.Color, Orientation = Orientation.Portrait, PaperSize = PaperKind.A4, }, Objects = { new ObjectSettings { HtmlContent = html, WebSettings ={ DefaultEncoding = "utf-8" } } } }); // return(File(output, "application/pdf", "journal_" + new Random().Next(0, 10000) + ".pdf")); }
public IAsyncEnumerable <JournalResponse> JournalAsync(JournalRequest request) { var stream = _innerPOS.Journal(request.ftJournalType, request.From, request.To); return(stream.ToAsyncEnumerable(request.MaxChunkSize)); }
IAsyncEnumerable <JournalResponse> ifPOS.v1.IPOS.JournalAsync(JournalRequest request) { throw new NotSupportedException("Async Streaming are not supported in Http"); }