예제 #1
0
        public async Task <ItemIndexViewModel> CreateAsync(ItemCreateInputModel itemFromView)
        {
            var itemToDb = itemFromView.To <Item>();

            await this.itemRepository.AddAsync(itemToDb);

            await this.itemRepository.SaveChangesAsync();

            return(itemToDb.To <ItemIndexViewModel>());
        }
예제 #2
0
        public async Task <ItemIndexViewModel> CreateAsync(ItemCreateInputModel itemFromView)
        {
            var checkForName = this.itemRepository.All().FirstOrDefault(x => x.Name == itemFromView.Name);

            // If item exists return existing view model
            if (checkForName != null)
            {
                throw new ArgumentException(string.Format(ItemConstants.ArgumentExceptionItemName, itemFromView.Name), nameof(itemFromView.Name));
            }

            var itemToDb = itemFromView.To <Item>();

            await this.itemRepository.AddAsync(itemToDb);

            await this.itemRepository.SaveChangesAsync();

            return(itemToDb.To <ItemIndexViewModel>());
        }