public async System.Threading.Tasks.Task BookReadingRepositoryShouldReturn200AndAllBookReadingEntries()
        {
            CleanDB();

            var collection = GetDatabase().GetCollection <BookReading>("bookreadings");

            BookReading universe = new BookReading();

            universe.name = "universe in a nutshell";

            BookReading refactoring = new BookReading();

            refactoring.name = "Refactoring";

            collection.InsertOne(universe);
            collection.InsertOne(refactoring);

            var response = await client.GetAsync(apiBaseUrl + "/api/bookreadings");

            var responseContent = response.Content.ReadAsStringAsync();

            BookReading[] result = JsonConvert.DeserializeObject <BookReading[]>(responseContent.Result);

            Assert.Equal(200, (int)response.StatusCode);

            Assert.NotEmpty(result);
            Assert.Equal(2, result.Length);

            Assert.Contains(universe, result);
            Assert.Contains(refactoring, result);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> BookAdd(int?id, [Bind("BookId,ReaderId,DateOfIssue,ReturnDate")] BookReading AddObj)
        {
            var search = await _context.BookReading.Where(o => o.BookId == AddObj.BookId && o.ReaderId == AddObj.ReaderId).FirstOrDefaultAsync();

            if (search != null)
            {
                ModelState.AddModelError("ReaderId", "В читача вже є ця книга");
            }
            if (AddObj.DateOfIssue != null && AddObj.ReturnDate != null && AddObj.DateOfIssue > AddObj.ReturnDate)
            {
                ModelState.AddModelError("ReturnDate", "Дата повернення не може бути раніше дати видачі");
            }
            if (AddObj.DateOfIssue != null && AddObj.ReturnDate != null && AddObj.DateOfIssue > DateTime.Today)
            {
                ModelState.AddModelError("DateOfIssue", "Дата видачі не може бути в майбутньому");
            }
            if (ModelState.IsValid)
            {
                _context.Add(AddObj);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", new { id = AddObj.ReaderId }));
            }
            ViewBag.ReaderData = new SelectList(_context.Readers, "Id", "FullName", AddObj.ReaderId);
            ViewBag.BookData   = new SelectList(_context.Books, "Id", "Name", AddObj.BookId);
            AddObj.DateOfIssue = DateTime.Today;
            return(View(AddObj));
        }
        public async System.Threading.Tasks.Task BookReadingRepositoryShouldAddBookReadingEntriesWithCorrectPriority()
        {
            CleanDB();

            BsonDocument bd = new BsonDocument {
                { "name", "universe in a nutshell" }
            };

            var content = new StringContent(bd.ToJson(), Encoding.UTF8, "application/json");

            var response = await client.PostAsync(apiBaseUrl + "/api/bookreadings", content);

            var responseContent = response.Content.ReadAsStringAsync();

            bd = new BsonDocument {
                { "name", "Refactoring" }
            };

            content = new StringContent(bd.ToJson(), Encoding.UTF8, "application/json");

            response = await client.PostAsync(apiBaseUrl + "/api/bookreadings", content);

            responseContent = response.Content.ReadAsStringAsync();

            BookReading universe    = GetDatabase().GetCollection <BookReading>("bookreadings").Find(entry => entry.name == "universe in a nutshell").Single();
            BookReading refactoring = GetDatabase().GetCollection <BookReading>("bookreadings").Find(entry => entry.name == "Refactoring").Single();

            Assert.Equal("universe in a nutshell", universe.name);
            Assert.Equal(1, universe.priority);

            Assert.Equal("Refactoring", refactoring.name);
            Assert.Equal(2, refactoring.priority);
        }
Ejemplo n.º 4
0
        private BookReading GetPsalm(BookReading psalm)
        {
            BookReading resultReading;

            if (StartStihos != null || EndStihos != null)
            {
                resultReading = new BookReading();

                int end = (EndStihos != null && EndStihos < psalm.Text.Count) ? (int)EndStihos : psalm.Text.Count;

                for (int start = StartStihos ?? 1; start <= end; start++)
                {
                    var stihos = psalm.Text.FirstOrDefault(c => c.StihosNumber == start);
                    if (stihos != null)
                    {
                        resultReading.Text.Add(stihos);
                    }
                }
            }
            else
            {
                resultReading = psalm;
            }

            return(resultReading);
        }
Ejemplo n.º 5
0
        private void AppendText(CreateViewModelRequest <PsalmRule> req, BookReading psalmReading)
        {
            //List<string> paragraphs = psalmReading.Text.Select(c => c[req.Handler.Settings.Language.Name]).ToList();
            var paragraphs = ParagraphVMFactory.CreateList(psalmReading.Text, req.Handler.Settings.Language.Name);

            req.AppendModelAction(new ElementViewModel()
            {
                ViewModelItemFactory.Create(TextHolderKind.Lector, paragraphs)
            });
        }
Ejemplo n.º 6
0
        private void AppendText(CreateViewModelRequest <PsalmRule> req, BookReading psalmReading)
        {
            //List<string> paragraphs = psalmReading.Text.Select(c => c[req.Handler.Settings.Language.Name]).ToList();
            var paragraphs = new List <ItemTextNoted>();

            psalmReading.Text.ForEach(c => paragraphs.Add(new ItemTextNoted(c)));

            req.AppendModelAction(new OutputSectionModelCollection()
            {
                OutputSectionFactory.Create(TextHolderKind.Lector, paragraphs)
            });
        }
Ejemplo n.º 7
0
        public IActionResult BookAdd(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            ViewBag.ReaderData = new SelectList(_context.Readers, "Id", "FullName", id);
            ViewBag.BookData   = new SelectList(_context.Books, "Id", "Name");
            var obj = new BookReading();

            obj.DateOfIssue = DateTime.Today;
            return(View(obj));
        }
Ejemplo n.º 8
0
        public DayElementBase Calculate(RuleHandlerSettings settings)
        {
            var psalm = QueryProcessor.Process(new PsalmQuery(Number));

            BookReading psalmReading = null;

            if (psalm?.Reading != null)
            {
                psalmReading = GetPsalm(psalm.Reading);
            }

            return(psalmReading);
        }
Ejemplo n.º 9
0
        public DayElementBase Calculate(RuleHandlerSettings settings)
        {
            var response = PsalterContext.Get(new GetPsalmRequest()
            {
                Number = Number
            });

            BookReading psalmReading = null;

            if (response.Psalm != null)
            {
                psalmReading = GetPsalm(response.Psalm);
            }
            return(psalmReading);
        }
 public void SaveBookReading(BookReading BookReading)
 {
     if (BookReading.Id == 0)
     {
         context.BookReadings.Add(BookReading);
     }
     else
     {
         var editMe = context.BookReadings.Find(BookReading.Id);
         if (editMe != null)
         {
             // dbEntry.Name = BookReading.Name;
             // dbEntry.Message = BookReading.Message;
             // dbEntry.TimeStamp = BookReading.TimeStamp;
         }
     }
     context.SaveChanges();
 }
        public async System.Threading.Tasks.Task BookReadingRepositoryShouldReturn200AndDeleteAnEntryIfDeletedSuccessfully()
        {
            CleanDB();

            var collection = GetDatabase().GetCollection <BookReading>("bookreadings");

            BookReading universe = new BookReading();

            universe.name = "universe in a nutshell";

            collection.InsertOne(universe);

            var response = await client.DeleteAsync(apiBaseUrl + "/api/bookreadings/" + universe.id);

            var bookReadings = await GetDatabase().GetCollection <BookReading>("bookreadings").Find(_ => true).ToListAsync();

            Assert.Equal(204, (int)response.StatusCode);
            Assert.Empty(bookReadings);
        }
        public async System.Threading.Tasks.Task BookReadingRepositoryShouldAddBookReadingEntryReturn200AndTheAddedBookReadingEntryIfSuccessfullyAdded()
        {
            CleanDB();

            BsonDocument bd = new BsonDocument {
                { "name", "universe in a nutshell" }
            };

            var content = new StringContent(bd.ToJson(), Encoding.UTF8, "application/json");

            var response = await client.PostAsync(apiBaseUrl + "/api/bookreadings", content);

            var responseContent = response.Content.ReadAsStringAsync();

            BookReading result = JsonConvert.DeserializeObject <BookReading>(responseContent.Result);

            Assert.Equal(200, (int)response.StatusCode);
            Assert.NotEqual(ObjectId.Empty.ToString(), result.id);

            BookReading universe = GetDatabase().GetCollection <BookReading>("bookreadings").Find(entry => entry.name == "universe in a nutshell").Single();

            Assert.Equal("universe in a nutshell", universe.name);
            Assert.Equal(1, universe.priority);
        }