コード例 #1
0
        public void PantryItem_ToDatabaseModel_ShouldMapNullItem()
        {
            PantryItem item = null;

            DB.PantryItem dbItem = EntityMapper.ToDatabaseModel(item);
            dbItem.Should().BeNull();
        }
コード例 #2
0
        public void PantryItem_ToDomainModel_ShouldMapNullItem()
        {
            DB.PantryItem dbItem = null;
            PantryItem    item   = EntityMapper.ToDomainModel(dbItem);

            item.Should().BeNull();
        }
コード例 #3
0
        public void PantryItem_ToDatabaseModel_ShouldMapNonNullItem()
        {
            PantryItem item = new PantryItem
            {
                Id   = 1,
                Item = new Item {
                    Id = 1, Name = "Water"
                },
                Quantity = new Quantity {
                    Amount = 100, Unit = "ml"
                },
                BuyDate        = DateTime.Parse("6/1/2018"),
                ExpirationDate = DateTime.Parse("6/1/2020")
            };

            DB.PantryItem dbItem = EntityMapper.ToDatabaseModel(item);

            dbItem.Should().NotBeNull();
            dbItem.Id.Should().Be(1);
            dbItem.Item.Should().NotBeNull();
            dbItem.Quantity.Should().NotBeNull();
            dbItem.Quantity.Amount.Should().Be(100);
            dbItem.Quantity.Unit.Should().Be("ml");
            dbItem.BuyDate.Should().Be(DateTime.Parse("6/1/2018"));
            dbItem.ExpirationDate.Should().Be(DateTime.Parse("6/1/2020"));
        }
コード例 #4
0
ファイル: PantryService.cs プロジェクト: anaspoiala/bonsai
        private static void ValidateItem(PantryItem item)
        {
            if (ItemValidator.NameIsEmpty(item))
            {
                throw new ValidationException("Item name cannot be empty!");
            }

            if (ItemValidator.QuantityIsEmpty(item))
            {
                throw new ValidationException("Item quantity cannot be empty!");
            }
        }
コード例 #5
0
 public static PantryItemDto ToDataTransferObject(this PantryItem pantryItem)
 {
     return(new PantryItemDto
     {
         Id = pantryItem.Id,
         Name = pantryItem.Name,
         Quantity = pantryItem.Quantity,
         UnitOfMeasure = pantryItem.UnitOfMeasure.ToString(),
         Expiration = pantryItem.Expiration,
         PurchasePrice = pantryItem.PurchasePrice
     });
 }
コード例 #6
0
ファイル: PantryRepository.cs プロジェクト: anaspoiala/bonsai
        public PantryItem UpdateItem(long itemId, PantryItem item)
        {
            var dbItem = GetDbItem(itemId);

            //dbItem.Name = item.Name;
            dbItem.Quantity.Amount = item.Quantity.Amount;
            dbItem.Quantity.Unit   = item.Quantity.Unit;
            dbItem.BuyDate         = item.BuyDate;
            dbItem.ExpirationDate  = item.ExpirationDate;

            context.SaveChanges();

            return(EntityMapper.ToDomainModel(dbItem));
        }
コード例 #7
0
        public async Task<bool> InsertOrUpdate(string userId, PantryItem item)
        {
            var pantryDb = await _context.Pantries.Where(pantry => pantry.Id == item.PantryId).FirstOrDefaultAsync();
            if (pantryDb == null || pantryDb.UserId != userId)
            {
                return false;
            }

            _context.Entry(item).State = item.Id > 0 ? 
                                   EntityState.Modified :
                                   EntityState.Added; 

            await _context.SaveChangesAsync();
            return true;
        }
コード例 #8
0
        public void PantryItem_ToDatabaseModel_ShouldMapTags()
        {
            PantryItem item = new PantryItem
            {
                Tags = new List <Tag>
                {
                    new Tag(), new Tag()
                }
            };

            DB.PantryItem dbItem = EntityMapper.ToDatabaseModel(item);

            dbItem.Should().NotBeNull();
            dbItem.Tags.Should().NotBeNull();
            dbItem.Tags.Should().NotBeEmpty();
            dbItem.Tags.Count.Should().Be(2);
        }
コード例 #9
0
        public void PantryItem_ToDomainModel_ShouldMapTags()
        {
            DB.PantryItem dbItem = new DB.PantryItem
            {
                Tags = new List <DBTagging.PantryItemTag>()
                {
                    new DBTagging.PantryItemTag(),
                    new DBTagging.PantryItemTag()
                }
            };

            PantryItem item = EntityMapper.ToDomainModel(dbItem);

            item.Should().NotBeNull();
            item.Tags.Should().NotBeNull();
            item.Tags.Should().NotBeEmpty();
            item.Tags.Count.Should().Be(2);
        }
コード例 #10
0
        public IActionResult UpdateItem([FromRoute] int itemId, [FromBody] ItemUpdateModel item)
        {
            userInformation.ThrowErrorIfNotLoggedIn();

            var newItem = new PantryItem
            {
                //Name = item.Name,
                Quantity = new Quantity
                {
                    Amount = item.Amount,
                    Unit   = item.MeasurementUnit
                },
                BuyDate        = item.BuyDate,
                ExpirationDate = item.ExpirationDate
            };

            return(Ok(service.UpdateItem(itemId, newItem)));
        }
コード例 #11
0
ファイル: PantryService.cs プロジェクト: anaspoiala/bonsai
        public PantryItem UpdateItem(int itemId, PantryItem item)
        {
            ValidateItem(item);

            return(repository.UpdateItem(itemId, item));
        }
