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);
        }
Пример #3
0
        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));
        }
Пример #4
0
        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);
        }