public PurchaseOrderShipment AddPurchaseOrderShipment(PurchaseOrderShipment purchaseOrderLineShipment) { var result = _context.PurchaseOrderShipments.Add(purchaseOrderLineShipment); _context.SaveChanges(); return(result); }
private void ProductResolver(PurchaseOrder purchaseOrder, PurchaseOrderLine poLineResult) { var productResult = _productService.GetProduct(poLineResult.ProductId); if (productResult == null) { throw new ArgumentNullException(nameof(productResult)); } var uprofile = _userprofileService.GetUserprofile(purchaseOrder.UserProfileId); uprofile.UserMemberships = new List <UserMembership>(); // BR1.If the purchase order contains a membership, it should be activated in the customer account immediately. if (productResult.ProductForm == RefProductForm.Membership) { // Activate the membership and assign membership value // Should check to see if there is already a membership available of the Membership category, if so update that var userMembership = new UserMembership { ProductId = productResult.Id, UserProfileId = purchaseOrder.UserProfileId, MembershipInitial = productResult.ProductMembershipValue, MembershipRemaining = productResult.ProductMembershipValue, MembershipCategory = productResult.ProductCategory, DateAdded = DateTime.Now, DateModified = DateTime.Now }; _userMembershipService.AddUserMembership(userMembership); //uprofile.UserMemberships.Add(userMembership); //_userprofileService.UpdateUserprofile(uprofile.Id, uprofile); } else if (productResult.ProductForm == RefProductForm.Physical) { // BR2. If the purchase order contains a physical product, a shipping slip should be generated. // probably would make more sense to check for a userShipment and see whats its status is, if unshipped update.... but again brevity. var poShip = new PurchaseOrderShipment { PurchaseOrderId = purchaseOrder.Id, ShipmentStatus = "Shipping Slip Created", Weight = productResult.Weight, TrackingNumber = ShippingLabelGenerator.GenerateShippingLabel(), Items = 1, DateAdded = DateTime.Now, DateModified = DateTime.Now }; _purchaseOrderShipmentService.AddPurchaseOrderShipment(poShip); //purchaseOrder.PurchaseOrderShipments.Add(poShip); //_purchaseOrderService.UpdatePurchaseOrder(purchaseOrder.Id, purchaseOrder); } }
public void AddPurchaseOrderShipment_ValidPOS_ShouldReturnAddedPOS() { var pos = new PurchaseOrderShipment { PurchaseOrder = new Data.Models.PurchaseOrder.PurchaseOrder(), Items = 1, Weight = 1, ShipmentStatus = "Shipping", TrackingNumber = "Test", PurchaseOrderLines = new List <PurchaseOrderLine>() }; var result = PurchaseOrderShipmentService.AddPurchaseOrderShipment(pos); result.Id.Should().BeGreaterThan(0); }
public PurchaseOrderShipment UpdatePurchaseOrderShipment(int purchaseOrderShipmentId, PurchaseOrderShipment purchaseOrderShipment) { throw new System.NotImplementedException(); }
public PurchaseOrderShipment AddPurchaseOrderShipment(PurchaseOrderShipment purchaseOrderShipment) { return(PurchaseOrderShipmentRepository.AddPurchaseOrderShipment(purchaseOrderShipment)); }