示例#1
0
        public void UpdatePassTest()
        {
            try
            {
                var originalColliList = getColliListMock();
                originalColliList = service.Create(originalColliList);

                var newColliList = new ColliListBO();
                newColliList.Id          = originalColliList.Id;
                newColliList.ItemType    = originalColliList.ItemType;
                newColliList.FreightType = originalColliList.FreightType;
                newColliList.ItemType    = "Light air";
                newColliList             = service.Update(newColliList);

                var updatedColliList = service.Get(originalColliList.Id);

                Assert.Equal(originalColliList.Id, newColliList.Id);

                Assert.Equal("Light air", newColliList.ItemType);

                Assert.Equal(newColliList.ItemType, updatedColliList.ItemType);

                Assert.NotEqual(originalColliList.ItemType, newColliList.ItemType);
            }
            catch (Exception e)
            {
                Assert.True(false, e.Message);
            }
            finally
            {
                clearDb();
            }
        }
        public ColliList ConvertBO(ColliListBO colliListBO)
        {
            if (colliListBO == null)
            {
                return(null);
            }

            return(new ColliList()
            {
                Id = colliListBO.Id,
                ItemType = colliListBO.ItemType,
                FreightType = colliListBO.FreightType,
                IsActive = colliListBO.IsActive,
                Dimensions = colliListBO.Dimensions,
                NetWeight = colliListBO.NetWeight,
                TotalWeight = colliListBO.TotalWeight,
                ProjectName = colliListBO.ProjectName,
                Worker = colliListBO.Worker,

                PackingLists = colliListBO.PackingListIds?.Select(pID => new PackingColliList()
                {
                    PackingListID = pID,
                    ColliListID = colliListBO.Id
                }).ToList(),

                ColliItems = colliListBO.ColliItemsIds?.Select(ciID => new ColliItem()
                {
                    ColliListId = colliListBO.Id
                }).ToList()
            });
        }
 public IActionResult Post([FromBody] ColliListBO colliList)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     return(Ok(facade.ColliListService.Create(colliList)));
 }
示例#4
0
        private ColliListBO getColliListMock()
        {
            ColliListBO colliList = new ColliListBO()
            {
                ItemType    = "Cylinder",
                FreightType = "Mega tough"
            };

            return(colliList);
        }
        public ColliListBO Create(ColliListBO colliList)
        {
            if (colliList == null)
            {
                return(null);
            }

            using (var uow = _facade.UnitOfWork)
            {
                var createdColliList = uow.ColliListRepository.Create(_conv.ConvertBO(colliList));
                uow.Complete();
                return(_conv.Convert(createdColliList));
            }
        }
        public ColliListBO Update(ColliListBO colliList)
        {
            if (colliList == null)
            {
                return(null);
            }

            using (var uow = _facade.UnitOfWork)
            {
                var colliListEnt = uow.ColliListRepository.Get(colliList.Id);

                if (colliListEnt == null)
                {
                    return(null);
                }

                var colliListUpdated = _conv.ConvertBO(colliList);

                colliListEnt.Id          = colliListUpdated.Id;
                colliListEnt.ItemType    = colliListUpdated.ItemType;
                colliListEnt.FreightType = colliListUpdated.FreightType;
                colliListEnt.IsActive    = colliListUpdated.IsActive;
                colliListEnt.Dimensions  = colliListUpdated.Dimensions;
                colliListEnt.NetWeight   = colliListUpdated.NetWeight;
                colliListEnt.ProjectName = colliListUpdated.ProjectName;
                colliListEnt.TotalWeight = colliListUpdated.TotalWeight;
                colliListEnt.Worker      = colliListUpdated.Worker;

                if (colliListUpdated.PackingLists != null)
                {
                    colliListEnt.PackingLists.RemoveAll(
                        cl => !colliListUpdated.PackingLists.Exists(
                            pu => pu.PackingListID == cl.PackingListID &&
                            pu.ColliListID == cl.ColliListID));

                    colliListUpdated.PackingLists.RemoveAll(
                        p => colliListEnt.PackingLists.Exists(
                            pu => pu.PackingListID == p.PackingListID &&
                            pu.ColliListID == p.ColliListID));

                    colliListEnt.PackingLists.AddRange(
                        colliListUpdated.PackingLists);
                }

                uow.Complete();
                return(_conv.Convert(colliListEnt));
            }
        }
 public IActionResult Put(int id, [FromBody] ColliListBO colliList)
 {
     if (id != colliList.Id)
     {
         return(BadRequest("Path ID does not match colli list ID in JSON object."));
     }
     try
     {
         var updatedColliList = facade.ColliListService.Update(colliList);
         if (updatedColliList == null)
         {
             return(StatusCode(404, "No colli list found with that ID"));
         }
         return(Ok(updatedColliList));
     }
     catch (Exception e)
     {
         return(StatusCode(404, e.Message + "/n" + e.StackTrace));
     }
 }
 public void reset()
 {
     colliList = new ColliListBO();
 }