Пример #1
0
        public List <Pirate> GetPirate()
        {
            SqlConnection conn = DB.Connection();

            conn.Open();

            SqlCommand cmd = new SqlCommand("SELECT pirates.* FROM ships JOIN pirates_ships ON (ships.id = pirates_ships.ships_id) JOIN pirates ON (pirates_ships.pirates_id = pirates.id) WHERE ships.id = @ShipsId", conn);

            SqlParameter ShipIdParameter = new SqlParameter();

            ShipIdParameter.ParameterName = "@ShipsId";
            ShipIdParameter.Value         = this.GetId();
            cmd.Parameters.Add(ShipIdParameter);

            SqlDataReader rdr    = cmd.ExecuteReader();
            List <Pirate> Pirate = new List <Pirate> {
            };

            while (rdr.Read())
            {
                int    PirateId   = rdr.GetInt32(0);
                string PirateName = rdr.GetString(1);
                string PirateRank = rdr.GetString(2);
                Pirate newPirate  = new Pirate(PirateName, PirateRank, PirateId);
                Pirate.Add(newPirate);
            }

            if (rdr != null)
            {
                rdr.Close();
            }

            if (conn != null)
            {
                conn.Close();
            }
            return(Pirate);
        }
Пример #2
0
        public static Pirate Find(int id)
        {
            SqlConnection conn = DB.Connection();

            conn.Open();

            SqlCommand   cmd = new SqlCommand("SELECT * FROM pirates WHERE id = @PirateId;", conn);
            SqlParameter pirateIdParameter = new SqlParameter();

            pirateIdParameter.ParameterName = "@PirateId";
            pirateIdParameter.Value         = id.ToString();
            cmd.Parameters.Add(pirateIdParameter);
            SqlDataReader rdr = cmd.ExecuteReader();

            int    foundPirateId   = 0;
            string foundPirateName = null;
            string foundPirateRank = null;

            while (rdr.Read())
            {
                foundPirateId   = rdr.GetInt32(0);
                foundPirateName = rdr.GetString(1);
                foundPirateRank = rdr.GetString(2);
            }
            Pirate foundPirate = new Pirate(foundPirateName, foundPirateRank, foundPirateId);

            if (rdr != null)
            {
                rdr.Close();
            }
            if (conn != null)
            {
                conn.Close();
            }
            return(foundPirate);
        }
Пример #3
0
        public HomeModule()
        {
            Get["/"] = _ =>
            {
                return(View["index.cshtml"]);
            };


            Get["/ships"] = _ =>
            {
                List <Ship> AllShips = Ship.GetAll();
                return(View["ships.cshtml", AllShips]);
            };


            Get["/pirates"] = _ =>
            {
                List <Pirate> AllPirates = Pirate.GetAll();
                return(View["pirates.cshtml", AllPirates]);
            };


            Get["/ships/new"] = _ =>
            {
                return(View["ships_form.cshtml"]);
            };

            Post["/ships/new"] = _ =>
            {
                Ship newShip = new Ship(Request.Form["ship-name"], Request.Form["ship-type"]);
                newShip.Save();
                return(View["index.cshtml"]);
            };


            Get["/pirates/new"] = _ =>
            {
                return(View["pirates_form.cshtml"]);
            };

            Post["/pirates/new"] = _ =>
            {
                Pirate newPirate = new Pirate(Request.Form["pirate-name"], Request.Form["pirate-rank"]);
                newPirate.Save();
                return(View["index.cshtml"]);
            };

            Get["pirates/{id}"] = parameters =>
            {
                Dictionary <string, object> model = new Dictionary <string, object>();
                Pirate      SelectedPirate        = Pirate.Find(parameters.id);
                List <Ship> PirateShips           = SelectedPirate.GetShips();
                List <Ship> AllShips = Ship.GetAll();
                model.Add("pirate", SelectedPirate);
                model.Add("pirateShips", PirateShips);
                model.Add("allShips", AllShips);
                return(View["pirate.cshtml", model]);
            };

            Get["ships/{id}"] = parameters =>
            {
                Dictionary <string, object> model = new Dictionary <string, object>();
                Ship          SelectedShip        = Ship.Find(parameters.id);
                List <Pirate> ShipPirates         = SelectedShip.GetPirate();
                List <Pirate> AllPirates          = Pirate.GetAll();
                model.Add("ship", SelectedShip);
                model.Add("shipPirates", ShipPirates);
                model.Add("allPirates", AllPirates);
                return(View["ship.cshtml", model]);
            };

            Post["pirate/add_ship"] = _ =>
            {
                Ship   ship   = Ship.Find(Request.Form["ship-id"]);
                Pirate pirate = Pirate.Find(Request.Form["pirate-id"]);
                pirate.AddShip(ship);
                return(View["index.cshtml"]);
            };

            Post["ship/add_pirate"] = _ =>
            {
                Ship   ship   = Ship.Find(Request.Form["ship-id"]);
                Pirate pirate = Pirate.Find(Request.Form["pirate-id"]);
                ship.AddPirate(pirate);
                return(View["index.cshtml"]);
            };

            Post["/pirates/delete"] = _ =>
            {
                Pirate.DeleteAll();
                return(View["index.cshtml"]);
            };

            Get["ship/edit/{id}"] = parameters =>
            {
                Ship SelectedShip = Ship.Find(parameters.id);
                return(View["ship_edit.cshtml", SelectedShip]);
            };

            Patch["ship/edit/{id}"] = parameters =>
            {
                Ship SelectedShip = Ship.Find(parameters.id);
                SelectedShip.Update(Request.Form["ship-name"]);
                return(View["index.cshtml"]);
            };

            Get["ship/delete/{id}"] = parameters =>
            {
                Ship SelectedShip = Ship.Find(parameters.id);
                return(View["ship_delete.cshtml", SelectedShip]);
            };

            Delete["ship/delete/{id}"] = parameters =>
            {
                Ship SelectedShip = Ship.Find(parameters.id);
                SelectedShip.Delete();
                return(View["index.cshtml"]);
            };

            Post["/ships/delete"] = _ =>
            {
                Ship.DeleteAll();
                return(View["index.cshtml"]);
            };
        }