Beispiel #1
0
        public Task <SettingsEventOfStartSprint> CreateLastStartSprintSettings(SettingsEventOfStartSprint setting)
        {
            if (setting == null)
            {
                throw new ArgumentNullException();
            }

            settingsEventOfStartSprint.InsertOne(setting);
            return(Task.FromResult(setting));
        }
Beispiel #2
0
        public async void GenerateEventOfStartSprintAsync()
        {
            var dateOfLastChecked = await settingsRepository.GetLastStartSprintSettings();

            var activities = await activityRepository.GetAsync();

            foreach (var activity in activities)
            {
                if (DateTime.Now.CompareTo(activity.EndAt) > 0)
                {
                    continue;
                }

                var allSprintsByActivity = await GetAllSprintsByActivity(activity);

                var numberOfSprint = await GetNumberOfSprintAsync(activity, dateOfLastChecked);

                if (numberOfSprint == -1)
                {
                    continue;
                }

                var timeStartOfSprint = (numberOfSprint == 0)
                    ? activity.StartAt
                    : GetTimeStartOfSprint(activity, allSprintsByActivity, numberOfSprint);

                var startSprintEventInfo = new StartSprintEventInfo()
                {
                    ActivityId  = activity.Id,
                    Number      = numberOfSprint,
                    StartAt     = timeStartOfSprint,
                    Description = allSprintsByActivity[numberOfSprint].Description,
                    Tasks       = allSprintsByActivity[numberOfSprint].Tasks,
                    CreatedAt   = allSprintsByActivity[numberOfSprint].CreatedAt,
                    Duration    = allSprintsByActivity[numberOfSprint].Duration,
                    IsChecked   = false
                };
                await startSprintEventRepository.CreateStartSprintEventInfo(startSprintEventInfo);
            }

            var settingOfStartSprintInfo = new SettingsEventOfStartSprint()
            {
                DateOfLastCheckedSprint = DateTime.Now
            };
            await settingsRepository.CreateLastStartSprintSettings(settingOfStartSprintInfo);
        }
Beispiel #3
0
        private async Task <int> GetNumberOfSprintAsync(Activity activity,
                                                        SettingsEventOfStartSprint settingsEventOfStartSprint)
        {
            var sprints = await GetAllSprintsByActivity(activity);

            if (settingsEventOfStartSprint == null || activity.StartAt.CompareTo(DateTime.Now) < 0 &&
                activity.StartAt.CompareTo(settingsEventOfStartSprint.DateOfLastCheckedSprint) > 0)
            {
                return(await Task.FromResult(0));
            }

            for (var i = 1; i < sprints.Length; i++)
            {
                if (GetTimeStartOfSprint(activity, sprints, i).CompareTo(DateTime.Now) < 0 &&
                    GetTimeStartOfSprint(activity, sprints, i)
                    .CompareTo(settingsEventOfStartSprint.DateOfLastCheckedSprint) > 0)
                {
                    return(await Task.FromResult(i));
                }
            }

            return(await Task.FromResult(-1));
        }