private void CreateNewJob(MemoItem memo)
        {
            CalendarJob job = new CalendarJob();

            job.UserId     = memo.UserId;
            job.MemoItemId = memo.Id;
            job.JobMethod  = CalendarJobMethodEnum.GoogleAPI;
            job.JobStatus  = CalendarJobStatusEnum.Pending;
            job.Active     = true;
            DBController.DbGenericData.Add(job);
            ShareMemo(memo, job);
        }
Пример #2
0
        public async Task Should_build_from_old_calendar()
        {
            _alertOwnerService
            .Setup(s => s.GetTeamMates())
            .ReturnsAsync(_teamMates);

            _alertOwnerService
            .Setup(s => s.GetCalendar(It.IsAny <IEnumerable <TeamMate> >()))
            .ReturnsAsync(_calendar);

            _alertOwnerService
            .Setup(s => s.GetPatronDays())
            .ReturnsAsync(_patronDays);

            _alertOwnerService
            .Setup(s => s.ClearCalendar())
            .Returns(Task.CompletedTask);

            _alertOwnerService
            .Setup(s => s.WriteCalendar(It.IsAny <List <Shift> >()))
            .Returns(Task.CompletedTask);

            _shiftsService
            .Setup(s => s.AddPatronDays(It.IsAny <IEnumerable <PatronDay> >()))
            .Returns(_shiftsService.Object);

            _shiftsService
            .Setup(s => s.Build(It.IsAny <IEnumerable <Shift> >()))
            .Returns(_calendar);

            _slackHttpClient
            .Setup(s => s.Notify(It.IsAny <string>()))
            .Returns(Task.CompletedTask);

            _slackHttpClient
            .Setup(s => s.Notify(It.IsAny <IEnumerable <string> >()))
            .Returns(Task.CompletedTask);

            var sut = new CalendarJob(_alertOwnerService.Object, _slackHttpClient.Object, _shiftsService.Object,
                                      _converter, _logger);

            await sut.Execute(null);

            _shiftsService.Verify(s => s.Build(It.IsAny <IEnumerable <TeamMate> >()), Times.Never);
        }
 private void ShareMemo(MemoItem memo, CalendarJob job)
 {
     if (memo.Shared)
     {
         UserMemoSharingSettings sharingSettings = DBController.DbGenericData.GetGenericData <UserMemoSharingSettings>
                                                       (new UserMemoSharingSettingsSearchParameters {
             OwnerUserId = memo.UserId
         }).FirstOrDefault();
         if (sharingSettings != null)
         {
             foreach (var sharedUser in sharingSettings.UsersToShare)
             {
                 job.UserId = sharedUser;
                 DBController.DbGenericData.Add(job);
             }
         }
     }
 }