Exemplo n.º 1
0
        //Add salesorder constructor
        public SalesOrder_AddEdit(ProjectApplicationContext ctx, ObservableCollection <SalesOrder> salesOrders)
        {
            Ctx         = ctx;
            SalesOrders = salesOrders;
            InitializeComponent();
            lblOrderId.Visibility         = Visibility.Hidden;
            tbOrderId.Visibility          = Visibility.Hidden;
            ProductsOrdered               = new ObservableCollection <Product>();
            lvOrderedProducts.ItemsSource = ProductsOrdered;


            //select customer
            List <Customer> customers = Ctx.Customers.ToList();

            cbCustomer.ItemsSource = customers;

            //Employee

            tbEmployee.Text = MainMenu.User.Employee.ToString();

            //Product Type
            var categories = Enum.GetValues(typeof(ProductCategory));

            cbProductType.ItemsSource = categories;
        }
 //add employee form
 public Customer_AddEdit(ProjectApplicationContext ctx, ObservableCollection <Customer> customers)
 {
     Ctx       = ctx;
     Customers = customers;
     InitializeComponent();
     tbCustomerId.Visibility  = Visibility.Hidden;
     lblCustomerId.Visibility = Visibility.Hidden;
 }
 //edit employee form
 public Customer_AddEdit(ProjectApplicationContext ctx, ObservableCollection <Customer> customers, Customer selectedCustomer)
 {
     Ctx              = ctx;
     Customers        = customers;
     SelectedCustomer = selectedCustomer;
     this.DataContext = selectedCustomer;
     InitializeComponent();
 }
 //add contructor
 public Supplier_AddEdit(ProjectApplicationContext ctx, ObservableCollection <Supplier> suppliers)
 {
     Ctx       = ctx;
     Suppliers = suppliers;
     InitializeComponent();
     this.Title = "Add Supplier";
     tbSupplierId.Visibility  = Visibility.Hidden;
     lblSupplierId.Visibility = Visibility.Hidden;
 }
Exemplo n.º 5
0
 public ManageUsers_UserControl(ProjectApplicationContext ctx)
 {
     InitializeComponent();
     Ctx = ctx;
     GetUserAccountData();
     //List<UserAccount> userAccounts = ctx.UserAccounts.ToList();
     //ObservableCollection<UserAccount> observableUserAccounts = new ObservableCollection<UserAccount>(userAccounts); //makes an observable collection from the list
     //UsersDataGrid.ItemsSource = userAccounts;
 }
Exemplo n.º 6
0
 // Add employee
 public Employee_AddEdit(ProjectApplicationContext ctx, ObservableCollection <Employee> employees)
 {
     Ctx       = ctx;
     Employees = employees;
     InitializeComponent();
     tbUserAccount.Visibility  = Visibility.Hidden;
     tbEmployeeId.Visibility   = Visibility.Hidden;
     lblEmployeeId.Visibility  = Visibility.Hidden;
     lblUserAccount.Visibility = Visibility.Hidden;
 }
 //edit constructor
 public Supplier_AddEdit(ProjectApplicationContext ctx, ObservableCollection <Supplier> suppliers, Supplier selectedSupplier)
 {
     Ctx = ctx;
     SelectedSupplier = selectedSupplier;
     Suppliers        = suppliers;
     InitializeComponent();
     this.Title                = "Edit Supplier";
     this.DataContext          = selectedSupplier;
     dpCustomerSince.IsEnabled = false;
     tbSupplierId.IsEnabled    = false;
 }
Exemplo n.º 8
0
 public SalesOrders_UserControl(ProjectApplicationContext ctx)
 {
     Ctx = ctx;
     InitializeComponent();
     getSalesOrderData();
     if (MainMenu.User.Role == Role.WarehouseEmployee)
     {
         btnCancelSalesOrder.Visibility = Visibility.Hidden;
         btnEditSalesOrder.Visibility   = Visibility.Hidden;
         btnNewSalesOrder.Visibility    = Visibility.Hidden;
     }
 }
        public User_AddEdit(ObservableCollection <UserAccount> userAccounts, ProjectApplicationContext context)
        {
            UserAccounts = userAccounts;
            Ctx          = context;
            var employeesWithoutUserAccount = Ctx.Employees
                                              .Include("UserAccount")
                                              .Where(e => e.UserAccount == null)
                                              .ToList();

            InitializeComponent();
            cbEmployees.ItemsSource = employeesWithoutUserAccount;
        }
