Exemple #1
0
        private void listbox_Orders_DoubleClick(object sender, EventArgs e)
        {
            OrderBuy orderBuy = listbox_Orders.SelectedItem as OrderBuy;

            OrderBuyToForm(orderBuy);
            ClientToForm(orderBuy.Client);
            ProductToForm(orderBuy.Product);
            DesignToForm(orderBuy.CarDesign);

            listbox_Clients.SelectedValue = orderBuy.Client.Id;
            listbox_Cars.SelectedValue    = orderBuy.Product.Id;
            listbox_Designs.SelectedValue = orderBuy.CarDesign.Id;

            CarExtraArr carExtraArrInOrder = new CarExtraArr();

            OrderDetailsBuyArr orderDetailsBuyArr = new OrderDetailsBuyArr();

            orderDetailsBuyArr.Fill();

            orderDetailsBuyArr = orderDetailsBuyArr.Filter(orderBuy);

            carExtraArrInOrder = orderDetailsBuyArr.GetCarExtraArr();
            CarExtraArrToForm(carExtraArrInOrder, listbox_InOrder);

            CarExtraArr carExtraArrNotInOrder = new CarExtraArr();

            carExtraArrNotInOrder.Fill();

            carExtraArrNotInOrder.Remove(carExtraArrInOrder);
            CarExtraArrToForm(carExtraArrNotInOrder, listbox_Potential);
        }
 public string BuyProduct(OrderBuy order)
 {
     using (var client = new HttpClient())
     {
         var response   = client.PostAsJsonAsync(@"https://localhost:44367/api/buy/orders", order).Result;
         var statusCode = response.StatusCode.ToString();
         return(statusCode.ToString());
     }
 }
        public CarExtraArr GetCarExtraBuy(PayBuy payBuy)
        {
            OrderBuy           order = payBuy.Order;
            OrderDetailsBuyArr orderDetailsBuyArr = new OrderDetailsBuyArr();

            orderDetailsBuyArr.Fill();
            orderDetailsBuyArr = orderDetailsBuyArr.Filter(order);

            return(orderDetailsBuyArr.GetCarExtraArr());
        }
Exemple #4
0
        ////We place an order
        private void buttonCheckout_Click(object sender, EventArgs e)
        {
            using (var db = new MellorShopEntities1())
            {
                UserData dataUserBayer = new UserData();
                // =dataUserBayer.email;
                if (dataUserBayer.ShowDialog() == DialogResult.OK)
                {
                    emailUserData = dataUserBayer.email;
                    userID        = dataUserBayer.userID;
                    //create new order send order to invoises(Summa , user ID,)
                    Invoice invoiceNew = new Invoice();
                    invoiceNew.DateInvoice     = DateTime.Now;
                    invoiceNew.ID_UserBuyer    = userID;
                    invoiceNew.ID_OrderStatus  = 5;
                    invoiceNew.ID_Personnel    = 7;
                    invoiceNew.TotalSumm       = totalSumToOrder;
                    invoiceNew.DeliveryAddress = dataUserBayer.textBoxDelivAddress.Text;
                    //add new invoice to DB
                    db.Invoice.Add(invoiceNew);
                    db.SaveChanges();

                    Invoice idInvoice;
                    idInvoice = db.Invoice.FirstOrDefault(i => i.DeliveryAddress == invoiceNew.DeliveryAddress & i.ID_UserBuyer == invoiceNew.ID_UserBuyer & i.TotalSumm == invoiceNew.TotalSumm) as Invoice;
                    invoiceID = idInvoice.ID_Invoice;

                    // fill in all orders from the forich grid
                    for (int i = 0; i < prodFromGrid.Count; i++)
                    {
                        OrderBuy newOrderBuy = new OrderBuy();
                        newOrderBuy.VendoreCode     = prodFromGrid[i].VendoreCode;
                        newOrderBuy.ID_Invoice      = invoiceID;
                        newOrderBuy.QuantityProduct = prodFromGrid[i].Remainder;
                        db.OrderBuy.Add(newOrderBuy);
                        db.SaveChanges();
                    }
                }
                if (emailUserData != null)
                {
                    WFinPDF(totalSumToOrder, invoiceID);
                    SendMailAcync(emailUserData, invoiceID).GetAwaiter();//Send email if customer enter email
                }

                // Clear list end dataGrid
                prodFromGrid.Clear();
                amountProdToOrder = 0;
                dataGridViewOrder.Rows.Clear();
                dataGridViewOrder.Refresh();
            }
            // Finish the purchase, clear everything and return to the home page
            this.Close();
            DialogResult = DialogResult.Cancel;
            MessageBox.Show($"Your order is being processed !!! Total order amount { totalSumToOrder} ");
            totalSumToOrder = 0;
        }
