コード例 #1
0
        public void Order_DetailsRepositoryTests_GetByOrdersID()
        {
            Order_DetailsRepository repository = new Order_DetailsRepository();
            var result = repository.GetByOrderID(6);

            Assert.IsTrue(result.Count() == 3);
        }
コード例 #2
0
        public void Order_DetailsRepositoryTests_GetByOrderDetailsID()
        {
            Order_DetailsRepository repository = new Order_DetailsRepository();
            var result = repository.GetByOrder_Details_ID(2);

            Assert.IsTrue(result.Order_Details_ID == 2);
        }
コード例 #3
0
        public void Order_DetailsRepositoryTests_GetAll()
        {
            Order_DetailsRepository repository = new Order_DetailsRepository();
            var result = repository.GetAll();

            Assert.IsTrue(result.Count() == 10);
        }
コード例 #4
0
        public void Order_DetailsRepositoryTests_Delete()
        {
            Order_DetailsRepository repository = new Order_DetailsRepository();
            var model = new Order_Details()
            {
                Order_Details_ID = 14
            };

            repository.Delete(14);
            var result = repository.GetByOrder_Details_ID(14);

            Assert.IsTrue(result == null);
        }
コード例 #5
0
        public void Order_DetailsRepositoryTests_Create()
        {
            SqlConnection           connection = new SqlConnection();
            Order_DetailsRepository repository = new Order_DetailsRepository();
            var model = new Order_Details
            {
                Order_ID   = 28,
                Product_ID = 2,
                Quantity   = 1,
                Price      = 150,
                size       = "M"
            };

            repository.Create(model);
        }
コード例 #6
0
        public OrderAndDetail GetNewOrders(string Account)
        {
            OrdersRepository        ordersRepository        = new OrdersRepository();
            Order_DetailsRepository order_DetailsRepository = new Order_DetailsRepository();
            var order  = ordersRepository.GetLatestByAccount(Account);
            var result = new OrderAndDetail
            {
                Account     = order.Account,
                OrderID     = order.Order_ID,
                Order_Check = ((OrderStatus)order.Order_Check).ToString(),
                Order_Date  = order.Order_Date,
                Pay         = order.Pay,
                Transport   = order.Transport,
                TotalMoney  = (decimal)order.Total + (decimal)order.TranMoney
            };

            result.product = ordersRepository.GetAccountNewOrder(Account).ToList();
            return(result);
        }
コード例 #7
0
        public void Order_DetailsRepositoryTests_Update()
        {
            Order_DetailsRepository repository = new Order_DetailsRepository();
            var model = new Order_Details
            {
                Order_Details_ID = 13,
                Order_ID         = 6,
                Product_ID       = 2,
                Quantity         = 2,
                Price            = 150,
                Discount         = 0,
                size             = "X"
            };

            repository.Update(model);
            var result = repository.GetByOrder_Details_ID(13);

            Assert.IsTrue(result.Quantity == 2);
        }
コード例 #8
0
        public string CreateOrder(string Account, string Pay, string Transport, decimal TranMoney)
        {
            var cart_R          = RepositoryContainer.GetInstance <ShoppingCartRepository>();
            var orders_R        = new OrdersRepository();
            var order_Details_R = new Order_DetailsRepository();
            var stock_R         = new StockRepository();
            var products_R      = new ProductsRepository();

            var           now_time   = DateTime.Now;
            SqlConnection connection = new SqlConnection(SqlConnect.str);

            connection.Open();
            var transaction = connection.BeginTransaction();

            try
            {
                orders_R.Create(connection, new Orders
                {
                    Account     = Account,
                    Order_Check = 0,
                    Order_Date  = now_time,
                    Pay         = Pay,
                    TranMoney   = TranMoney,
                    Transport   = Transport,
                }, transaction);

                string  errorMessage = "";
                var     order        = orders_R.GetLatestByAccount(connection, Account, transaction);
                var     items        = cart_R.GetByAccount(connection, Account, transaction);
                decimal totalmoney   = 0;
                foreach (var item in items)
                {
                    if (stock_R.CheckInventory(item.Product_ID, item.size, item.Color, item.Quantity) == false)
                    {
                        errorMessage += "產品 :" + products_R.GetByProduct_ID(item.Product_ID).Product_Name + " 庫存不足\n";
                    }
                    else
                    {
                        totalmoney += item.Quantity * products_R.GetByProduct_ID(item.Product_ID).UnitPrice;
                        order_Details_R.Create(connection, new Order_Details()
                        {
                            Order_ID   = order.Order_ID,
                            Product_ID = item.Product_ID,
                            Quantity   = (short)item.Quantity,
                            size       = item.size,
                            Price      = item.Quantity * products_R.GetByProduct_ID(item.Product_ID).UnitPrice,
                            Color      = item.Color
                        }, transaction);
                        stock_R.Update(connection, new Stock()
                        {
                            Product_ID = item.Product_ID,
                            Size       = item.size,
                            Quantity   = stock_R.GetByPK(item.Product_ID, item.size, item.Color).Quantity - item.Quantity,
                            Color      = item.Color
                        }, transaction);
                    }
                }
                if (errorMessage.Length <= 1)
                {
                    cart_R.DeleteByAccount(Account);
                    orders_R.Update(order.Order_ID, totalmoney + TranMoney, connection, transaction);
                    transaction.Commit();
                    connection.Close();
                    return("新訂單");
                }
                else
                {
                    throw new Exception(errorMessage);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                transaction.Rollback();
                return(ex.Message);
            }
        }
コード例 #9
0
ファイル: RepositoryHelper.cs プロジェクト: JanetCowell/test1
 public static Order_DetailsRepository GetOrder_DetailsRepository(IUnitOfWork unitOfWork)
 {
     var repository = new Order_DetailsRepository();
     repository.UnitOfWork = unitOfWork;
     return repository;
 }
コード例 #10
0
ファイル: RepositoryHelper.cs プロジェクト: JanetCowell/test1
 public static Order_DetailsRepository GetOrder_DetailsRepository()
 {
     var repository = new Order_DetailsRepository();
     repository.UnitOfWork = GetUnitOfWork();
     return repository;
 }