public bool AddShow(Show sh, ShowDetailInfo sd)
    {
        Show s = new Show();

        s.ShowName        = sh.ShowName;
        s.ShowDate        = sh.ShowDate;
        s.ShowDateEntered = sh.ShowDateEntered;
        s.ShowTime        = sh.ShowTime;
        s.ShowTicketInfo  = sh.ShowTicketInfo;
        s.ShowKey         = sh.ShowKey;


        ShowDetail showDet = new ShowDetail();

        showDet.ShowKey   = sd.ShowKey;
        showDet.ArtistKey = sd.ArtistKey;
        showDet.ShowDetailArtistStartTime = sd.ArtistKeyShowDetailArtistStartTime.TimeOfDay;
        showDet.ShowDetailAdditional      = sd.ShowDetailAdditional;
        bool result = true;

        try
        {
            db.Shows.Add(s);
            db.ShowDetails.Add(showDet);
            db.SaveChanges();
        }
        catch (Exception ex)
        {
            result = false;
        }
        return(result);
    }
    public List <ShowDetailInfo> GetShowsByArtist(string artistName)
    {
        List <ShowDetailInfo> showDetailInfos = new List <ShowDetailInfo>();

        var sd_table = from s in ste.Shows
                       join sd in ste.ShowDetails on s.ShowKey equals sd.ShowKey
                       join a in ste.Artists on sd.ArtistKey equals a.ArtistKey
                       where a.ArtistName.Equals(artistName)
                       select new
        {
            s.ShowName,
            s.ShowDate,
            s.ShowTime,
            s.Venue.VenueName
        };

        foreach (var row in sd_table)
        {
            ShowDetailInfo sdi = new ShowDetailInfo();
            sdi.ShowName      = row.ShowName;
            sdi.ShowDate      = row.ShowDate;
            sdi.ShowStartTime = row.ShowTime;
            sdi.VenueName     = row.VenueName;
            showDetailInfos.Add(sdi);
        }

        return(showDetailInfos);
    }