コード例 #12
0
ファイル: PantryService.cs プロジェクト: anaspoiala/bonsai
        public PantryItem AddItem(PantryItem item)
        {
            ValidateItem(item);

            return(repository.AddItem(item));
        }
コード例 #13
0
 public static bool NameIsEmpty(PantryItem item)
 {
     return(string.IsNullOrWhiteSpace(item.Item.Name));
 }
コード例 #14
0
 public static bool BuyDateIsEmpty(PantryItem item)
 {
     return(item.BuyDate == null);
 }
コード例 #15
0
 public static bool QuantityIsEmpty(PantryItem item)
 {
     return(item.Quantity == null);
 }
コード例 #16
0
        public void CreateItemsPolyMorphism()
        {
            try
            {
                IRecipeItem item = new PantryItem();
                // pantry items
                Assert.IsTrue(item.IngredientType == enumIngredientType.Pantry);
                Assert.IsTrue(item.Units == 0);
                Assert.IsTrue(item.UnitCost == 0);
                item = new PantryItem("name1", "unitname", true, 5, 100);
                Assert.IsTrue(item.Units == 100);
                Assert.IsTrue(item.UnitCost == 5);
                Assert.IsTrue(item.IsOrganic);
                item = new PantryItem("name", "unitname2", false, 2, 10);
                Assert.IsTrue(item.Units == 10);
                Assert.IsTrue(item.UnitCost == 2);
                Assert.IsFalse(item.IsOrganic);
                Assert.IsTrue(item.Name == "name");
                Assert.IsTrue(item.UnitName == "unitname2");
                item = new PantryItem("name1", "unitname", true, 0);
                Assert.IsTrue(item.Units == 0);
                Assert.IsTrue(item.IsOrganic);
                Assert.IsTrue(item.UnitCost == 0);
                item = new PantryItem("name1", "unitname3", false, 0);
                Assert.IsTrue(item.Units == 0);
                Assert.IsFalse(item.IsOrganic);
                Assert.IsTrue(item.UnitCost == 0);
                Assert.IsTrue(item.UnitName == "unitname3");
                Assert.IsTrue(item.IngredientType == enumIngredientType.Pantry);

                // produce items
                item = new ProduceItem();
                Assert.IsTrue(item.IngredientType == enumIngredientType.Produce);
                Assert.IsTrue(item.Units == 0);
                Assert.IsTrue(item.UnitCost == 0);
                item = new ProduceItem("name1", "unitname", true, 5, 100);
                Assert.IsTrue(item.Units == 100);
                Assert.IsTrue(item.UnitCost == 5);
                Assert.IsTrue(item.IsOrganic);
                item = new ProduceItem("name", "unitname2", false, 2, 10);
                Assert.IsTrue(item.Units == 10);
                Assert.IsTrue(item.UnitCost == 2);
                Assert.IsFalse(item.IsOrganic);
                Assert.IsTrue(item.Name == "name");
                Assert.IsTrue(item.UnitName == "unitname2");
                item = new ProduceItem("name1", "unitname", true, 0);
                Assert.IsTrue(item.Units == 0);
                Assert.IsTrue(item.IsOrganic);
                Assert.IsTrue(item.UnitCost == 0);
                item = new ProduceItem("name1", "unitname3", false, 0);
                Assert.IsTrue(item.Units == 0);
                Assert.IsFalse(item.IsOrganic);
                Assert.IsTrue(item.UnitCost == 0);
                Assert.IsTrue(item.UnitName == "unitname3");

                // meat poultry items
                item = new MeatPoultryItem();
                Assert.IsTrue(item.IngredientType == enumIngredientType.MeatPoultry);
                Assert.IsTrue(item.Units == 0);
                Assert.IsTrue(item.UnitCost == 0);
                item = new MeatPoultryItem("name1", "unitname", true, 5, 100);
                Assert.IsTrue(item.Units == 100);
                Assert.IsTrue(item.UnitCost == 5);
                Assert.IsTrue(item.IsOrganic);
                item = new MeatPoultryItem("name", "unitname2", false, 2, 10);
                Assert.IsTrue(item.Units == 10);
                Assert.IsTrue(item.UnitCost == 2);
                Assert.IsFalse(item.IsOrganic);
                Assert.IsTrue(item.Name == "name");
                Assert.IsTrue(item.UnitName == "unitname2");
                item = new MeatPoultryItem("name1", "unitname", true, 0);
                Assert.IsTrue(item.Units == 0);
                Assert.IsTrue(item.IsOrganic);
                Assert.IsTrue(item.UnitCost == 0);
                item = new MeatPoultryItem("name1", "unitname3", false, 0);
                Assert.IsTrue(item.Units == 0);
                Assert.IsFalse(item.IsOrganic);
                Assert.IsTrue(item.UnitCost == 0);
                Assert.IsTrue(item.UnitName == "unitname3");
                Assert.IsTrue(item.IngredientType == enumIngredientType.MeatPoultry);
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(ex.Message);
                Assert.IsTrue(false);
            }
        }
コード例 #17
0
 public static bool ExpirationDateIsEmpty(PantryItem item)
 {
     return(item.ExpirationDate == null);
 }
コード例 #18
0
ファイル: Modeler.cs プロジェクト: KaloyanTodorov/Teamwork
 public ProfileCreator AddPantryItem(PantryItem item)
 {
     this.pantry.Add(item);
     return(this);
 }
コード例 #19
0
 public static bool ItemIsExpired(PantryItem item)
 {
     return(item.ExpirationDate.Value.CompareTo(System.DateTime.UtcNow) >= 0);
 }