Exemple #5
0
        public Form_Pay(OrderBuy orderBuy)
        {
            InitializeComponent();

            DoesBuy = true;

            ComboBoxSet();

            FillDates();

            neworderBuy = orderBuy;
        }
        public async Task <ActionResult <OrderBuyDto> > UpdateOrder([FromBody] OrderBuy orderBuy)
        {
            var query = await _repository.UpdateOrderAsync(orderBuy);

            if (query == null)
            {
                return(NotFound());
            }

            await _repository.CommitAsync();

            return(query);
        }
Exemple #7
0
        private PayBuy FormToPayBuy(OrderBuy orderBuy)
        {
            PayBuy pay = new PayBuy();

            pay.Id         = int.Parse(lbl_Idtxt.Text);
            pay.FullName   = txt_FullName.Text;
            pay.CardNumber = txt_Card.Text;
            pay.Date       = GetDate();
            pay.CVC        = txt_CVC.Text;


            pay.Order = orderBuy;
            return(pay);
        }
Exemple #8
0
        public void MakeOrderSell(OrderSellDTO orderSell)
        {
            var product = db.Products.Get(orderSell.ProductId);

            int availableNumber = product.Number;

            decimal orderSum = orderSell.Number * product.Cost;
            bool    isClosed = false;

            OrderSell order = new OrderSell
            {
                //   OrderId = orderSell.OrderId,
                Date      = DateTime.Now,
                Customer  = orderSell.Customer,
                Sum       = orderSum,
                ProductId = orderSell.ProductId,
                Number    = orderSell.Number
            };


            if (availableNumber >= orderSell.Number)
            {
                isClosed       = true;
                product.Number = product.Number - orderSell.Number;
                db.Products.Update(product);
            }
            else
            {
                OrderBuy currentOrderBuy = new OrderBuy
                {
                    Date      = DateTime.Now,
                    Sum       = orderSum,
                    ProductId = orderSell.ProductId,
                    Number    = orderSell.Number,
                    isClosed  = false
                };

                db.OrdersBuy.Create(currentOrderBuy);

                order.OrderBuy = currentOrderBuy;
            }

            order.isClosed = isClosed;


            db.OrdersSell.Create(order);

            db.Save();
        }
        public async Task <ActionResult <OrderBuy> > AddOrder([FromBody] OrderBuy orderBuy)
        {
            var query = await _repository.GetByIdAsync <OrderBuy>(o => o.OrderNumber == orderBuy.OrderNumber);

            if (query == null)
            {
                var order = await _repository.AddOrderAsync(orderBuy);

                if (order != null)
                {
                    await _repository.CommitAsync();
                }

                return(order);
            }
            return(Conflict("Order number already exist"));
        }
Exemple #10
0
        public async Task <OrderBuyDto> UpdateOrderAsync(OrderBuy orderBuy)
        {
            var order = await _context.Set <OrderBuy> ()
                        .FirstOrDefaultAsync(p => p.OrderId == orderBuy.OrderId);

            if (order != null)
            {
                order.OrderNumber    = orderBuy.OrderNumber;
                order.DateOfIssue    = orderBuy.DateOfIssue;
                order.TimeForPayment = orderBuy.TimeForPayment;
                order.PersonId       = orderBuy.PersonId;
                order.EmployeeId     = orderBuy.EmployeeId;
                order.Rating         = orderBuy.Rating;
            }

            return(order.Adapt <OrderBuyDto> ());
        }
