Esempio n. 1
0
        public void CreateWithSerializedPartDefaults()
        {
            var before = new PurchaseOrderItems(this.Session).Extent().ToArray();

            var expected = new PurchaseOrderItemBuilder(this.Session).WithSerializedPartDefaults(this.serializedPartItem.Part, this.serializedPartItem.SerialisedItem).Build();

            this.purchaseOrder.AddPurchaseOrderItem(expected);

            this.Session.Derive();

            Assert.True(expected.ExistComment);
            Assert.True(expected.ExistInternalComment);
            Assert.True(expected.ExistInvoiceItemType);
            Assert.True(expected.ExistPart);
            Assert.True(expected.ExistSerialisedItem);
            Assert.True(expected.ExistAssignedUnitPrice);
            Assert.True(expected.ExistMessage);

            var expectedComment           = expected.Comment;
            var expectedInternalComment   = expected.InternalComment;
            var expectedInvoiceItemType   = expected.InvoiceItemType;
            var expectedPart              = expected.Part;
            var expectedSerialisedItem    = expected.SerialisedItem;
            var expectedAssignedUnitPrice = expected.AssignedUnitPrice;
            var expectedMessage           = expected.Message;

            this.purchaseOrderListPage.Table.DefaultAction(this.purchaseOrder);
            var purchaseOrderOverview          = new PurchaseOrderOverviewComponent(this.purchaseOrderListPage.Driver);
            var purchaseOrderItemOverviewPanel = purchaseOrderOverview.PurchaseorderitemOverviewPanel.Click();

            var purchaseOrderItemCreate = purchaseOrderItemOverviewPanel.CreatePurchaseOrderItem();

            purchaseOrderItemCreate.InvoiceItemType.Select(expected.InvoiceItemType);
            purchaseOrderItemCreate.Comment.Set(expected.Comment);
            purchaseOrderItemCreate.InternalComment.Set(expected.InternalComment);
            purchaseOrderItemCreate.PurchaseOrderItemPart_1.Select(expected.Part.Name);
            purchaseOrderItemCreate.PurchaseOrderItemSerialisedItem_1.Select(expected.SerialisedItem);
            purchaseOrderItemCreate.AssignedUnitPrice.Set(expected.AssignedUnitPrice.ToString());
            purchaseOrderItemCreate.Message.Set(expected.Message);

            this.Session.Rollback();
            purchaseOrderItemCreate.SAVE.Click();

            this.Driver.WaitForAngular();
            this.Session.Rollback();

            var after = new PurchaseOrderItems(this.Session).Extent().ToArray();

            Assert.Equal(after.Length, before.Length + 1);

            var actual = after.Except(before).First();

            Assert.Equal(expectedComment, actual.Comment);
            Assert.Equal(expectedInternalComment, actual.InternalComment);
            Assert.Equal(expectedInvoiceItemType, actual.InvoiceItemType);
            Assert.Equal(expectedPart, actual.Part);
            Assert.Equal(expectedSerialisedItem, actual.SerialisedItem);
            Assert.Equal(expectedAssignedUnitPrice, actual.AssignedUnitPrice);
            Assert.Equal(expectedMessage, actual.Message);
        }
        public void EditWithNonSerializedPartDefaults()
        {
            var purchaseOrder = new PurchaseOrders(this.Session).Extent().FirstOrDefault();

            var before = new PurchaseOrderItems(this.Session).Extent().ToArray();

            var disposablePurchaseOrder = this.internalOrganisation.CreatePurchaseOrderWithNonSerializedItem(this.Session.Faker());
            var expected = disposablePurchaseOrder.PurchaseOrderItems.First(v => v.InvoiceItemType.IsPartItem);

            var purchaseOrderItem = purchaseOrder.PurchaseOrderItems.First(v => v.InvoiceItemType.IsPartItem);
            var id = purchaseOrderItem.Id;

            this.Session.Derive();

            var expectedDescription       = expected.Description;
            var expectedComment           = expected.Comment;
            var expectedInternalComment   = expected.InternalComment;
            var expectedInvoiceItemType   = expected.InvoiceItemType;
            var expectedPart              = expected.Part;
            var expectedQuantityOrdered   = expected.QuantityOrdered;
            var expectedAssignedUnitPrice = expected.AssignedUnitPrice;
            var expectedMessage           = expected.Message;

            this.purchaseOrderListPage.Table.DefaultAction(purchaseOrder);
            var purchaseOrderOverview          = new PurchaseOrderOverviewComponent(this.purchaseOrderListPage.Driver);
            var purchaseOrderItemOverviewPanel = purchaseOrderOverview.PurchaseorderitemOverviewPanel.Click();

            purchaseOrderItemOverviewPanel.Table.DefaultAction(purchaseOrderItem);

            var purchaseOrderItemEdit = new PurchaseOrderItemEditComponent(this.Driver);

            purchaseOrderItemEdit.OrderItemDescription_1.Set(expected.Description);
            purchaseOrderItemEdit.Comment.Set(expected.Comment);
            purchaseOrderItemEdit.InternalComment.Set(expected.InternalComment);
            purchaseOrderItemEdit.QuantityOrdered.Set(expected.QuantityOrdered.ToString());
            purchaseOrderItemEdit.AssignedUnitPrice.Set(expected.AssignedUnitPrice.ToString());
            purchaseOrderItemEdit.Message.Set(expected.Message);

            this.Session.Rollback();
            purchaseOrderItemEdit.SAVE.Click();

            this.Driver.WaitForAngular();
            this.Session.Rollback();

            var after = new PurchaseOrderItems(this.Session).Extent().ToArray();

            var actual = (PurchaseOrderItem)this.Session.Instantiate(id);

            Assert.Equal(after.Length, before.Length);

            Assert.Equal(expectedDescription, actual.Description);
            Assert.Equal(expectedComment, actual.Comment);
            Assert.Equal(expectedInternalComment, actual.InternalComment);
            Assert.Equal(expectedInvoiceItemType, actual.InvoiceItemType);
            Assert.Equal(expectedQuantityOrdered, actual.QuantityOrdered);
            Assert.Equal(expectedAssignedUnitPrice, actual.AssignedUnitPrice);
            Assert.Equal(expectedMessage, actual.Message);
        }
        public async Task <ActionResult <PurchaseOrder> > PostPurchaseOrder(PurchaseOrderDTO purchaseOrderDTO)
        {
            SiteManager siteManager = _context.SiteManagers.FirstOrDefault(e => e.StaffId == purchaseOrderDTO.SiteManagerId);
            Supplier    supplier    = _context.Supplier.FirstOrDefault(e => e.SupplierCode == purchaseOrderDTO.SupplierCode);
            Site        site        = _context.Sites.FirstOrDefault(e => e.SiteCode == purchaseOrderDTO.SiteCode);

            PurchaseOrder purchaseOrder = new PurchaseOrder
            {
                ShippingAddress = purchaseOrderDTO.ShippingAddress,
                DeliverBefore   = purchaseOrderDTO.DeliverBefore,
                DeliveryCost    = purchaseOrderDTO.DeliveryCost,
                TotalCost       = purchaseOrderDTO.TotalCost,
                OrderStatus     = purchaseOrderDTO.OrderStatus,
                SiteManager     = siteManager,
                Supplier        = supplier,
                Site            = site
            };

            if (purchaseOrderDTO.ManagementStaffId != null)
            {
                ManagementStaff managementStaff = _context.ManagementStaff.FirstOrDefault(e => e.StaffId == purchaseOrderDTO.ManagementStaffId);

                purchaseOrder.ApprovedBy = managementStaff;
            }

            var itemMap = new Dictionary <string, int>();

            foreach (string itemId in purchaseOrderDTO.ItemIds)
            {
                if (itemMap.ContainsKey(itemId))
                {
                    itemMap[itemId] = itemMap[itemId] + 1;
                }
                else
                {
                    itemMap.Add(itemId, 1);
                }
            }

            for (int i = 0; i < itemMap.Count; i++)
            {
                var item = new PurchaseOrderItems {
                    ItemId = itemMap.ElementAt(i).Key, PurchaseOrder = purchaseOrder, ItemCount = itemMap.ElementAt(i).Value
                };

                _context.Set <PurchaseOrderItems>().Add(item);
            }

            _context.PurchaseOrders.Add(purchaseOrder);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPurchaseOrder", new { id = purchaseOrder.OrderReference }, purchaseOrder));
        }
        private DataTable GetDs(int PoId)
        {
            SqlConnection con  = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["RetailManagementConnectionString"].ConnectionString);
            string        PoNo = Session["PoNo"].ToString();

            SqlDataAdapter     adp1 = new SqlDataAdapter("select * from PurchaseItemDetails where PoNo='" + PoNo + "'", con);
            PurchaseOrderItems ds1  = new PurchaseOrderItems();

            con.Open();
            adp1.Fill(ds1);
            return(ds1.Tables[1]);
        }
