public void AddOrder(InternetOrder order)
        {
            if (!File.Exists(BaseRepo.DbFIle))
            {
                BaseRepo.CreateDatabase();
            }

            using (var cnn = BaseRepo.DbConnection())
            {
                cnn.Open();
                string sql =
                    "INSERT INTO Order (ClientId, Completed, IpAddress) Values (@ClientId, @Completed, @IpAddress);";

                cnn.Execute(sql,
                            new { ClientId = order.ClientId, Completed = 0, IpAddress = order.IpAddress });

                SQLiteCommand Command     = new SQLiteCommand("select last_insert_rowid()", cnn);
                Int64         LastRowID64 = (Int64)Command.ExecuteScalar();
                int           orderId     = (int)LastRowID64;


                sql = "INSERT INTO OrderObject (Amount, ObjectId, OrderId) Values (@Amount, @ObjectId, @OrderId);";
                foreach (var orderObj in order.Objects)
                {
                    cnn.Execute(sql, new { Amount = orderObj.Amount, ObjectId = orderObj.ObjectId, OrderId = orderId });
                }
            }
        }
예제 #2
0
        public List <Order> GetAllOrders()
        {
            if (!File.Exists(BaseRepo.DbFIle))
            {
                BaseRepo.CreateDatabase();
            }

            var orders = new List <Order>();

            using (var cnn = BaseRepo.DbConnection())
            {
                cnn.Open();
                var ordersWithoutProducts = cnn.Query <Order>("SELECT * FROM PlaceOrder").ToList();

                foreach (Order order in ordersWithoutProducts)
                {
                    order.Objects = cnn.Query <OrderObject>("SELECT * FROM OrderObject WHERE OrderId = @OrderId",
                                                            new { OrderId = order.Id })
                                    .ToList();

                    orders.Add(order);
                }
            }

            return(orders);
        }
예제 #3
0
        public void AddObject(Object obj)
        {
            if (!File.Exists(BaseRepo.DbFIle))
            {
                BaseRepo.CreateDatabase();
            }

            using (var cnn = BaseRepo.DbConnection())
            {
                cnn.Open();
                string sql =
                    "INSERT INTO Object (Description, Price, InStock) Values (@Description, @Price, @InStock);";

                cnn.Execute(sql, obj);
            }
        }
예제 #4
0
        public void AddClient(Client client)
        {
            if (!File.Exists(BaseRepo.DbFIle))
            {
                BaseRepo.CreateDatabase();
            }

            using (var cnn = BaseRepo.DbConnection())
            {
                cnn.Open();
                string sql =
                    "INSERT INTO Client (Name, Address) Values (@Name, @Address);";

                cnn.Execute(sql, client);
            }
        }
예제 #5
0
        public List <Object> GetAllObjects()
        {
            if (!File.Exists(BaseRepo.DbFIle))
            {
                BaseRepo.CreateDatabase();
            }

            var objects = new List <Object>();

            using (var cnn = BaseRepo.DbConnection())
            {
                cnn.Open();
                objects = cnn.Query <Object>("SELECT * FROM Object").ToList();
            }


            return(objects);
        }
        public void AddInternetClient(InternetClient InternetClient)
        {
            if (!File.Exists(BaseRepo.DbFIle))
            {
                BaseRepo.CreateDatabase();
            }

            using (var cnn = BaseRepo.DbConnection())
            {
                cnn.Open();
                string sql =
                    "INSERT INTO Client (Name, Address) Values (@Name, @Address);";

                cnn.Execute(sql, InternetClient);
                SQLiteCommand Command     = new SQLiteCommand("select last_insert_rowid()", cnn);
                Int64         LastRowID64 = (Int64)Command.ExecuteScalar();
                int           id          = (int)LastRowID64;

                sql = "INSERT INTO InternetClient (ClientId, IpAddress) Values (@ClientId, @IpAddress)";
                cnn.Execute(sql, new { ClientId = id, IpAddress = InternetClient.IpAddress, });
            }
        }
 public static void Main(string[] args)
 {
     BaseRepo.CreateDatabase();
     PrepareBasicData();
     new UserInterface().Start();
 }