public void SaveTest()
        {
            //Arrange
            Disbursement newDisbursement = new Disbursement();

            newDisbursement.DisbursementId  = IdService.GetNewDisbursementId(context);
            newDisbursement.CreatedDateTime = DateTime.Now;
            string expected = newDisbursement.DisbursementId;

            //Act
            var result = disbursementService.Save(newDisbursement);

            disbursementRepository.Delete(newDisbursement);
            //Assert
            Assert.AreEqual(expected, result.DisbursementId);
        }
        public void StationeryRetrievalPOSTTest()
        {
            // ARRANGE

            // create Retrieval with Corresponding Disbursement
            Retrieval r = new Retrieval
            {
                RetrievalId = "RETRIEVAL",
                CreatedDateTime = DateTime.Now,
                Disbursements = new List<Disbursement>()
            };
            Disbursement d = new Disbursement
            {
                DisbursementId = "DISBURSEMENT",
                CreatedDateTime = DateTime.Now,
                DisbursementDetails = new List<DisbursementDetail>()
            };
            DisbursementDetail dd = new DisbursementDetail();
            dd.PlanQuantity = 10;
            dd.ActualQuantity = 0;
            dd.Item = itemService.FindItemByItemCode("C001");

            d.DisbursementDetails.Add(dd);
            r.Disbursements.Add(d);

            Retrieval savedRetrieval = retrievalService.Save(r);
            Disbursement savedDisbursement = disbursementService.Save(d);

            // ACT
            // create mock data from DataTables
            StationeryRetrievalJSONViewModel viewModel = new StationeryRetrievalJSONViewModel();

            viewModel.RetrievalID = "RETRIEVAL";
            viewModel.Data = new List<StationeryRetrievalJSONViewModel>();
            StationeryRetrievalJSONViewModel d1 = new StationeryRetrievalJSONViewModel
            {
                AllRetrieved = true,
                ProductID = "C001"
            };
            viewModel.Data.Add(d1);

            // Call the API controller
            requisitionApiController.StationeryRetrieval(viewModel);

            // ASSERT
            // The Disbursement Detail should be updated accordingly
            //int expected = savedDisbursement.DisbursementDetails.First().ActualQuantity;

            int expected;
            using (ApplicationDbContext context = new ApplicationDbContext())
            {
                expected = context.DisbursementDetail
                .Where(x => x.DisbursementId == "DISBURSEMENT")
                .Where(x => x.ItemCode == "C001").First().ActualQuantity;
            }
            
            Assert.AreEqual(expected, 10);
        }
        public void TestInitialize()
        {
            // Create needed Retrieval, Disbursement, and Disbursement Detail
            retrievalService.Save(new Retrieval
            {
                RetrievalId     = "TEST2",
                CreatedDateTime = DateTime.Now
            });
            Disbursement d = new Disbursement
            {
                DisbursementId      = "TEST2",
                CreatedDateTime     = DateTime.Now,
                DisbursementDetails = new List <DisbursementDetail>()
            };

            d.DisbursementDetails.Add(new DisbursementDetail
            {
                ItemCode     = "E032",
                PlanQuantity = 1
            });
            disbursementService.Save(d);
        }