Beispiel #1
0
        public PurchaseOrderShipment AddPurchaseOrderShipment(PurchaseOrderShipment purchaseOrderLineShipment)
        {
            var result = _context.PurchaseOrderShipments.Add(purchaseOrderLineShipment);

            _context.SaveChanges();
            return(result);
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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));
 }