Esempio n. 5
0
        public static List <PurchaseOrderItems> getAllPOItems(List <PurchaseOrder> pos, List <Item> items)
        {
            List <PurchaseOrderItems> poItems = new List <PurchaseOrderItems>();

            /*PurchaseOrderItems p1 = new PurchaseOrderItems()
             * {
             *
             *  POID = pos[0].POID,
             *  ItemID = items[0].ItemID,
             *  OrderQty = 10,
             *
             * };
             * PurchaseOrderItems p2 = new PurchaseOrderItems()
             * {
             *
             *  POID = pos[0].POID,
             *  ItemID = items[4].ItemID,
             *  OrderQty = 108,
             * };
             * PurchaseOrderItems p3 = new PurchaseOrderItems()
             * {
             *
             *  POID = pos[1].POID,
             *  ItemID = items[66].ItemID,
             *  OrderQty = 8,
             *  ReceivedQty = 8
             * };
             * PurchaseOrderItems p4 = new PurchaseOrderItems()
             * {
             *
             *  POID = pos[2].POID,
             *  ItemID = items[55].ItemID,
             *  OrderQty = 87,
             * };
             * PurchaseOrderItems p5 = new PurchaseOrderItems()
             * {
             *
             *  POID = pos[2].POID,
             *  ItemID = items[13].ItemID,
             *  OrderQty = 17,
             * };*/

            //history data
            PurchaseOrderItems p1  = new PurchaseOrderItems(); p1.POID = 1; p1.ItemID = 14; p1.OrderQty = 17; p1.ReceivedQty = 17; poItems.Add(p1);
            PurchaseOrderItems p2  = new PurchaseOrderItems(); p2.POID = 1; p2.ItemID = 56; p2.OrderQty = 87; p2.ReceivedQty = 87; poItems.Add(p2);
            PurchaseOrderItems p3  = new PurchaseOrderItems(); p3.POID = 2; p3.ItemID = 67; p3.OrderQty = 8; p3.ReceivedQty = 8; poItems.Add(p3);
            PurchaseOrderItems p4  = new PurchaseOrderItems(); p4.POID = 3; p4.ItemID = 5; p4.OrderQty = 108; p4.ReceivedQty = 108; poItems.Add(p4);
            PurchaseOrderItems p5  = new PurchaseOrderItems(); p5.POID = 3; p5.ItemID = 1; p5.OrderQty = 10; p5.ReceivedQty = 10; poItems.Add(p5);
            PurchaseOrderItems p6  = new PurchaseOrderItems(); p6.POID = 4; p6.ItemID = 2; p6.OrderQty = 30; p6.ReceivedQty = 30; poItems.Add(p6);
            PurchaseOrderItems p7  = new PurchaseOrderItems(); p7.POID = 5; p7.ItemID = 4; p7.OrderQty = 30; p7.ReceivedQty = 30; poItems.Add(p7);
            PurchaseOrderItems p8  = new PurchaseOrderItems(); p8.POID = 6; p8.ItemID = 61; p8.OrderQty = 50; p8.ReceivedQty = 50; poItems.Add(p8);
            PurchaseOrderItems p9  = new PurchaseOrderItems(); p9.POID = 7; p9.ItemID = 6; p9.OrderQty = 30; p9.ReceivedQty = 30; poItems.Add(p9);
            PurchaseOrderItems p10 = new PurchaseOrderItems(); p10.POID = 8; p10.ItemID = 8; p10.OrderQty = 400; p10.ReceivedQty = 400; poItems.Add(p10);
            PurchaseOrderItems p11 = new PurchaseOrderItems(); p11.POID = 9; p11.ItemID = 10; p11.OrderQty = 400; p11.ReceivedQty = 400; poItems.Add(p11);
            PurchaseOrderItems p12 = new PurchaseOrderItems(); p12.POID = 10; p12.ItemID = 16; p12.OrderQty = 20; p12.ReceivedQty = 20; poItems.Add(p12);
            PurchaseOrderItems p13 = new PurchaseOrderItems(); p13.POID = 11; p13.ItemID = 17; p13.OrderQty = 50; p13.ReceivedQty = 50; poItems.Add(p13);
            PurchaseOrderItems p14 = new PurchaseOrderItems(); p14.POID = 12; p14.ItemID = 23; p14.OrderQty = 50; p14.ReceivedQty = 50; poItems.Add(p14);
            PurchaseOrderItems p15 = new PurchaseOrderItems(); p15.POID = 13; p15.ItemID = 28; p15.OrderQty = 150; p15.ReceivedQty = 150; poItems.Add(p15);
            PurchaseOrderItems p16 = new PurchaseOrderItems(); p16.POID = 14; p16.ItemID = 30; p16.OrderQty = 150; p16.ReceivedQty = 150; poItems.Add(p16);
            PurchaseOrderItems p17 = new PurchaseOrderItems(); p17.POID = 15; p17.ItemID = 33; p17.OrderQty = 150; p17.ReceivedQty = 150; poItems.Add(p17);
            PurchaseOrderItems p18 = new PurchaseOrderItems(); p18.POID = 16; p18.ItemID = 38; p18.OrderQty = 20; p18.ReceivedQty = 20; poItems.Add(p18);
            PurchaseOrderItems p19 = new PurchaseOrderItems(); p19.POID = 17; p19.ItemID = 43; p19.OrderQty = 60; p19.ReceivedQty = 60; poItems.Add(p19);
            PurchaseOrderItems p20 = new PurchaseOrderItems(); p20.POID = 18; p20.ItemID = 48; p20.OrderQty = 500; p20.ReceivedQty = 500; poItems.Add(p20);
            PurchaseOrderItems p21 = new PurchaseOrderItems(); p21.POID = 19; p21.ItemID = 50; p21.OrderQty = 50; p21.ReceivedQty = 50; poItems.Add(p21);
            PurchaseOrderItems p22 = new PurchaseOrderItems(); p22.POID = 20; p22.ItemID = 52; p22.OrderQty = 50; p22.ReceivedQty = 50; poItems.Add(p22);
            PurchaseOrderItems p23 = new PurchaseOrderItems(); p23.POID = 21; p23.ItemID = 54; p23.OrderQty = 50; p23.ReceivedQty = 50; poItems.Add(p23);
            PurchaseOrderItems p24 = new PurchaseOrderItems(); p24.POID = 22; p24.ItemID = 56; p24.OrderQty = 50; p24.ReceivedQty = 50; poItems.Add(p24);
            PurchaseOrderItems p25 = new PurchaseOrderItems(); p25.POID = 23; p25.ItemID = 59; p25.OrderQty = 50; p25.ReceivedQty = 50; poItems.Add(p25);
            PurchaseOrderItems p26 = new PurchaseOrderItems(); p26.POID = 24; p26.ItemID = 62; p26.OrderQty = 50; p26.ReceivedQty = 50; poItems.Add(p26);
            PurchaseOrderItems p27 = new PurchaseOrderItems(); p27.POID = 25; p27.ItemID = 65; p27.OrderQty = 50; p27.ReceivedQty = 50; poItems.Add(p27);
            PurchaseOrderItems p28 = new PurchaseOrderItems(); p28.POID = 26; p28.ItemID = 70; p28.OrderQty = 80; p28.ReceivedQty = 80; poItems.Add(p28);
            PurchaseOrderItems p29 = new PurchaseOrderItems(); p29.POID = 27; p29.ItemID = 72; p29.OrderQty = 20; p29.ReceivedQty = 20; poItems.Add(p29);
            PurchaseOrderItems p30 = new PurchaseOrderItems(); p30.POID = 28; p30.ItemID = 74; p30.OrderQty = 20; p30.ReceivedQty = 20; poItems.Add(p30);
            PurchaseOrderItems p31 = new PurchaseOrderItems(); p31.POID = 29; p31.ItemID = 76; p31.OrderQty = 20; p31.ReceivedQty = 20; poItems.Add(p31);
            PurchaseOrderItems p32 = new PurchaseOrderItems(); p32.POID = 30; p32.ItemID = 80; p32.OrderQty = 10; p32.ReceivedQty = 10; poItems.Add(p32);
            PurchaseOrderItems p33 = new PurchaseOrderItems(); p33.POID = 31; p33.ItemID = 83; p33.OrderQty = 200; p33.ReceivedQty = 200; poItems.Add(p33);
            PurchaseOrderItems p34 = new PurchaseOrderItems(); p34.POID = 32; p34.ItemID = 87; p34.OrderQty = 200; p34.ReceivedQty = 200; poItems.Add(p34);
            PurchaseOrderItems p35 = new PurchaseOrderItems(); p35.POID = 33; p35.ItemID = 89; p35.OrderQty = 10; p35.ReceivedQty = 10; poItems.Add(p35);



            /*poItems.Add(p1);
            *  poItems.Add(p2);
            *  poItems.Add(p3);
            *  poItems.Add(p4);
            *  poItems.Add(p5);*/
            return(poItems);
        }
