Exemplo n.º 1
0
 static void DisplaySkateboard(Skateboard skateboard)
 {
     Console.WriteLine($"Skateboard id: {skateboard.SkateboardId}");
     Console.WriteLine($"Skateboard brand: {skateboard.Brand}");
     Console.WriteLine($"Skateboard price: {skateboard.Price}");
     Console.WriteLine($"Skateboard date listed: {skateboard.DateListed}");
 }
Exemplo n.º 2
0
        public List <Skateboard> GetBoardsForLikeList()
        {
            List <Skateboard> completeSkateboards = new List <Skateboard>();

            using (var conn = new NpgsqlConnection(_conn))
            {
                conn.Open();
                using (var cmd = new NpgsqlCommand("select * from skateboards WHERE deck_id != 0 AND wheels_id != 0 AND trucks_id != 0", conn))
                {
                    var reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        int        skateboardId = int.Parse(reader["skateboard_id"].ToString());
                        int        userId       = int.Parse(reader["user_id"].ToString());
                        int        deckId       = int.Parse(reader["deck_id"].ToString());
                        int        wheelsId     = int.Parse(reader["wheels_id"].ToString());
                        int        truckId      = int.Parse(reader["trucks_id"].ToString());
                        Deck       deck         = GetDeckById(deckId);
                        Truck      truck        = GetTruckById(truckId);
                        Wheels     wheels       = GetWheelsById(wheelsId);
                        Skateboard skateboard   = new Skateboard(skateboardId, userId, deck, wheels, truck);
                        completeSkateboards.Add(skateboard);
                    }
                    reader.Close();
                }
                conn.Close();
            }
            return(completeSkateboards);
        }
Exemplo n.º 3
0
        public List <Skateboard> GetUserSkateboards(int userId)
        {
            List <Skateboard> userSkateboards = new List <Skateboard>();

            using (var conn = new NpgsqlConnection(_conn))
            {
                conn.Open();
                using (var cmd = new NpgsqlCommand("SELECT * FROM skateboards WHERE user_id = (@userId);", conn))
                {
                    cmd.Parameters.AddWithValue("@userId", userId);
                    var reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        int        skateboardId = int.Parse(reader["skateboard_id"].ToString());
                        int        deckId       = int.Parse(reader["deck_id"].ToString());
                        int        wheelsId     = int.Parse(reader["wheels_id"].ToString());
                        int        truckId      = int.Parse(reader["trucks_id"].ToString());
                        Deck       deck         = GetDeckById(deckId);
                        Truck      truck        = GetTruckById(truckId);
                        Wheels     wheels       = GetWheelsById(wheelsId);
                        Skateboard skateboard   = new Skateboard(skateboardId, userId, deck, wheels, truck);
                        userSkateboards.Add(skateboard);
                    }
                    reader.Close();
                }
                conn.Close();
            }
            return(userSkateboards);
        }
Exemplo n.º 4
0
        public ActionResult Create(Skateboard skateboard)
        {
            context.Skateboards.Add(skateboard);
            context.SaveChanges();

            return(RedirectToAction("Index"));
        }
Exemplo n.º 5
0
        public int AddSkateboard(Skateboard skateboard)
        {
            skateboard.DateListed = DateTime.Now;

            _executor.Insert(skateboard);

            return skateboard.SkateboardId;
        }
Exemplo n.º 6
0
        static void MarkSkateboardAsDeleted()
        {
            Skateboard skateboard = GetSkateboardById();

            _skateboardRepo.MarkSkateboardAsDeleted(skateboard);

            Console.WriteLine("skateboard has been marked as deleted");
        }
Exemplo n.º 7
0
        static Skateboard GetSkateboardById()
        {
            Console.WriteLine("Enter skateboard id");
            int skateboardId = int.Parse(Console.ReadLine());

            Skateboard skateboard = _skateboardRepo.GetSkateboardById(skateboardId);

            return(skateboard);
        }
Exemplo n.º 8
0
        public ActionResult Delete(int id)
        {
            Skateboard std = context.Skateboards.Where(s => s.SkateboardId == id).FirstOrDefault();

            context.Skateboards.Remove(std);
            context.SaveChanges();

            return(RedirectToAction("Index"));
        }