Exemple #11
0
        private OrderDetailsBuyArr FormToOrderDetailsBuyArr(OrderBuy curOrder)
        {
            OrderDetailsBuyArr orderDetailsBuyArr = new OrderDetailsBuyArr();

            OrderDetailsBuy orderDetailsBuy;

            for (int i = 0; i < listbox_InOrder.Items.Count; i++)
            {
                orderDetailsBuy          = new OrderDetailsBuy();
                orderDetailsBuy.OrderBuy = curOrder;
                orderDetailsBuy.CarExtra = listbox_InOrder.Items[i] as CarExtra;

                orderDetailsBuyArr.Add(orderDetailsBuy);
            }

            return(orderDetailsBuyArr);
        }
Exemple #12
0
        public void MakeOrderBuy(OrderBuyDTO orderBuy)
        {
            var product = db.Products.Get(orderBuy.ProductId);
            //var orderBuyLast = db.OrdersBuy.GetAll().OrderBy(o => o.Id)
            // .Last();
            decimal orderSum = product.Cost * orderBuy.Number;

            OrderBuy currentOrderBuy = new OrderBuy
            {
                Date      = DateTime.Now,
                Sum       = orderSum,
                ProductId = orderBuy.ProductId,
                Number    = orderBuy.Number,
                isClosed  = false
            };

            db.OrdersBuy.Create(currentOrderBuy);
            db.Save();
        }
Exemple #13
0
        private OrderBuy FormToOrderBuy()
        {
            OrderBuy orderBuy = new OrderBuy();

            orderBuy.Id        = int.Parse(lbl_Idtxt.Text);
            orderBuy.DateOfBuy = dtp_DateBuy.Value.Date;
            orderBuy.Comment   = txt_Comment.Text;

            orderBuy.Client  = listbox_Clients.SelectedItem as Client;
            orderBuy.Product = listbox_Cars.SelectedItem as Product;
            if (orderBuy.Product == null)
            {
                orderBuy.Product = (listbox_Orders.SelectedItem as OrderBuy).Product;
            }
            orderBuy.Product.Doesavailable = "Sold";
            orderBuy.Employee  = newemployee;
            orderBuy.CarDesign = listbox_Designs.SelectedItem as CarDesign;

            orderBuy.TotalPrice = orderBuy.Product.Price + orderBuy.CarDesign.BodyDesign.Price + orderBuy.CarDesign.CarColor.Price +
                                  orderBuy.CarDesign.ColorType.Price + GetPriceCarExtra();

            return(orderBuy);
        }
Exemple #14
0
        public async Task <OrderBuy> AddOrderAsync(OrderBuy orderBuy)
        {
            await _repository.AddAsync(orderBuy);

            return(orderBuy);
        }
