Exemple #1
0
        public static void WorkC()
        {
            ISalesRepository    rp  = new SalesRepository();
            IPurchaseRepository rp1 = new PurchaseRepository();
            Random ran = new Random();

            Purchase p = new Purchase()
            {
                purchaseperson = "Cong lo"
            };
            Sales s = new Sales()
            {
                Salesperson = "qua duong"
            };
            object    ob = new object();
            Stopwatch st = Stopwatch.StartNew();
            //Task t1 = Task.Run(() =>
            //    {
            //        rp1.Add(p);
            //        rp.Add(s);
            //        rp1.Add(p);
            //        rp1.Add(p);
            //        rp.Add(s);

            //    });
            //Task t2 = Task.Run(() =>
            //  {
            //      int randomID = ran.Next(1, 1000000);
            //      rp.GetById(randomID);
            //      rp1.GetById(randomID+100);
            //      rp1.Add(p);
            //      rp.Add(s);
            //  });
            //Task.WaitAll(t1,t2);
            var tasks = new Task[3];

            for (int i = 0; i < tasks.Length; i++)
            {
                tasks[0] = Task.Run(() =>
                {
                    rp.Add(s);
                    rp1.Add(p);
                    rp1.Add(p);
                });
                tasks[1] = Task.Run(() =>
                {
                    int randomID = ran.Next(1, 1000000);
                    rp.GetById(randomID);
                    rp1.GetById(randomID + 100);
                });
                tasks[2] = Task.Run(() =>
                {
                    rp1.Add(p);
                    rp.Add(s);
                });
            }
            Task.WaitAll(tasks);
            st.Stop();
            Console.WriteLine(st.Elapsed);
        }
        protected void AddButton_Click(object sender, EventArgs e)
        {
            try
            {
                SaleDetails _SaleDetails = new SaleDetails();

                _SaleDetails.Product  = ProductDropDownList.SelectedItem.ToString();
                _SaleDetails.Qty      = Convert.ToDecimal(txtQty.Text);
                _SaleDetails.Mrp      = Convert.ToDecimal(txtMrp.Text);
                _SaleDetails.TotalMrp = Convert.ToDecimal(txtTotalMrp.Text);
                _SaleDetails.Invoice  = txtInvoice.Text;

                decimal CurrentQty = Convert.ToDecimal(txtAvailableQty.Text);

                if (CurrentQty > 0)
                {
                    int Addsuccess = _SalesRepository.Add(_SaleDetails);
                    if (Addsuccess > 0)
                    {
                        LoadSaleDetails();
                        GrandTotal();
                    }
                }
                else
                {
                }
            }
            catch
            {
            }
        }
        private void AddSaleButton_Click(object sender, EventArgs e)
        {
            try
            {
                var product = GetSelectedProduct();

                if (product != null && product.Servings > 0)
                {
                    _productRepository.UpdateServings(product, product.Servings - 1);

                    var employeeId = _employeeRepository.GetIdByUsernameAndPassword(user.username, user.password);

                    if (employeeId != InvalidOperationCode)
                    {
                        _salesRepository.Add(new Sale
                        {
                            EmployeeId = employeeId,
                            Date       = DateTime.Now,
                            ProductId  = product.Id
                        });
                        CommonPriceOfSale();
                    }
                }
                else
                {
                    MessageBox.Show("The product is exhausted or non-existant!");
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show("Failed to add product.");
            }
        }
Exemple #4
0
        public Sale Create(Sale sale, User user, Customer customer)
        {
            sale.TransactionNumber = Guid.NewGuid().ToString();
            sale.UserId            = user.Id;
            sale.CustomerId        = customer.Id;

            var newSale = salesRepository.Add(sale);

            sale.SaleDetails.ToList().ForEach(sd =>
            {
                sd.SaleId = newSale.Id;
                salesRepository.Add(sd);
            });

            return(newSale);
        }
Exemple #5
0
        //Chay 50 Task thuc hien các tác vu khác nhau
        public static void WorkB()
        {
            var              tasks = new Task[100];
            Stopwatch        st;
            var              timeSpan  = new List <TimeSpan>();
            object           locksales = new object();
            ISalesRepository rp        = new SalesRepository();
            Random           random    = new Random();

            //Random ID t? 1->10tr

            //L?y danh sách d? li?u theo ID
            for (int i = 0; i < tasks.Length; i++)
            {
                int randomID = random.Next(1, 6000000);
                Console.WriteLine(randomID);
                st       = Stopwatch.StartNew();
                tasks[i] = Task.Run(() =>
                {
                    if (randomID % 2 == 0)
                    {
                        var fromDB = rp.GetById(randomID);
                        foreach (var sale in fromDB)
                        {
                            Console.WriteLine(sale.Id + "," + sale.Salesperson + "," + sale.Area);
                        }
                    }
                    if (randomID % 4 == 0)
                    {
                        Sales s = new Sales()
                        {
                            Id = randomID, Salesperson = "me thien ha", so1 = 31312, so2 = 424143, so3 = 1897414
                        };
                        Sales s1 = new Sales()
                        {
                            Id = randomID
                        };
                        rp.Delete(s1);
                        rp.Update(s);
                    }
                    else
                    {
                        Sales s = new Sales()
                        {
                            Salesperson = "songoku", so1 = 2, so2 = 4, so3 = 5
                        };
                        rp.Add(s);
                    }
                });
                st.Stop();
                Console.WriteLine(st.Elapsed);
                timeSpan.Add(st.Elapsed);
            }
            Task.WaitAll(tasks);
            TimeSpan doubleAverageTicks = new TimeSpan(Convert.ToInt64(timeSpan.Average(t => t.Ticks)));

            Console.WriteLine("Time TB: " + doubleAverageTicks);
        }
        //Add Data
        public bool Add(Sales objSales)
        {
            var isAdded = false;

            isAdded = _salesRepository.Add(objSales);
            if (isAdded)
            {
                return(true);
            }

            return(isAdded);
        }
Exemple #7
0
        protected void AddButton_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtCustomerContact.Text != null && CategoriesDropDownList.SelectedIndex > 0 && ItemsDropDownList.SelectedIndex > 0 && txtQty.Text != null)
                {
                    if (Convert.ToDecimal(lblStock.Text) >= Convert.ToDecimal(txtQty.Text))
                    {
                        SaleDetails _SaleDetails = new SaleDetails();
                        _SaleDetails.CustomerContact = txtCustomerContact.Text;
                        _SaleDetails.Item            = ItemsDropDownList.SelectedItem.ToString();
                        _SaleDetails.Unit            = Convert.ToDecimal(lblSellingPrice.Text);
                        _SaleDetails.Qty             = Convert.ToDecimal(txtQty.Text);
                        _SaleDetails.Total           = Convert.ToDecimal(lblSellingPrice.Text) * Convert.ToDecimal(txtQty.Text);
                        _SaleDetails.SalesId         = txtSalesId.Text;

                        int success = _SalesRepository.Add(_SaleDetails);
                        if (success > 0)
                        {
                            LoadSalesOrder();
                            GridviewRowSum();
                            ItemsDropDownList.ClearSelection();
                            lblSellingPrice.Text = "";
                            lblStock.Text        = "";
                            txtQty.Text          = "";
                        }
                        else
                        {
                            ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Failed Added');", true);
                        }
                    }
                    else
                    {
                        ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Please Check Your Stock');", true);
                    }
                }
                else
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Please Check All formality');", true);
                }
            }
            catch { }
        }
 public int Add(List <SalesProduct> salesProducts)
 {
     return(_salesRepository.Add(salesProducts));
 }
