Exemplo n.º 1
0
        internal static JournalEntry ToNewJournalEntry(JournalCreateViewModel journalVM)
        {
            var journalEntry = new JournalEntry
            {
                HoarderID = journalVM.HoarderID,
                Title     = journalVM.Title,
                Date      = (DateTime)journalVM.Date,
                Content   = journalVM.Content,
                Games     = new List <JournalGame>(),
                Tags      = new List <JournalTag>()
            };

            if (journalVM.GameIDs != null && journalVM.GameIDs.Length > 0)
            {
                foreach (var gameID in journalVM.GameIDs)
                {
                    journalEntry.Games.Add(new JournalGame {
                        GameID = gameID
                    });
                }
            }

            if (journalVM.TagIDs != null && journalVM.TagIDs.Length > 0)
            {
                foreach (var tagID in journalVM.TagIDs)
                {
                    journalEntry.Tags.Add(new JournalTag {
                        TagID = tagID
                    });
                }
            }

            return(journalEntry);
        }
Exemplo n.º 2
0
        public async Task <bool> CreateResultsInDuplicateEntryAsync(JournalCreateViewModel journalCreateViewModel)
        {
            var newEntry = JournalEntryMapper.ToNewJournalEntry(journalCreateViewModel);

            bool resultsInDuplicateEntry = await journalDbService.CommandResultsInDuplicateEntryAsync(newEntry);

            return(resultsInDuplicateEntry);
        }
Exemplo n.º 3
0
        internal static JournalCreateViewModel ToCreateViewModel(int hoarderID, IEnumerable <Tag> tagList, IEnumerable <Game> gameList)
        {
            var vm = new JournalCreateViewModel
            {
                HoarderID = hoarderID
            };

            vm.GameSelectList = new SelectList(gameList, nameof(Game.ID), nameof(Game.Title));
            vm.TagSelectList  = new SelectList(tagList, nameof(Tag.ID), nameof(Tag.Name));

            return(vm);
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Create([Bind("HoarderID,Title,Date,GameIDs,TagIDs,Content")] JournalCreateViewModel journalCreateViewModel)
        {
            if (ModelState.IsValid)
            {
                if (await journalViewService.CreateResultsInDuplicateEntryAsync(journalCreateViewModel))
                {
                    ModelState.AddModelError(string.Empty, "A journal entry with the same date already exists in the database.");
                    return(View(journalCreateViewModel)); // TODO: Refill SelectLists
                }

                await journalViewService.CreateAsync(journalCreateViewModel);

                return(RedirectToAction(nameof(Index)));
            }

            return(View(journalCreateViewModel)); // TODO: Refill SelectLists
        }
Exemplo n.º 5
0
        public async Task CreateAsync(JournalCreateViewModel journalCreateViewModel)
        {
            var newEntry = JournalEntryMapper.ToNewJournalEntry(journalCreateViewModel);

            await journalDbService.CreateAsync(newEntry);
        }