コード例 #1
0
        public void SaveRetrieval(StationeryRetrievalJSONViewModel json)
        {
            List <Disbursement>       disbList = disbursementService.FindDisbursementsByRetrievalId(json.RetrievalID);
            List <DisbursementDetail> ddList   = disbList.SelectMany(x => x.DisbursementDetails).ToList();

            foreach (var row in json.Data)
            {
                if (row.RetrievedStatus == "Picked")
                {
                    ddList
                    .Where(x => x.ItemCode == row.ProductID)
                    .ToList()
                    .ForEach(x => x.ActualQuantity = x.PlanQuantity);
                }
                else if (row.RetrievedStatus == "Awaiting Picking")
                {
                    ddList
                    .Where(x => x.ItemCode == row.ProductID)
                    .ToList()
                    .ForEach(x => x.ActualQuantity = 0);
                }
            }
            foreach (Disbursement d in disbList)
            {
                disbursementRepository.Save(d);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public IHttpActionResult UpdateStationeryRetrieval(StationeryRetrievalJSONViewModel viewModel)
 {
     try
     {
         retrievalService.SaveRetrieval(viewModel);
         if (viewModel.IsConfirmed == true)
         {
             retrievalService.ConfirmRetrieval(viewModel.RetrievalID, "");
         }
     } catch
     {
         return(BadRequest());
     }
     return(Ok());
 }