Exemple #9
0
 public bool Add(Sale sale)
 {
     return(_salesRepository.Add(sale));
 }
Exemple #10
0
 public bool Add(SalesMaster salesMaster)
 {
     return(_salesRepository.Add(salesMaster));
 }
 internal bool Add(Sales sales)
 {
     return(_salesRepository.Add(sales));
 }
Exemple #12
0
        public async Task <ISingleResponse <Order> > CreateOrderAsync(Order header, OrderDetail[] details)
        {
            Logger?.LogDebug("{0} has been invoked", nameof(CreateOrderAsync));

            var response = new SingleResponse <Order>();

            // Begin transaction
            using (var transaction = await DbContext.Database.BeginTransactionAsync())
            {
                try
                {
                    // todo: Retrieve available warehouse to dispatch products
                    var warehouses = await ProductionRepository.GetWarehouses().ToListAsync();

                    foreach (var detail in details)
                    {
                        // Retrieve product by id
                        var product = await ProductionRepository
                                      .GetProductAsync(new Product(detail.ProductID));

                        // Throw exception if product no exists
                        if (product == null)
                        {
                            throw new NonExistingProductException(string.Format(SalesDisplays.NonExistingProductExceptionMessage, detail.ProductID));
                        }

                        // Set product name from existing entity
                        detail.ProductName = product.ProductName;

                        // Throw exception if product is discontinued
                        if (product.Discontinued == true)
                        {
                            throw new AddOrderWithDiscontinuedProductException(string.Format(SalesDisplays.AddOrderWithDiscontinuedProductExceptionMessage, product.ProductID));
                        }

                        // Set unit price and total for product detail
                        detail.UnitPrice = product.UnitPrice;
                        detail.Total     = product.UnitPrice * detail.Quantity;
                    }

                    // Set default values for order header
                    header.OrderDate     = DateTime.Now;
                    header.OrderStatusID = 100;

                    // Calculate total for order header from order's details
                    header.Total = details.Sum(item => item.Total);

                    // Save order header
                    SalesRepository.Add(header);

                    await SalesRepository.CommitChangesAsync();

                    foreach (var detail in details)
                    {
                        // Set order id for order detail
                        detail.OrderID = header.OrderID;

                        // Add order detail
                        SalesRepository.Add(detail);

                        await SalesRepository.CommitChangesAsync();

                        // Get last inventory for product
                        var lastInventory = DbContext
                                            .Set <ProductInventory>()
                                            .Where(item => item.ProductID == detail.ProductID)
                                            .OrderByDescending(item => item.CreationDateTime)
                                            .FirstOrDefault();

                        // Calculate stocks for product
                        var stocks = lastInventory == null ? 0 : lastInventory.Stocks - detail.Quantity;

                        // Create product inventory instance
                        var productInventory = new ProductInventory
                        {
                            ProductID        = detail.ProductID,
                            WarehouseID      = warehouses.First().WarehouseID,
                            CreationDateTime = DateTime.Now,
                            Quantity         = detail.Quantity * -1,
                            Stocks           = 0,
                            CreationUser     = header.CreationUser
                        };

                        // Save product inventory
                        ProductionRepository.Add(productInventory);
                    }

                    await SalesRepository.CommitChangesAsync();

                    response.Model = header;

                    // Commit transaction
                    transaction.Commit();

                    Logger.LogInformation(SalesDisplays.CreateOrderMessage);
                }
                catch (Exception ex)
                {
                    response.SetError(ex, Logger);
                }
            }

            return(response);
        }