public void should_success_instantiate() { Guid id = Guid.NewGuid(); GarmentLoadingItem item = new GarmentLoadingItem(new GarmentLoadingItemReadModel(id)); item.SetQuantity(1); item.Modify(); Assert.NotNull(item); }
public GarmentLoadingItemDto(GarmentLoadingItem garmentLoadingItem) { Id = garmentLoadingItem.Identity; Product = new Product(garmentLoadingItem.ProductId.Value, garmentLoadingItem.ProductCode, garmentLoadingItem.ProductName); DesignColor = garmentLoadingItem.DesignColor; Size = new SizeValueObject(garmentLoadingItem.SizeId.Value, garmentLoadingItem.SizeName); Quantity = garmentLoadingItem.Quantity; Uom = new Uom(garmentLoadingItem.UomId.Value, garmentLoadingItem.UomUnit); Color = garmentLoadingItem.Color; RemainingQuantity = garmentLoadingItem.RemainingQuantity; BasicPrice = garmentLoadingItem.BasicPrice; SewingDOItemId = garmentLoadingItem.SewingDOItemId; LoadingId = garmentLoadingItem.LoadingId; Price = garmentLoadingItem.Price; }
public async Task <GarmentLoading> Handle(PlaceGarmentLoadingCommand request, CancellationToken cancellationToken) { request.Items = request.Items.ToList(); GarmentLoading garmentLoading = new GarmentLoading( Guid.NewGuid(), GenerateLoadingNo(request), request.SewingDOId, request.SewingDONo, new UnitDepartmentId(request.UnitFrom.Id), request.UnitFrom.Code, request.UnitFrom.Name, request.RONo, request.Article, new UnitDepartmentId(request.Unit.Id), request.Unit.Code, request.Unit.Name, request.LoadingDate, new GarmentComodityId(request.Comodity.Id), request.Comodity.Code, request.Comodity.Name ); Dictionary <Guid, double> sewingDOItemToBeUpdated = new Dictionary <Guid, double>(); foreach (var item in request.Items) { if (item.IsSave) { GarmentLoadingItem garmentLoadingItem = new GarmentLoadingItem( Guid.NewGuid(), garmentLoading.Identity, item.SewingDOItemId, new SizeId(item.Size.Id), item.Size.Size, new ProductId(item.Product.Id), item.Product.Code, item.Product.Name, item.DesignColor, item.Quantity, item.RemainingQuantity, item.BasicPrice, new UomId(item.Uom.Id), item.Uom.Unit, item.Color, item.Price ); if (sewingDOItemToBeUpdated.ContainsKey(item.SewingDOItemId)) { sewingDOItemToBeUpdated[item.SewingDOItemId] += item.Quantity; } else { sewingDOItemToBeUpdated.Add(item.SewingDOItemId, item.Quantity); } await _garmentLoadingItemRepository.Update(garmentLoadingItem); } } foreach (var sewingDOItem in sewingDOItemToBeUpdated) { var garmentSewingDOItem = _garmentSewingDOItemRepository.Query.Where(x => x.Identity == sewingDOItem.Key).Select(s => new GarmentSewingDOItem(s)).Single(); garmentSewingDOItem.setRemainingQuantity(garmentSewingDOItem.RemainingQuantity - sewingDOItem.Value); garmentSewingDOItem.Modify(); await _garmentSewingDOItemRepository.Update(garmentSewingDOItem); } await _garmentLoadingRepository.Update(garmentLoading); _storage.Save(); return(garmentLoading); }