コード例 #1
0
ファイル: bands.cs プロジェクト: Rick1970/bandtracker
        public static List<Band> GetAll()
        {
            List<Band> allBands = new List<Band>{};

              SqlConnection conn = DB.Connection();
              conn.Open();

              SqlCommand cmd = new SqlCommand("SELECT * FROM bands;", conn);
              SqlDataReader rdr = cmd.ExecuteReader();

              while (rdr.Read())
              {
            int bandId = rdr.GetInt32(0);
            string bandName = rdr.GetString(1);
            Band newBand = new Band(bandName, bandId);
            allBands.Add(newBand);
              }
              if (rdr != null)
              {
            rdr.Close();
              }
              if (conn != null)
              {
            conn.Close();
              }
              return allBands;
        }
コード例 #2
0
ファイル: bands.cs プロジェクト: Rick1970/bandtracker
        public static Band Find(int id)
        {
            SqlConnection conn = DB.Connection();
              conn.Open();

              SqlCommand cmd = new SqlCommand("SELECT * FROM bands WHERE id = @BandId;", conn);
              SqlParameter bandIdParameter = new SqlParameter();
              bandIdParameter.ParameterName = "@BandId";
              bandIdParameter.Value = id.ToString();
              cmd.Parameters.Add(bandIdParameter);
              SqlDataReader rdr = cmd.ExecuteReader();

              int foundBandId = 0;
              string foundBandName = null;

              while(rdr.Read())
              {
            foundBandId = rdr.GetInt32(0);
            foundBandName = rdr.GetString(1);
              }
              Band foundBand = new Band(foundBandName, foundBandId);

              if (rdr != null)
              {
            rdr.Close();
              }
              if (conn != null)
              {
            conn.Close();
              }
              return foundBand;
        }
コード例 #3
0
ファイル: BandsTest.cs プロジェクト: Rick1970/bandtracker
 public void T2_Equal_ReturnsTrueIfNamesAreTheSame()
 {
     //arrange, act
       Band firstBand = new Band("GNR");
       Band secondBand = new Band("GNR");
       //Assert
       Assert.Equal(firstBand, secondBand);
 }
コード例 #4
0
ファイル: BandsTest.cs プロジェクト: Rick1970/bandtracker
 public void T5_Find_FindNameInDatabase()
 {
     //arrange
       Band testBand = new Band("Pheonix");
       testBand.Save();
       //act
       Band foundBand = Band.Find(testBand.GetId());
       //Assert
       Assert.Equal(testBand, foundBand);
 }
コード例 #5
0
ファイル: BandsTest.cs プロジェクト: Rick1970/bandtracker
 public void T3_Test_Save_SavesToDatabase()
 {
     //arrange
       Band testBand = new Band("GNR");
       //act
       testBand.Save();
       List<Band> result = Band.GetAll();
       List<Band> testList = new List<Band>{testBand};
       //Assert
       Assert.Equal(testList, result);
 }
コード例 #6
0
ファイル: BandsTest.cs プロジェクト: Rick1970/bandtracker
        public void T4_Save_AsignsIdToObject()
        {
            //arrange
              Band newBand = new Band("GNR");
              //action
              newBand.Save();
              Band savedBand = Band.GetAll()[0];

              int result = savedBand.GetId();
              int testId = newBand.GetId();
              //assert
              Assert.Equal(testId, result);
        }
コード例 #7
0
ファイル: VenuesTest.cs プロジェクト: Rick1970/bandtracker
        public void T8_GetVenues_ReturnsAllVenueBand()
        {
            Band testBand = new Band("GNR");
              testBand.Save();

              Venue testVenue1 = new Venue("Paramont");
              testVenue1.Save();

              Venue testVenue2 = new Venue("Rock Candy");
              testVenue2.Save();

              Venue testVenue3 = new Venue("Cafe Arizona");
              testVenue3.Save();

              Venue testVenue4 = new Venue("Joes Bar and Grill");
              testVenue4.Save();

              testBand.AddVenues(testVenue1);

              List<Venue> result = testBand.GetVenues();
              List<Venue> testList= new List<Venue>{testVenue1};

              Assert.Equal(testList,result);
        }
