public async Task<IActionResult> Edit(int id, [Bind("Id,Name,Url,IntervalInMinutes")] AlertJob alertJob) { if (id != alertJob.Id) { return NotFound(); } if (ModelState.IsValid) { var userId = Guid.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); try { await alertJobService.UpdateAlertJobAsync(userId, alertJob); } catch (DbUpdateConcurrencyException) { if (alertJobService.GetAlertJobDetailsAsync(userId, id) == null) { return NotFound(); } else { throw; } } return RedirectToAction(nameof(Index)); } return View(alertJob); }
public async Task<IActionResult> Create([Bind("Name,Url,IntervalInMinutes")] AlertJob alertJob) { if (ModelState.IsValid) { var userId = Guid.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); await alertJobService.CreateAlertJobAsync(userId, alertJob); return RedirectToAction(nameof(Index)); } return View(alertJob); }
public async Task UpdateAlertJobAsync(Guid userId, AlertJob alertJob) { var alertJobDb = await GetAlertJobDetailsAsync(userId, alertJob.Id); if (alertJobDb == null) { return; } alertJobDb.Update(alertJob.Name, alertJob.Url, alertJob.IntervalInMinutes); applicationDbContext.Update(alertJobDb); await applicationDbContext.SaveChangesAsync(); await mediator.Publish(new AlertJobUpdatedEvent(alertJobDb.Id, alertJobDb.Url, alertJobDb.IntervalInMinutes)); }
public async Task CreateAlertJobAsync(Guid userId, AlertJob alertJob) { var alertJobDb = new AlertJob(userId, alertJob.Name, alertJob.Url, alertJob.IntervalInMinutes); applicationDbContext.Add(alertJobDb); await applicationDbContext.SaveChangesAsync(); try { await mediator.Publish(new AlertJobCreatedEvent(alertJobDb.Id, alertJobDb.Url, alertJobDb.IntervalInMinutes)); } catch { //undo changes } }
public void When() { using (var session = OpenSession()) { DateTimeProvider.Now = () => new DateTime(2012, 10, 11); var query = new TweedehandsQuery(Guid.NewGuid(), "Carzzz", "Category", "*****@*****.**"); query.ChangeStatus(Status.Confirmed); session.Store(query); _querId = query.Id; var queryCollection1 = new QueryResultCollection(query.Id, new List<QueryResult>() { new QueryResult(new DateTime(2010, 10, 10), "Test 1", "http://www.test.be/1"), new QueryResult(new DateTime(2010, 10, 11), "Test 2", "http://www.test.be/2"), }); var queryCollection2 = new QueryResultCollection(query.Id, new List<QueryResult>() { new QueryResult(new DateTime(2010, 10, 12), "Test 3", "http://www.test.be/3"), new QueryResult(new DateTime(2010, 10, 13), "Test 4", "http://www.test.be/4"), }); session.Store(queryCollection1); session.Store(queryCollection2); _collectionId1 = queryCollection1.Id; _collectionId2 = queryCollection2.Id; session.SaveChanges(); } DateTimeProvider.Now = () => new DateTime(2012, 10, 12); _mailGun = new Mock<IMailGun>(); var mailJob = new AlertJob(_mailGun.Object); mailJob.Execute(new Mock<IJobExecutionContext>().Object); }