public void GetInventoryPartFromId_WhenIdExists()
        {
            InventoryPartDto        expectedObject = MockObjectsUtil.GetMockInventoryPart(1);
            Mock <InventoryContext> mockDbContext  = new Mock <InventoryContext>();
            List <InventoryPartDto> data           = new List <InventoryPartDto>()
            {
                expectedObject
            };
            Mock <DbSet <InventoryPartDto> > mockSet = new Mock <DbSet <InventoryPartDto> >();

            mockSet.As <IQueryable <InventoryPartDto> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());
            mockSet.As <IQueryable <InventoryPartDto> >().Setup(m => m.Provider)
            .Returns(data.AsQueryable().Provider);
            mockSet.As <IQueryable <InventoryPartDto> >().Setup(m => m.Expression)
            .Returns(data.AsQueryable().Expression);
            mockSet.As <IQueryable <InventoryPartDto> >().Setup(m => m.ElementType)
            .Returns(data.AsQueryable().ElementType);
            mockSet.Setup(m => m.Find(It.IsAny <object[]>()))
            .Returns <object[]>(ids => data.FirstOrDefault(d => d.ID == (int)ids[0]));

            mockDbContext.Setup(x => x.Set <InventoryPartDto>()).Returns(mockSet.Object);
            mockDbContext.Setup(c => c.InventoryParts).Returns(mockSet.Object);

            InventoryPartManager manager = new InventoryPartManager(mockDbContext.Object);
            InventoryPartView    result  = manager.GetInventoryPartFromId(1);

            Assert.AreEqual(expectedObject.ID, result.ID);
        }
 public virtual InventoryPartView GetInventoryPartFromId(int?id)
 {
     try
     {
         InventoryPartDto  inventoryPart     = this.unitOfWork.InventoryParts.GetByID(id);
         InventoryPartView inventoryPartView = iMapper.Map <InventoryPartDto, InventoryPartView>(inventoryPart);
         return(inventoryPartView);
     }
     catch (Exception e)
     {
         Log.Error(e.Message);
         throw new DatabaseAccessException(e.Message);
     }
 }
 public virtual void UpdateInventoryPart(InventoryPartView inventoryPart)
 {
     try
     {
         InventoryPartDto inventoryPartDto = iMapper.Map <InventoryPartView, InventoryPartDto>(inventoryPart);
         this.unitOfWork.InventoryParts.Update(inventoryPartDto);
         this.unitOfWork.Commit();
     }
     catch (Exception e)
     {
         Log.Error(e.Message);
         throw new DatabaseAccessException(e.Message);
     }
 }