Esempio n. 6
0
        private IList <Ordering.PurchaseOrderDetail> GetDetailsForCopy(Ordering.PurchaseOrder po, Ordering.PurchaseOrder copy, Ordering.Vendor vendor)
        {
            var currentClientId = Context.CurrentUser.ClientID;

            IList <Ordering.PurchaseOrderDetail> details;

            if (po.Client.ClientID == currentClientId || po.Vendor.ClientID == 0)
            {
                // current user is copying own order, or store manager vendor
                details = po.Details.Select(x => new Ordering.PurchaseOrderDetail()
                {
                    Category = x.Category,
                    IsInventoryControlled = x.IsInventoryControlled,
                    Item            = x.Item,
                    PurchaseOrder   = copy,
                    Quantity        = x.Quantity,
                    ToInventoryDate = null,
                    Unit            = x.Unit,
                    UnitPrice       = x.UnitPrice
                }).ToList();
            }
            else
            {
                // current user is copying another user's order

                details = new List <Ordering.PurchaseOrderDetail>();

                // check for items for the current user that have the same description and partnum as the po detail items
                foreach (var d in po.Details)
                {
                    var i = vendor.Items.FirstOrDefault(x =>
                                                        PurchaseOrderItems.CleanString(x.Description) == PurchaseOrderItems.CleanString(d.Item.Description) &&
                                                        PurchaseOrderItems.CleanString(x.PartNum) == PurchaseOrderItems.CleanString(d.Item.PartNum));

                    if (i == null)
                    {
                        // make a copy of the item
                        i = new Ordering.PurchaseOrderItem()
                        {
                            Active          = true,
                            Description     = d.Item.Description,
                            Details         = new List <Ordering.PurchaseOrderDetail>(),
                            InventoryItemID = d.Item.InventoryItemID,
                            PartNum         = d.Item.PartNum,
                            UnitPrice       = d.Item.UnitPrice,
                            Vendor          = vendor
                        };

                        DataSession.Insert(i);

                        vendor.Items.Add(i);
                    }
                    else
                    {
                        i.Active = true; //just in case
                    }

                    var detail = new Ordering.PurchaseOrderDetail()
                    {
                        Category = d.Category,
                        IsInventoryControlled = d.IsInventoryControlled,
                        Item            = i,
                        PurchaseOrder   = copy,
                        Quantity        = d.Quantity,
                        ToInventoryDate = null,
                        Unit            = d.Unit,
                        UnitPrice       = d.UnitPrice
                    };

                    details.Add(detail);
                }
            }

            return(details);
        }
