コード例 #1
0
        public async Task <(bool Success, ScheduleData Result)> Vote(ScheduleData prevSchedule, MemberName memberName, ScheduleMemberStatus memberStatus)
        {
            var schedule = await GetSchedule(prevSchedule.Id);

            if (schedule == null)
            {
                return(false, null);
            }

            var memberData = schedule.Members.FirstOrDefault(x => x.Name == memberName);

            if (memberData == null)
            {
                return(false, null);
            }

            memberData.Status = memberStatus;

            var result = await SaveSchedule(schedule);

            return(result, result ? schedule : null);
        }
コード例 #2
0
        public async Task <bool> SaveSchedule(ScheduleData schedule)
        {
            if (schedule.Id == 0)
            {
                var list = await GetAllSchedule();

                schedule.Id = list.MaxOrNull(x => x.Id) + 1 ?? 1;
            }

            var fileName = $"sufc-schedule-{schedule.Id}.json";

            if (fileName.HasInvalidFileNameChar())
            {
                return(false);
            }

            await _fs.WriteJsonAsync(path => path.GetPath(PathType.SuFcSchedulesPath) + "/" + fileName, schedule);

            _scheduleList = null;

            return(true);
        }