Exemplo n.º 9
0
 /// <summary>
 /// Checks if a board is eligible for a competition .
 /// Returns true if the competitor skateboard's length is more than 32 and the wheel's hardness is either medium or soft.
 /// </summary>
 /// <param name="competitor"></param>
 /// <returns></returns>
 public override bool EligibleForCompetition(Skateboard competitor)
 {
     if (competitor.deck.length < 32 && competitor.wheel.hardness.Equals("medium") || competitor.wheel.hardness.Equals("soft"))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 10
0
 /// <summary>
 /// Checks if a board is eligible for a competition .
 /// Returns true if the competitor skateboard has an "Almost" branded deck and a wheel with a "hard" hardness.
 /// </summary>
 /// <param name="competitor"></param>
 /// <returns></returns>
 public override bool EligibleForCompetition(Skateboard competitor)
 {
     if (competitor.deck.brand.Equals("Almost") && competitor.wheel.hardness.Equals("hard"))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 11
0
 /// <summary>
 /// Checks if a board is eligible for a competition .
 /// Returns true if the competitor skateboard's bearing type is one of these: "reds", "super reds", "g2", "big balls reds" 
 /// and the wheel's size must be atleast 56.
 /// </summary>
 /// <param name="competitor"></param>
 /// <returns></returns>
 public override bool EligibleForCompetition(Skateboard competitor)
 {
     List<string> eligibleBearings = new List<string>() { "reds", "super reds", "g2", "big balls reds" };
     if (eligibleBearings.Contains(competitor.bearings.type.ToLower()) && competitor.wheel.size>=56)
     {
         return true;
     }
     else
     {
         return false;
     }
 }
Exemplo n.º 12
0
        public ActionResult Edit(Skateboard skateboards)
        {
            Skateboard skateboard = context.Skateboards.Where(s => s.SkateboardId == skateboards.SkateboardId).FirstOrDefault();

            skateboard.SkateboardBrand = skateboards.SkateboardBrand;
            skateboard.SkateboardCurve = skateboards.SkateboardCurve;
            skateboard.SkateboardWidth = skateboards.SkateboardWidth;

            context.SaveChanges();

            return(RedirectToAction("Index"));
        }
Exemplo n.º 13
0
        static void AddNewSkateBoard()
        {
            Skateboard skateboard = new Skateboard();

            Console.WriteLine("Please enter brand name");
            skateboard.Brand = Console.ReadLine();

            Console.WriteLine("Please enter price");
            skateboard.Price = decimal.Parse(Console.ReadLine());

            _skateboardRepo.AddSkateboard(skateboard);
        }
Exemplo n.º 14
0
        static void UpdateSkateboardPrice()
        {
            Skateboard skateboard = GetSkateboardById();

            DisplaySkateboard(skateboard);

            Console.WriteLine("Enter new price for skateboard");
            decimal newPrice = decimal.Parse(Console.ReadLine());

            _skateboardRepo.UpdateSkateboardPrice(skateboard, newPrice);

            Console.WriteLine("skateboard price has been updated");
        }
Exemplo n.º 15
0
        /// <summary>
        /// Checks if a board is eligible for a competition .
        /// Asks the user their gender, if they answer female it returns true.
        /// </summary>
        /// <param name="competitor"></param>
        /// <returns></returns>
        public override bool EligibleForCompetition(Skateboard competitor)
        {
            UI.Printer("Are you a male or a female? (m/f)");
            string gender = UI.Scanner();

            if (gender.ToLower().Equals("f"))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 16
0
 /// <summary>
 /// Simulates a competition where the competitor is against 14 other skaters. 
 /// </summary>
 /// <param name="storage"></param>
 /// <param name="competitor"></param>
 /// <returns></returns>
 public override bool Race(Storage storage,Skateboard competitor)
 {
     var rand = new Random();
     TimeSpan ts = new TimeSpan(0, 0, 3);
     Console.Clear();
     UI.Printer("Competing against 14 other skaters...");
     Thread.Sleep(ts);
     Console.Clear();
     if (rand.Next(0,16) == 0)
     {
         return true;
     }
     else
     {
         return false;
     }
 }
Exemplo n.º 17
0
        /// <summary>
        /// Simulates a competition where the competitor is against 3 other skaters. There is a 25% chance of their board breaking at the end.
        /// </summary>
        /// <param name="storage"></param>
        /// <param name="competitor"></param>
        /// <returns></returns>
        public override bool Race(Storage storage, Skateboard competitor)
        {
            var      rand = new Random();
            TimeSpan ts   = new TimeSpan(0, 0, 3);

            Console.Clear();
            UI.Printer("Competing against 3 other skaters on the halfpipe...");
            Thread.Sleep(ts);
            Console.Clear();
            if (rand.Next(0, 4) == 0)
            {
                storage.BrokeBoard(competitor);
                return(true);
            }
            else
            {
                storage.BrokeBoard(competitor);
                return(false);
            }
        }
Exemplo n.º 18
0
        /// <summary>
        /// Simulates a 3 round competition where every round the competitor is against 1 other competitor.
        /// </summary>
        /// <param name="storage"></param>
        /// <param name="competitor"></param>
        /// <returns></returns>
        public override bool Race(Storage storage, Skateboard competitor)
        {
            TimeSpan ts        = new TimeSpan(0, 0, 3);
            var      rand      = new Random();
            int      wonRounds = 0;

            for (int i = 0; i < 3; i++)
            {
                Console.Clear();
                UI.Printer("Competing...");
                Thread.Sleep(ts);
                Console.Clear();
                if (rand.Next(0, 2) == 0)
                {
                    UI.Printer($"You won the {i + 1}. round! ");
                    wonRounds++;
                    Thread.Sleep(ts);
                    Console.Clear();
                }
                else
                {
                    UI.Printer("You lost this round, and you're out of the competition.");
                    Thread.Sleep(ts);
                    Console.Clear();
                    break;
                }
            }
            if (wonRounds == 3)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 19
0
        public ActionResult Delete(int?Id)
        {
            Skateboard std = context.Skateboards.Where(s => s.SkateboardId == Id).FirstOrDefault();

            return(View(std));
        }
Exemplo n.º 20
0
        public List <LikeList> GetLikeListForBoards()
        {
            var  likes = new List <LikeList>();
            bool foundBoard;

            using (var conn = new NpgsqlConnection(_conn))
            {
                conn.Open();
                using (var cmd = new NpgsqlCommand("SELECT l.user_id as likedUserId, s.skateboard_id as skateboardId,u.nickname as userNickname,s.user_id as skateboardUserId, s.deck_id as deckId, s.wheels_id as wheelsId, s.trucks_id as trucksId FROM liked AS l INNER JOIN skateboards AS s on s.skateboard_id = l.skateboard_id INNER JOIN users AS u on u.user_id = s.user_id", conn))
                {
                    var reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        foundBoard = false;
                        int        likedUserId      = int.Parse(reader["likedUserId"].ToString());
                        int        skateboardId     = int.Parse(reader["skateboardId"].ToString());
                        string     userNickname     = reader["userNickname"].ToString();
                        int        skateboardUserId = int.Parse(reader["skateboardUserId"].ToString());
                        int        deckId           = int.Parse(reader["deckId"].ToString());
                        int        wheelsId         = int.Parse(reader["wheelsId"].ToString());
                        int        truckId          = int.Parse(reader["trucksId"].ToString());
                        Deck       deck             = GetDeckById(deckId);
                        Truck      truck            = GetTruckById(truckId);
                        Wheels     wheels           = GetWheelsById(wheelsId);
                        Skateboard skateboard       = new Skateboard(skateboardId, skateboardUserId, deck, wheels, truck);
                        foreach (LikeList like in likes)
                        {
                            if (like.LikeSkateboard.SkateboardId.Equals(skateboard.SkateboardId))
                            {
                                like.LikeUsers.Add(likedUserId);
                                foundBoard = true;
                                break;
                            }
                        }
                        if (foundBoard == false)
                        {
                            LikeList like_list = new LikeList(new List <int>(), skateboard, userNickname);
                            like_list.LikeUsers.Add(likedUserId);
                            likes.Add(like_list);
                        }
                    }
                    reader.Close();
                }
                conn.Close();
                List <Skateboard> completeSkateboards = GetBoardsForLikeList();
                foreach (Skateboard board in completeSkateboards)
                {
                    foundBoard = false;
                    foreach (LikeList like in likes)
                    {
                        if (like.LikeSkateboard.SkateboardId.Equals(board.SkateboardId))
                        {
                            foundBoard = true;
                            break;
                        }
                    }
                    if (foundBoard == false)
                    {
                        LikeList like_list = new LikeList(new List <int>(), board, GetUserFromSkateboardId(board.SkateboardId).UserNickname);
                        likes.Add(like_list);
                    }
                }
            }
            return(likes);
        }
 public InternBuilder()
 {
     skateboard = new Skateboard();
 }
Exemplo n.º 22
0
        public void SaveChildEntities()
        {
            Executor executor = Executor.GetInstance();

            executor.CreateTable <Order>();
            executor.CreateTable <Skateboard>();
            executor.CreateTable <Wheel>();

            Order order = new Order
            {
                OrderDate = new DateTime(2021, 12, 5),
                Address   = "123 abc street"
            };

            var w = new Wheel {
                Name = "1"
            };
            var w2 = new Wheel {
                Name = "2"
            };
            var w3 = new Wheel {
                Name = "3"
            };
            var w4 = new Wheel {
                Name = "4"
            };

            var sk = new Skateboard
            {
                Brand       = "Hotsauce",
                DateCreated = new DateTime(2020, 5, 5),
                IsColor     = true,
                Price       = 45.99m,
                Wheels      = new List <Wheel> {
                    w, w2
                }
            };

            var sk2 = new Skateboard
            {
                Brand       = "Water",
                DateCreated = new DateTime(2021, 2, 28),
                IsColor     = false,
                Price       = 48.99m,
                Wheels      = new List <Wheel> {
                    w3, w4
                }
            };

            List <Skateboard> skateboards = new List <Skateboard>
            {
                sk,
                sk2
            };

            order.Items = skateboards;

            executor.Insert(order);

            Assert.AreEqual(1L, order.Items[0].BoardId);
            Assert.AreEqual(2L, order.Items[1].BoardId);

            Assert.AreEqual("1", order.Items[0].Wheels[0].Name);
            Assert.AreEqual("2", order.Items[0].Wheels[1].Name);
            Assert.AreEqual("3", order.Items[1].Wheels[0].Name);
            Assert.AreEqual("4", order.Items[1].Wheels[1].Name);
        }
Exemplo n.º 23
0
        public void UpdateSkateboardPrice(Skateboard skateboard, decimal price)
        {
            skateboard.Price = price;

            _executor.Update(skateboard);
        }
Exemplo n.º 24
0
        public void MarkSkateboardAsDeleted(Skateboard skateboard)
        {
            skateboard.Deleted = true;

            _executor.Update(skateboard);
        }