Exemplo n.º 10
0
 //add constructor
 public Product_AddEdit(ProjectApplicationContext ctx, ObservableCollection <RegisteredProduct> products)
 {
     Ctx      = ctx;
     Products = products;
     InitializeComponent();
     this.Title                  = "Add Product";
     cbSupplier.ItemsSource      = Ctx.Suppliers.ToList();
     cbProductType.ItemsSource   = Enum.GetValues(typeof(ProductCategory));
     tbQuantity.Visibility       = Visibility.Hidden;
     tbProductId.Visibility      = Visibility.Hidden;
     lblNumberInStock.Visibility = Visibility.Hidden;
     lblProductId.Visibility     = Visibility.Hidden;
 }
        public MainMenu(UserAccount user, ProjectApplicationContext ctx)
        {
            // this.WindowState = WindowState.Maximized;
            User = user;
            Ctx  = ctx;
            InitializeComponent();
            this.MainContentControl.Content = new Overview_UserControl(Ctx);


            switch (User.Role)
            {
            case Role.Administrator:
                DataSubMenuItems.Add("Manage Users");
                DataSubMenuItems.Add("Manage Employees");
                DataSubMenuItems.Add("Manage Products");
                DataSubMenuItems.Add("Manage Suppliers");
                DataSubMenuItems.Add("Manage Customers");
                DataSubMenuItems.Add("Manage Stock (to add)");

                /* OverviewSubMenuItems.Add("Employee Overview");
                 * OverviewSubMenuItems.Add("Warehouse Overview");
                 * OverviewSubMenuItems.Add("Supplier Overview");
                 * OverviewSubMenuItems.Add("Products Overview");*/
                OrdersSubMenuItems.Add("Sales");
                OrdersSubMenuItems.Add("Purchases");
                break;

            case Role.SalesEmployee:
                DataSubMenuItems.Add("Manage Customers");
                OrdersSubMenuItems.Add("Sales");
                OrdersSubMenuItems.Add("Purchases");

                break;

            case Role.WarehouseEmployee:
                DataSubMenuItems.Add("Manage Suppliers");
                DataSubMenuItems.Add("Manage Stock (to add)");
                //OverviewSubMenuItems.Add("Warehouse Overview");
                //OverviewSubMenuItems.Add("Products Overview");
                OrdersSubMenuItems.Add("Sales");
                OrdersSubMenuItems.Add("Purchases");
                break;
            }

            DataSubMenu.ItemsSource = DataSubMenuItems;
            //OverviewSubMenu.ItemsSource = OverviewSubMenuItems;
            OrdersSubmenu.ItemsSource = OrdersSubMenuItems;
        }
        public User_AddEdit(ObservableCollection <UserAccount> userAccounts, ProjectApplicationContext context, UserAccount selectedUser)
        {
            UserAccounts = userAccounts;
            Ctx          = context;
            SelectedUser = selectedUser;
            InitializeComponent();
            this.DataContext = selectedUser;
            var employee = Ctx.Employees
                           .Where(e => e.EmployeeId == selectedUser.UserAccountId)
                           .ToList();

            lblEmployee.Content       = "Employee:";
            lblAddEditAccount.Content = "Edit user account details";
            cbEmployees.ItemsSource   = employee;
            cbEmployees.SelectedItem  = employee[0];
            cbEmployees.IsEnabled     = false;
        }
        //constructor new purchase order
        public PurchaseOrder_AddEdit(ProjectApplicationContext ctx)
        {
            Ctx             = ctx;
            ProductsOrdered = new ObservableCollection <Product>();
            InitializeComponent();
            lvOrderedProducts.ItemsSource = ProductsOrdered;


            //List warehouse employees and administrators
            var purchaseEmployees = Ctx.Employees.Where(e => e.Role == Role.Administrator || e.Role == Role.WarehouseEmployee).ToList();

            cbEmployee.ItemsSource = purchaseEmployees;

            //List existing suppliers
            var currentSuppliers = Ctx.Suppliers.ToList();

            cbSupplier.ItemsSource = currentSuppliers;
        }
