/// <remarks>Untested</remarks> public Task <bool> ReadingProgramExistsFor(IEnumerable <string> children, ReadingProgramType programType) { var exists = _session.Query <ReadingProgramInfoDTO>() .AnyAsync(x => x.ChildrenIds.ContainsAll(children) && x.ProgramType == programType); return(exists); }
public async Task <ReadingProgramInfo> CreateNewProgram(IEnumerable <string> forChildren, string userId, string languageCode, ReadingProgramType programType) { if (await UserNotAllowedToAdminAllChildren(forChildren, userId)) { HandleUnauthorizedUser(); } var programDto = await CreateNewProgram(forChildren, languageCode, programType); var program = programDto.ToReadingProgramInfo(); return(program); }
public ReadingProgramInfo(string id = null, ReadingProgramType programType = ReadingProgramType.SingleWords, params string[] childIds) { Id = id; Children = childIds; ProgramType = programType; }
private async Task <ReadingProgramInfoDTO> CreateNewProgram(IEnumerable <string> forChildren, string languageCode, ReadingProgramType programType) { var programDto = new ReadingProgramInfoDTO { ChildrenIds = forChildren, LanguageCode = languageCode, ProgramType = programType }; await _session.StoreAsync(programDto); _logger.ForContext("Children", forChildren).ForContext("ProgramType", programType).Information("Added new reading program to session"); await SaveChanges(); return(programDto); }