Exemplo n.º 1
0
        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>();
        }
Exemplo n.º 2
0
        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
            });
        }
Exemplo n.º 3
0
        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);
        }