Exemplo n.º 14
0
        public Employee_AddEdit(ProjectApplicationContext ctx, Employee selectedEmployee, ObservableCollection <Employee> employees)
        {
            Ctx              = ctx;
            Employees        = employees;
            SelectedEmployee = selectedEmployee;
            this.DataContext = selectedEmployee;
            InitializeComponent();
            if (SelectedEmployee.UserAccount == null)
            {
                tbUserAccount.Visibility  = Visibility.Hidden;
                lblUserAccount.Visibility = Visibility.Hidden;
            }


            /*  tbEmployeeId.Text = selectedEmployee.EmployeeId.ToString();
             *
             * tbUserAccount.Text = selectedEmployee.UserAccount.UserName;
             *
             * tbSalary.Text = selectedEmployee.Salary.ToString();*/
        }
Exemplo n.º 15
0
        //edit constructor
        public Product_AddEdit(ProjectApplicationContext ctx, ObservableCollection <RegisteredProduct> products, RegisteredProduct selectedProduct)
        {
            Ctx             = ctx;
            Products        = products;
            SelectedProduct = selectedProduct;
            OriginalBarcode = SelectedProduct.BarCode;
            InitializeComponent();
            this.Title = "Edit Product";
            cbProductType.ItemsSource = Enum.GetValues(typeof(ProductCategory));


            var productAndSupplier = Ctx.RegisteredProducts.Include("Supplier").Where(rp => rp.RegisteredProductId == selectedProduct.RegisteredProductId).ToList();

            this.DataContext = productAndSupplier;

            var suppliers = Ctx.Suppliers.ToList();

            cbSupplier.DataContext = suppliers;
            cbSupplier.ItemsSource = suppliers;
            Supplier selectedSupplier = null;

            foreach (var item in suppliers)
            {
                if (item.SupplierId == productAndSupplier[0].Supplier.SupplierId)
                {
                    selectedSupplier = item;
                }
            }
            cbSupplier.SelectedItem = selectedSupplier;


            int numberOfProducts = Ctx.Products.Where(p => p.RegisteredProductId == selectedProduct.RegisteredProductId).ToList().Count();

            tbQuantity.Text = numberOfProducts.ToString();


            tbQuantity.IsEnabled  = false;
            tbProductId.IsEnabled = false;
            cbSupplier.IsEnabled  = false;
        }
Exemplo n.º 16
0
        //Edit salesorder constructor
        public SalesOrder_AddEdit(ProjectApplicationContext ctx, ObservableCollection <SalesOrder> salesOrders, SalesOrder selectedSalesOrder)
        {
            Ctx = ctx;
            SelectedSalesOrder = selectedSalesOrder;
            SalesOrders        = salesOrders;
            InitializeComponent();

            //Set existing properties
            this.DataContext = selectedSalesOrder;

            //product overview
            ProductsOrdered = new ObservableCollection <Product>();
            lvOrderedProducts.ItemsSource = ProductsOrdered;

            foreach (var item in SelectedSalesOrder.SalesOrderProducts)
            {
                ProductsOrdered.Add(item.Product);
            }
            tbPrice.Text = Convert.ToString(CalculateTotal());


            //order id
            tbOrderId.Text = SelectedSalesOrder.SalesOrderId.ToString();

            //Customer
            var customers = Ctx.Customers.ToList();

            cbCustomer.ItemsSource  = customers;
            cbCustomer.SelectedItem = SelectedSalesOrder.Customer;


            //Employee
            tbEmployee.Text = selectedSalesOrder.Employee.ToString();

            //Product Type
            var categories = Enum.GetValues(typeof(ProductCategory));

            cbProductType.ItemsSource = categories;
        }
Exemplo n.º 17
0
 public ManageCustomers_UserControl(ProjectApplicationContext ctx)
 {
     Ctx = ctx;
     InitializeComponent();
     getCustomerData();
 }
 public ManageProducts_UserControl(ProjectApplicationContext ctx)
 {
     Ctx = ctx;
     InitializeComponent();
     GetRegisteredProductData();
 }