Esempio n. 7
0
        private Ordering.Vendor GetVendorForCopy(Ordering.PurchaseOrder po)
        {
            var currentClientId = Context.CurrentUser.ClientID;

            Ordering.Vendor vendor;

            if (po.Client.ClientID == currentClientId || po.Vendor.ClientID == 0)
            {
                // current user is copying own order, or store manager order
                vendor = po.Vendor;
            }
            else
            {
                // current user is copying another user's order

                // check for a vendor for the current user that has the same name as the po vendor
                vendor = DataSession.Query <Ordering.Vendor>().Where(x => x.ClientID == currentClientId).ToList().FirstOrDefault(x =>
                                                                                                                                 PurchaseOrderItems.CleanString(x.VendorName) == PurchaseOrderItems.CleanString(po.Vendor.VendorName));

                if (vendor == null)
                {
                    // make a copy
                    vendor = new Ordering.Vendor()
                    {
                        Active     = true,
                        Address1   = po.Vendor.Address1,
                        Address2   = po.Vendor.Address2,
                        Address3   = po.Vendor.Address3,
                        ClientID   = currentClientId,
                        Contact    = po.Vendor.Contact,
                        Email      = po.Vendor.Email,
                        Fax        = po.Vendor.Fax,
                        Items      = new List <Ordering.PurchaseOrderItem>(),
                        Phone      = po.Vendor.Phone,
                        URL        = po.Vendor.URL,
                        VendorName = po.Vendor.VendorName
                    };

                    DataSession.Insert(vendor);
                }
                else
                {
                    vendor.Active = true; //just in case
                }
            }

            return(vendor);
        }
