public async Task <IActionResult> SignIn([FromServices] EventsContext eventsContext, [FromServices] BlobContext blobContext, int id) { var eventItem = await eventsContext.Events.SingleOrDefaultAsync(e => e.Id == id); SignInSheetState signInSheetState = default(SignInSheetState); if (String.IsNullOrEmpty(eventItem.SignInDocumentUrl)) { using (Stream stream = new MemoryStream()) { await blobContext.UploadBlobAsync($"{eventItem.EventKey}.docx", stream); } eventItem.SignInDocumentUrl = PROCESSING_URI; await eventsContext.SaveChangesAsync(); signInSheetState = SignInSheetState.SignInDocumentProcessing; } else if (eventItem.SignInDocumentUrl == PROCESSING_URI) { signInSheetState = SignInSheetState.SignInDocumentProcessing; } else { signInSheetState = SignInSheetState.SignInDocumentAlreadyExists; } SignInSheetViewModel viewModel = new SignInSheetViewModel { Event = eventItem, SignInSheetState = signInSheetState }; return(View(viewModel)); }
public async Task <IActionResult> SignIn([FromServices] EventsContext eventsContext, [FromServices] QueueContext queueContext, int id) { var eventItem = await eventsContext.Events.SingleOrDefaultAsync(e => e.Id == id); SignInSheetState signInSheetState = default(SignInSheetState); if (String.IsNullOrEmpty(eventItem.SignInDocumentUrl)) { await queueContext.SendQueueMessageAsync(eventItem.EventKey); eventItem.SignInDocumentUrl = PROCESSING_URI; await eventsContext.SaveChangesAsync(); signInSheetState = SignInSheetState.SignInDocumentProcessing; } else if (eventItem.SignInDocumentUrl == PROCESSING_URI) { signInSheetState = SignInSheetState.SignInDocumentProcessing; } else { signInSheetState = SignInSheetState.SignInDocumentAlreadyExists; } SignInSheetViewModel viewModel = new SignInSheetViewModel { Event = eventItem, SignInSheetState = signInSheetState }; return(View(viewModel)); }
public ActionResult SignIn(string id) { SignInSheetViewModel viewModel = null; if (!String.IsNullOrEmpty(id)) { viewModel = new SignInSheetViewModel( eventKey: id ); } if (viewModel == null) { return(new HttpNotFoundResult()); } return(View(viewModel)); }