Exemple #15
0
        static void Main(string[] args)
        {
            ProductService productService = new ProductService();
            OrderService   orderService   = new OrderService();

            while (true)
            {
                Console.WriteLine("1.show products");
                Console.WriteLine("2.show sell orders");
                Console.WriteLine("3.show buy orders");
                Console.WriteLine("4.add new product");
                Console.WriteLine("5.sell product");
                Console.WriteLine("6.buy product");
                Console.WriteLine("7.close order buy");
                Console.WriteLine("8. Exit");

                int action = Int32.Parse(Console.ReadLine());

                switch (action)
                {
                case 1:
                    ShowProductList(productService);
                    break;

                case 2:
                    ShowOrderSell(orderService);
                    break;

                case 3:
                    showOrderBuy(orderService);
                    break;

                case 4:
                    Console.WriteLine("Enter product name");
                    string name = Console.ReadLine();
                    Console.WriteLine("Enter cost");
                    decimal cost = decimal.Parse(Console.ReadLine());
                    Console.WriteLine("Enter start number on store");
                    int     number  = Int32.Parse(Console.ReadLine());
                    Product product = new Product()
                    {
                        ProductName = name,
                        Cost        = cost,
                        Number      = number
                    };
                    Console.WriteLine(productService.addNewProduct(product));
                    break;

                case 5:
                    Console.WriteLine("Enter product id");
                    int productId = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Enter customer name");
                    string customer = Console.ReadLine();
                    Console.WriteLine("Enter number");
                    number = Int32.Parse(Console.ReadLine());
                    OrderSell sellOrder = new OrderSell()
                    {
                        ProductId = productId,
                        Customer  = customer,
                        Number    = number,
                    };
                    Console.WriteLine(orderService.SellProduct(sellOrder));
                    break;

                case 6:
                    Console.WriteLine("Enter product id");
                    productId = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Enter number");
                    number = Int32.Parse(Console.ReadLine());
                    OrderBuy orderBuy = new OrderBuy()
                    {
                        ProductId = productId,
                        Number    = number
                    };
                    Console.WriteLine(orderService.BuyProduct(orderBuy));
                    break;

                case 7:
                    Console.WriteLine("Enter id of buy order");
                    int id = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Enter supplier name");
                    string   supplierName = Console.ReadLine();
                    Supplier supplier     = new Supplier()
                    {
                        name = supplierName
                    };
                    Console.WriteLine(orderService.CloseOrderBuy(id, supplier));
                    break;

                case 8:
                    return;

                default:
                    break;
                }
                Console.WriteLine();
            }
        }
Exemple #16
0
        private void btn_Save_Click(object sender, EventArgs e)
        {
            if (CheckForm())
            {
                OrderBuy           orderBuy = FormToOrderBuy();
                OrderDetailsBuyArr orderDetailsBuyArr_New;
                OrderDetailsBuyArr orderDetailsBuyArr_Old = new OrderDetailsBuyArr();

                OrderBuyArr orderBuyArr_New = new OrderBuyArr();
                orderBuyArr_New.Fill();


                if (orderBuy.Id == 0)
                {
                    if (!orderBuyArr_New.DoesExist(orderBuy.Product))
                    {
                        if (orderBuy.Insert() && orderBuy.Product.Update())
                        {
                            OrderBuyArr orderBuyArr = new OrderBuyArr();
                            orderBuyArr.Fill();
                            orderBuy = orderBuyArr.GetOrderBuyWithMaxId();

                            orderDetailsBuyArr_New = FormToOrderDetailsBuyArr(orderBuy);
                            orderDetailsBuyArr_New.Insert();


                            CarExtraArr carExtraArrInOrder = orderDetailsBuyArr_New.GetCarExtraArr();
                            carExtraArrInOrder.Update();



                            foreach (TabPage tp in this.tbc_Order.Controls)
                            {
                                ClearForm(tp);
                            }
                            LoadNew();

                            Form_Pay newform = new Form_Pay(orderBuy);
                            newform.ShowDialog();
                        }
                    }
                    else
                    {
                        MessageBox.Show("This car already sold", "Information", MessageBoxButtons.OK,
                                        MessageBoxIcon.Information);
                    }
                }
                else
                {
                    if (orderBuy.Update() && orderBuy.Product.Update())
                    {
                        orderDetailsBuyArr_New = FormToOrderDetailsBuyArr(orderBuy);
                        orderDetailsBuyArr_Old.Fill();
                        orderDetailsBuyArr_Old = orderDetailsBuyArr_Old.Filter(orderBuy);

                        orderDetailsBuyArr_Old.Delete();
                        orderDetailsBuyArr_New.Insert();

                        (listbox_InOrder.DataSource as CarExtraArr).Update();
                        (listbox_Potential.DataSource as CarExtraArr).Update();

                        MessageBox.Show("Your Cerdit Card will be charged accordingly", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        foreach (TabPage tp in this.tbc_Order.Controls)
                        {
                            ClearForm(tp);
                        }
                        LoadNew();
                    }
                }
            }
        }
Exemple #17
0
 private void OrderBuyToForm(OrderBuy orderBuy)
 {
     lbl_Idtxt.Text    = orderBuy.Id.ToString();
     dtp_DateBuy.Value = orderBuy.DateOfBuy;
     txt_Comment.Text  = orderBuy.Comment;
 }