Esempio n. 8
0
        private void Seed()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                var manager1 = new SiteManager {
                    StaffId = "EMP1", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                };

                context.SiteManagers.Add(manager1);
                context.SiteManagers.Add(new SiteManager {
                    StaffId = "EMP2", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });
                context.SiteManagers.Add(new SiteManager {
                    StaffId = "EMP3", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });

                context.ManagementStaff.Add(new ManagementStaff {
                    StaffId = "EMP11", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });
                context.ManagementStaff.Add(new ManagementStaff {
                    StaffId = "EMP12", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });
                context.ManagementStaff.Add(new ManagementStaff {
                    StaffId = "EMP13", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });

                context.AccountingStaff.Add(new AccountingStaff {
                    StaffId = "EMP21", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });
                context.AccountingStaff.Add(new AccountingStaff {
                    StaffId = "EMP22", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });
                context.AccountingStaff.Add(new AccountingStaff {
                    StaffId = "EMP23", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });

                var site1 = new Site {
                    SiteCode = "SITE001", SiteName = "SLIIT Campus Site", SiteAddress = "Malabe", Description = "Malabe SLIIT Campus working site", SiteOfficeNo = "0115489657", SiteManager = manager1
                };

                context.Sites.Add(site1);

                var supplier1 = new Supplier {
                    SupplierCode = "SP1", SupplierName = "MAS Holdings", Address1 = "Colombo 3", CompanyNo = "011548795", MobileNo = "077485698", Email = "*****@*****.**"
                };

                context.Supplier.Add(supplier1);
                context.Supplier.Add(new Supplier {
                    SupplierCode = "SP2", SupplierName = "MAS Holdings", Address1 = "Colombo 3", CompanyNo = "011548795", MobileNo = "077485698", Email = "*****@*****.**"
                });
                context.Supplier.Add(new Supplier {
                    SupplierCode = "SP3", SupplierName = "MAS Holdings", Address1 = "Colombo 3", CompanyNo = "011548795", MobileNo = "077485698", Email = "*****@*****.**"
                });

                var item1 = new Item {
                    ItemId = "IT001", ItemName = "Roofing Sheets", ItemPrice = 200.20, Description = "Roof sheets"
                };
                var item2 = new Item {
                    ItemId = "IT002", ItemName = "Roofing Sheets", ItemPrice = 200.20, Description = "Roof sheets"
                };
                var item3 = new Item {
                    ItemId = "IT003", ItemName = "Roofing Sheets", ItemPrice = 200.20, Description = "Roof sheets"
                };
                context.Items.Add(item1);
                context.Items.Add(item2);
                context.Items.Add(item3);
                var itemSupplier1 = new ItemSuppliers {
                    Item = item1, Supplier = supplier1
                };
                var itemSupplier2 = new ItemSuppliers {
                    Item = item2, Supplier = supplier1
                };
                var itemSupplier3 = new ItemSuppliers {
                    Item = item3, Supplier = supplier1
                };
                context.Add(itemSupplier1);
                context.Add(itemSupplier2);
                context.Add(itemSupplier3);

                var requisition1 = new PurchaseRequisition
                {
                    RequisitionNo   = 1,
                    ShippingAddress = "Malabe",
                    TotalCost       = 2000.00,
                    Status          = "Pending",
                    SiteManager     = manager1,
                    Supplier        = supplier1,
                    Site            = site1
                };
                context.PurchaseRequisitions.Add(requisition1);
                var requisitionItem1 = new PurchaseRequisitionItems {
                    Item = item1, PurchaseRequisition = requisition1, ItemCount = 3
                };
                var requisitionItem2 = new PurchaseRequisitionItems {
                    Item = item2, PurchaseRequisition = requisition1, ItemCount = 2
                };
                var requisitionItem3 = new PurchaseRequisitionItems {
                    Item = item3, PurchaseRequisition = requisition1, ItemCount = 1
                };
                context.Add(requisitionItem1);
                context.Add(requisitionItem2);
                context.Add(requisitionItem3);

                var order1 = new PurchaseOrder
                {
                    OrderReference  = 1,
                    ShippingAddress = "Malabe",
                    TotalCost       = 2000.00,
                    OrderStatus     = "IN PROCESS",
                    SiteManager     = manager1,
                    Supplier        = supplier1,
                    Site            = site1
                };
                context.PurchaseOrders.Add(order1);
                var orderItems1 = new PurchaseOrderItems {
                    Item = item1, PurchaseOrder = order1, ItemCount = 3
                };
                var orderItems2 = new PurchaseOrderItems {
                    Item = item2, PurchaseOrder = order1, ItemCount = 2
                };
                var orderItems3 = new PurchaseOrderItems {
                    Item = item3, PurchaseOrder = order1, ItemCount = 1
                };
                context.Add(orderItems1);
                context.Add(orderItems2);
                context.Add(orderItems3);

                var enquiry1 = new Enquiry {
                    EnquiryId = 1, Description = "Why order is late?", EnquiryStatus = "Pending", OrderReference = order1, SiteManager = manager1
                };
                var enquiry2 = new Enquiry {
                    EnquiryId = 2, Description = "Why order is late?", EnquiryStatus = "Pending", OrderReference = order1, SiteManager = manager1
                };
                var enquiry3 = new Enquiry {
                    EnquiryId = 3, Description = "Why order is late?", EnquiryStatus = "Pending", OrderReference = order1, SiteManager = manager1
                };
                context.Add(enquiry1);
                context.Add(enquiry2);
                context.Add(enquiry3);

                var delivery1 = new Delivery {
                    DeliveryId = "DL001", OnSiteDelivery = true, DeliveryStatus = "On Process", IsFullDelivery = true, Site = site1, PurchaseOrder = order1
                };
                context.Deliveries.Add(delivery1);

                var goodsReceipt1 = new GoodsReceipt {
                    ReceiptId = 1, PurchaseOrder = order1, Supplier = supplier1, Site = site1, Delivery = delivery1
                };
                context.GoodsReceipt.Add(goodsReceipt1);

                var invoice1 = new Invoice {
                    InvoiceId = "INV001", NetAmount = 2000.00, Description = "Order 1 invoice", GoodsReceipt = goodsReceipt1, Supplier = supplier1, InvoiceStatus = "Payment Due"
                };
                context.Invoice.Add(invoice1);

                context.SaveChanges();
            }
        }