コード例 #8
0
ファイル: VenuesTest.cs プロジェクト: Rick1970/bandtracker
        public void T7_AddVenueToBand_True()
        {
            Band testBand = new Band("GNR");
              testBand.Save();

              Venue testVenue = new Venue("Paramont");
              testVenue.Save();

              Venue testVenue2 = new Venue("Rock Candy");
              testVenue2.Save();

              testBand.AddVenues(testVenue);
              testBand.AddVenues(testVenue2);
              List<Venue> allVenue = Venue.GetAll();
              List<Venue> result = testBand.GetVenues();
              List<Venue> testList = new List<Venue>{testVenue,testVenue2};

              Assert.Equal(testList, result);
        }
コード例 #9
0
ファイル: HomeModule.cs プロジェクト: Rick1970/bandtracker
        public HomeModule()
        {
            Get["/"] = _ => {
            List<Venue> AllVenues = Venue.GetAll();
            return View["index.cshtml", AllVenues];
              };

              Get["/bands"] = _ => {
            List<Band> AllBands = Band.GetAll();
            return View["bands.cshtml", AllBands];
              };

              Get["/venues"] = _ => {
            List<Venue> AllVenues = Venue.GetAll();
            return View["venues.cshtml", AllVenues];
              };

              Get["/venues/new"] = _ => {
            return View["venues_form.cshtml"];
              };

              Post["/venues/new"] = _ => {
            Venue newVenue = new Venue(Request.Form["venue-name"]);
            newVenue.Save();
            return View["success.cshtml"];
              };

              Get["/bands/new"] = _ => {
            return View["bands_form.cshtml"];
              };

              Post["/bands/new"] = _ => {
            Band newBand = new Band(Request.Form["band-name"]);
            newBand.Save();
            return View["success.cshtml"];
              };

              Post["/bands/delete"] = _ => {
            Band.DeleteAll();
            return View["cleared.cshtml"];
              };

              Get["/venues/{id}"] = parameters => {
            Dictionary<string, object> model = new Dictionary<string, object>();
            var SelectedVenue = Venue.Find(parameters.id);
            var VenueBands = SelectedVenue.GetBands();
            model.Add("venue", SelectedVenue);
            model.Add("bands", VenueBands);
            return View["venue.cshtml", model];
              };

              Get["venue/edit/{id}"] = parameters => {
            Venue SelectedVenue = Venue.Find(parameters.id);
            return View["venue_edit.cshtml", SelectedVenue];
              };

              Patch["venue/edit/{id}"] = parameters => {
            Venue SelectedVenue = Venue.Find(parameters.id);
            SelectedVenue.Update(Request.Form["venue-name"]);
            return View["success.cshtml"];
              };

              Get["venue/delete/{id}"] = parameters => {
            Venue SelectedVenue = Venue.Find(parameters.id);
            return View["venue_delete.cshtml", SelectedVenue];
              };

              Delete["venue/delete/{id}"] = parameters => {
            Venue SelectedVenue = Venue.Find(parameters.id);
            SelectedVenue.Delete();
            return View["success.cshtml"];
              };

              Get["bands/{id}"]=parameters=>{
            Dictionary<string, object> model = new Dictionary<string, object>();
            Band selectedBand = Band.Find(parameters.id);
            List<Venue> bandVenues = selectedBand.GetVenues();
            List<Venue> allVenues = Venue.GetAll();
            model.Add("band",selectedBand);
            model.Add("bandVenues",bandVenues);
            model.Add("allVenues",allVenues);
            return View["band.cshtml",model];
              };

              Get["venues/{id}"] = parameters => {
            Dictionary<string, object> model = new Dictionary<string, object>();
            Venue selectedVenue = Venue.Find(parameters.id);
            List<Band> venueBands = selectedVenue.GetBands();
            List<Band> allBands = Band.GetAll();
            model.Add("venue", selectedVenue);
            model.Add("venueBands", venueBands);
            model.Add("allBands", allBands);
            return View["venue.cshtml", model];
              };

              Post["band/add_venue"] = _ =>{
            Venue venue= Venue.Find(Request.Form["venue-id"]);
            Band band = Band.Find(Request.Form["band-id"]);
            band.AddVenues(venue);
            return View["success.cshtml"];
              };

              Post["venue/add_band"] = _ => {
            Venue venue = Venue.Find(Request.Form["venue-id"]);
            Band band = Band.Find(Request.Form["band-id"]);
            venue.AddBands(band);
            return View["success.cshtml"];
              };
        }
