private void InitializeIoC() { var container = new RegisterByContainer().Container; _unitOfWork = container.GetInstance <IUnitOfWork>(); _typiconEntityService = container.With(_unitOfWork).GetInstance <ITypiconEntityService>(); GetTypiconEntityResponse response = _typiconEntityService.GetTypiconEntity(1);// _unitOfWork.Repository<TypiconEntity>().Get(c => c.Name == "Типикон"); _typiconEntity = response.TypiconEntity; _bookStorage = new BookStorage( container.With(_unitOfWork).GetInstance <IEvangelionContext>(), container.With(_unitOfWork).GetInstance <IApostolContext>(), container.With(_unitOfWork).GetInstance <IOldTestamentContext>(), container.With(_unitOfWork).GetInstance <IPsalterContext>(), container.With(_unitOfWork).GetInstance <IOktoikhContext>(), container.With(_unitOfWork).GetInstance <ITheotokionAppContext>(), container.With(_unitOfWork).GetInstance <IEasterContext>(), container.With(_unitOfWork).GetInstance <IKatavasiaContext>()); //EasterStorage.Instance.EasterDays = _unitOfWork.Repository<EasterItem>().GetAll().ToList(); IRuleSerializerRoot serializerRoot = container.With(_bookStorage).GetInstance <IRuleSerializerRoot>(); var settingsFactory = container.GetInstance <IRuleHandlerSettingsFactory>(); _scheduleService = container.With(settingsFactory).With(serializerRoot).GetInstance <IScheduleService>(); _docxTemplateService = container.With(_bookStorage.Oktoikh).GetInstance <IDocxTemplateService>(); }
public GetTypiconEntityResponse GetTypiconEntity(int id) { string key = KEY_TYPICON + id; var typicon = cacheStorage.Retrieve <TypiconEntity>(key); if (typicon == null) { var response = service.GetTypiconEntity(id); typicon = response.TypiconEntity; Store(key, typicon); return(response); } return(new GetTypiconEntityResponse() { TypiconEntity = typicon }); }
private string GetHtmlString(DateTime date) { var response = _typiconEntityService.GetTypiconEntity(1); if ((date.DayOfWeek == DayOfWeek.Sunday) && (date.Hour > 17)) { date = date.AddDays(1); } var weekRequest = new GetScheduleWeekRequest() { Date = date, Typicon = response.TypiconEntity, Handler = new ScheduleHandler(), CheckParameters = new CustomParamsCollection <IRuleCheckParameter>().SetModeParam(HandlingMode.AstronomicDay) }; var weekResponse = _scheduleService.GetScheduleWeek(weekRequest); var htmlViewer = new HtmlScheduleWeekViewer(); htmlViewer.Execute(weekResponse.Week); string resultString = htmlViewer.ResultString; weekRequest.Date = date.AddDays(7); weekResponse = _scheduleService.GetScheduleWeek(weekRequest); htmlViewer.Execute(weekResponse.Week); resultString += htmlViewer.ResultString; _typiconEntityService.UpdateTypiconEntity(new UpdateTypiconEntityRequest() { TypiconEntity = response.TypiconEntity }); return(resultString); }