Exemplo n.º 19
0
        public Overview_UserControl(ProjectApplicationContext ctx)
        {
            Ctx = ctx;
            InitializeComponent();

            DateTime date = DateTime.Now;

            lblDateTime.Content = date.ToString("HH:mm");

            lblWelcome.Content = $"Welcome \n{MainMenu.User.Employee.FirstName} {MainMenu.User.Employee.LastName} \nEmployee Id: {MainMenu.User.Employee.EmployeeId}";



            //new employees
            DateTime today        = DateTime.Now;
            DateTime onemonthago  = today.AddDays(-30);
            var      newEmployees = Ctx.Employees.Where(e => e.StartDate > onemonthago).ToList();

            lbnewStaff.ItemsSource = newEmployees;


            //top sellers
            var topSellers = Ctx.Employees
                             .Include("SalesOrders")
                             .OrderByDescending(e => e.SalesOrders.Count)
                             .Select(e => new
            {
                Name          = e.FirstName + " " + e.LastName,
                NumberofSales = e.SalesOrders.Count()
            })
                             .Take(5)
                             .ToList();


            lbTopSellers.ItemsSource = topSellers;


            //current stock
            var currentStock = Ctx.Products
                               .GroupBy(p => p.Name)
                               .Select(p => new
            {
                Name          = p.Key,
                NumberInStock = p.Count()
            })
                               .ToList();

            lvStock.ItemsSource = currentStock;


            //sales order  total
            DateTime oneweekago  = today.AddDays(-7);
            var      weeklySales = Ctx.SalesOrders.Where(s => s.OrderDate > oneweekago).ToList();
            double   totalSales  = 0;

            foreach (var sale in weeklySales)
            {
                totalSales += sale.TotalPrice;
            }
            tbSalesNumber.Text = $"{weeklySales.Count()} sales";
            tbIncome.Text      = $"£{totalSales.ToString()}";

            //purchase order  total
            var    weeklyPurchases = Ctx.PurchaseOrders.Where(p => p.OrderDate > oneweekago).ToList();
            double totalPurchases  = 0;

            foreach (var purchase in weeklyPurchases)
            {
                totalPurchases += purchase.TotalPrice;
            }

            tbPurchases.Text = $"{weeklyPurchases.Count()} purchases";
            tbSpendings.Text = $"£{totalPurchases.ToString()}";



            // profit
            double profit = totalSales - totalPurchases;

            tbProfitMade.Text = $" £{profit}";



            //Most popular products
            var salesOrders = Ctx.SalesOrders
                              .Include(so => so.SalesOrderProducts.Select(p => p.Product))
                              .ToList();

            var productGroups = Ctx.Products
                                .GroupBy(p => p.BarCode)
                                .ToList();

            List <Product> products = new List <Product>();

            foreach (var group in productGroups)
            {
                products.Add(group.First());
            }


            int occurences = 0;
            Dictionary <Product, int> productOccurences = new Dictionary <Product, int>();

            for (int i = 0; i < products.Count(); i++)
            {
                foreach (var order in salesOrders)
                {
                    if (order.SalesOrderProducts.ToList().Exists(p => p.Product.BarCode == products[i].BarCode))
                    {
                        occurences++;
                    }
                }

                productOccurences.Add(products[i], occurences);

                occurences = 0;
            }

            List <KeyValuePair <Product, int> > sortedList = productOccurences.ToList();

            sortedList.Sort((x, y) => x.Value.CompareTo(y.Value));
            sortedList.Reverse();
            lvPopularProducts.ItemsSource = sortedList;



            /*method
             * private double calculateTotal(List<T>)
             * {
             *
             * }*/
        }
 public ManageSuppliers_UserControl(ProjectApplicationContext ctx)
 {
     Ctx = ctx;
     InitializeComponent();
     GetSupplierData();
 }
 public ManageEmployees_UserControl(ProjectApplicationContext ctx)
 {
     Ctx = ctx;
     InitializeComponent();
     GetEmployeeData();
 }
Exemplo n.º 22
0
 public PurchaseOrders_UserControl(ProjectApplicationContext ctx)
 {
     Ctx = ctx;
     InitializeComponent();
     getPurchaseOrderData();
 }