コード例 #1
0
 public RulesPage()
 {
     this.InitializeComponent();
     sql = new SQLiteDataAccessor();
     contentPopup.Loaded += CommonEvents.CommonUIEvents.Popup_Loaded;
     popUpContent.Loaded += CommonEvents.CommonUIEvents.PopUpContent_Loaded;
 }
コード例 #2
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            if (this.Frame.CanGoBack)
            {
                BackButton.IsEnabled = true;
            }
            else
            {
                BackButton.IsEnabled = false;
            }

            if (this.Frame.CanGoForward)
            {
                ForwardButton.IsEnabled = true;
            }
            else
            {
                ForwardButton.IsEnabled = false;
            }

            sql = new SQLiteDataAccessor();
            var signs = sql.CreateQuery <Signs>();

            signsGv.ItemsSource = signs;
            RichTextBlockContent.onBlockTapped += RichTextBlockContent_onBlockTapped;
        }
コード例 #3
0
        public void Init()
        {
            _sqLiteDataAccessor = new SQLiteDataAccessor("Test.sqlite");
            _sqLiteDataAccessor.Init();

            _counterId = 0;
        }
コード例 #4
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            if (this.Frame.CanGoBack)
            {
                BackButton.IsEnabled = true;
            }
            else
            {
                BackButton.IsEnabled = false;
            }

            if (this.Frame.CanGoForward)
            {
                ForwardButton.IsEnabled = true;
            }
            else
            {
                ForwardButton.IsEnabled = false;
            }
            SQLiteDataAccessor sql = new SQLiteDataAccessor();
            var lst = sql.CreateQuery <Chapters>().Select(n => n.name);

            lstView.ItemsSource = lst;
        }
コード例 #5
0
        public void Install(IWindsorContainer container, IConfigurationStore store)
        {
            var fetcher = new HtmlFetcher();

            fetcher.AddHeader("Accept-Encoding", "gzip, deflate, sdch, br");

            container.Register(Component.For <IHtmlFetcher>().Instance(fetcher));

            container.Register(Component.For <ILinkedinParser>().ImplementedBy <LinkedinParser>());

            //TODO: move to config.
            var sqLiteDataAccessor = new SQLiteDataAccessor(@"C:\DB\Test.sqlite");

            container.Register(Component.For <IDataAccessor>().Instance(sqLiteDataAccessor));

            container.Register(Component.For <LinkedinerController>().LifestylePerWebRequest());
        }
コード例 #6
0
        public IEnumerable <ITicket> LoadTickets(ISessionParameters parameters)
        {
            if (parameters.Mode == Enums.QuestionsGenerationMode.Questions)
            {
                return(parameters.Questions.GroupBy(question => question.Ticket.Number, question => question).Select(group =>
                {
                    var ticket = new Ticket();
                    foreach (var q in group.OfType <Question>())
                    {
                        q.Ticket = ticket;
                    }
                    ticket.Questions = group;
                    ticket.Number = group.Key;
                    return ticket;
                }).ToArray());
            }
            SQLiteDataAccessor dataAccessor = null;

            try {
                dataAccessor = new SQLiteDataAccessor();

                Tickets[] selectedTickets;
                IEnumerable <Questions> questionList;
                if (new Enums.QuestionsGenerationMode[] { Enums.QuestionsGenerationMode.RandomTicket, Enums.QuestionsGenerationMode.SelectedTickets }.Contains(parameters.Mode))
                {
                    if (parameters.Mode == Enums.QuestionsGenerationMode.RandomTicket)
                    {
                        var    tickets = dataAccessor.CreateQuery <Tickets>();
                        Random rand    = new Random();
                        selectedTickets = new Tickets[] { tickets.ElementAt(rand.Next(tickets.Count())) };
                    }
                    else
                    {
                        selectedTickets = dataAccessor.CreateQuery <Tickets>().Where(ticket => parameters.TicketNums.Contains(ticket.num)).ToArray();
                    }
                    questionList = dataAccessor.CreateQuery <Questions>().Where(question => selectedTickets.Any(ticket => ticket.id == question.ticket_id));
                }
                else if (parameters.Mode == Enums.QuestionsGenerationMode.ExamTicket)
                {
                    var tickets = dataAccessor.CreateQuery <Tickets>();
                    selectedTickets = new Tickets[] { tickets.ElementAt(0) };
                    Random rnd = new Random();

                    var randomTickets   = Enumerable.Range(1, GlobalConstants.ticketsCount).OrderBy(i => rnd.Next()).Select((item, index) => new { id = index, num = item }).Take(GlobalConstants.questionsCount).ToArray();
                    var randomQuestions = Enumerable.Range(1, GlobalConstants.questionsCount).OrderBy(i => rnd.Next()).Select((item, index) => new { id = index, num = item }).ToArray();
                    questionList = dataAccessor.CreateQuery <Questions>().Join(randomTickets, question => question.ticket_id, ticket => ticket.num, (question, ticket) => new { Id = ticket.id, Question = question }).Where(question => question.Question.num == randomQuestions.ElementAt(question.Id).num).OrderBy(item => item.Question.num).Select(i => i.Question);
                }
                else
                {
                    throw new NotImplementedException(String.Format("Not supported mode", parameters.Mode));
                }

                var questionIdList = questionList.Select(question => question.id).ToArray();
                var answerList     = dataAccessor.CreateQuery <Answers>().Where(answer => questionIdList.Contains(answer.question_id));

                var itickets = selectedTickets.Select(ticket => {
                    var iticket = new Ticket {
                        Number = ticket.num
                    };
                    var iticketQuestion = parameters.Mode != Enums.QuestionsGenerationMode.ExamTicket ? questionList.Where(question => question.ticket_id == ticket.id) : questionList;
                    iticket.Questions   = iticketQuestion.Select(question => {
                        var iquestion = new Question {
                            Ticket = iticket,
                            Number = question.num,
                            Image  = question.image,
                            Text   = question.question
                        };
                        iquestion.Answers = answerList.Where(answer => answer.question_id == question.id).Select(answer => {
                            var ianswer = new Answer()
                            {
                                Question = iquestion,
                                IsRight  = answer.is_right,
                                Text     = answer.answer,
                            };
                            return(ianswer);
                        }).ToArray();
                        return(iquestion);
                    }).ToArray();
                    return(iticket);
                }).ToArray();

                if (parameters.Shuffle)
                {
                    Random rand = new Random();
                    foreach (var iticket in itickets)
                    {
                        iticket.Questions = iticket.Questions.OrderBy(iquestion => rand.Next()).ToArray();
                    }
                }
                return(itickets);
            } catch {
                throw;
            } finally {
                if (dataAccessor != null)
                {
                    dataAccessor.Dispose();
                }
            }
        }