コード例 #10
0
ファイル: BandsTest.cs プロジェクト: Rick1970/bandtracker
 public void Dispose()
 {
     Band.DeleteAll();
     Venue.DeleteAll();
 }
コード例 #11
0
ファイル: venues.cs プロジェクト: Rick1970/bandtracker
        public List<Band> GetBands()
        {
            SqlConnection conn = DB.Connection();
              conn.Open();

              SqlCommand cmd = new SqlCommand("SELECT bands.* FROM venues JOIN venues_bands ON (venues.id = venues_bands.venue_id) JOIN bands ON (venues_bands.band_id = bands.id) WHERE venues.id = @VenueId;", conn);
              SqlParameter VenueIdParameter = new SqlParameter();
              VenueIdParameter.ParameterName = "@VenueId";
              VenueIdParameter.Value = this.GetId().ToString();

              cmd.Parameters.Add(VenueIdParameter);
              SqlDataReader rdr = cmd.ExecuteReader();

              List<Band> bands = new List<Band>{};

              while (rdr.Read())
              {
            int bandId = rdr.GetInt32(0);
            string bandName = rdr.GetString(1);
            Band newBand = new Band(bandName, bandId);
            bands.Add(newBand);
              }
              if (rdr != null)
              {
            rdr.Close();
              }
              if (conn != null)
              {
            conn.Close();
              }
              return bands;
        }
コード例 #12
0
ファイル: venues.cs プロジェクト: Rick1970/bandtracker
        public void AddBands(Band newBand)
        {
            SqlConnection conn = DB.Connection();
              conn.Open();

              SqlCommand cmd = new SqlCommand("INSERT INTO venues_bands (band_id, venue_id) VALUES (@BandId,@VenueId)",conn);

              SqlParameter bandIdParameter = new SqlParameter();
              bandIdParameter.ParameterName= "@BandId";
              bandIdParameter.Value= newBand.GetId();

              SqlParameter venueIdParameter = new SqlParameter();
              venueIdParameter.ParameterName= "@VenueId";
              venueIdParameter.Value= this.GetId();

              cmd.Parameters.Add(bandIdParameter);
              cmd.Parameters.Add(venueIdParameter);

              cmd.ExecuteNonQuery();

              if(conn != null)
              {
            conn.Close();
              }
        }
コード例 #13
0
ファイル: BandsTest.cs プロジェクト: Rick1970/bandtracker
        public void T6_AddBandToVenue_True()
        {
            Venue testVenue = new Venue("Paramont");
              testVenue.Save();

              Band testBand = new Band("GNR");
              testBand.Save();

              Band testBand2 = new Band("Primus");
              testBand2.Save();

              testVenue.AddBands(testBand);
              testVenue.AddBands(testBand2);
              List<Band> allBand= Band.GetAll();
              List<Band> result = testVenue.GetBands();
              List<Band> testList = new List<Band>{testBand,testBand2};

              Assert.Equal(testList, result);
        }
コード例 #14
0
ファイル: BandsTest.cs プロジェクト: Rick1970/bandtracker
        public void T7_GetBands_ReturnsAllBandVenues()
        {
            Venue testVenue = new Venue("Paramont");
              testVenue.Save();

              Band testBand1 = new Band("GNR");
              testBand1.Save();

              Band testBand2 = new Band("Primus");
              testBand2.Save();

              Band testBand3 = new Band("The Strokes");
              testBand3.Save();

              Band testBand4 = new Band("Rob Zombie");
              testBand4.Save();

              testVenue.AddBands(testBand1);

              List<Band> result = testVenue.GetBands();
              List<Band> testList= new List<Band>{testBand1};

              Assert.Equal(testList,result);
        }