// The return type can be changed to IEnumerable, however to support
 // paging and sorting, the following parameters must be added:
 //     int maximumRows
 //     int startRowIndex
 //     out int totalRowCount
 //     string sortByExpression
 public IQueryable ListView2_GetData()
 {
     db = (YourMovies)Session["db"];
     leffa = (Elokuva)Session["selectedMovie"];
        var leffat=from Elokuva in db.Elokuva
        where Elokuva.ElokuvaID == leffa.ElokuvaID
        select Elokuva;
        if (leffa == null)
        return null;
        else
     return leffat;
 }
        public static bool deleteElokuva(Elokuva elokuva, ref YourMovies db)
        {
            try
            {
                db.Movie.DeleteOnSubmit(elokuva.DbTiedot);
                db.Elokuva.DeleteOnSubmit(elokuva);
                db.SubmitChanges();

                return true;
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(e.Message.ToString());
                return false;
            }
        }
        public static bool updateElokuva(Elokuva elokuva, ref YourMovies db)
        {
            try
            {

                db.SubmitChanges();

                return true;
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(e.Message.ToString());
                return false;
            }
        }
        /*
         * initoitdaan muuuttuja ja tallenetaan ne sessioihin
         *
         */
        private void myIni()
        {
            db = (YourMovies)Session["db"];
            String username = Context.User.Identity.Name;

            IQueryable<Elokuva> elokuva = ElokuvaController.getMoviesByUsers(username, ref db);

            List<Elokuva> elokuvalista = elokuva.ToList();
            leffa = null;
            Session["selectedMovie"] = leffa;

            toListView(elokuvalista);
            Session["elokuvalista"] = elokuvalista;
            otsikko.InnerText = "Omat Elokuvat";
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                myIni();
            }
            else
            {
                elokuvalista = (List<Elokuva>)Session["elokuvalista"];
                db = (YourMovies)Session["db"];
                leffa = (Elokuva)Session["selectedMovie"];
                searchResults = (Result)Session["searchResults"];

            }
            //haetaan kaikkien käyttäjien nimet
            usernames = ElokuvaController.getAllUsers(ref db);
        }
 /*
  * Yhden elokuvan valitseminen ja sen näyttäminen
  *
  */
 protected void openMovieInfo_Command(object sender, CommandEventArgs e)
 {
     int id =Int32.Parse(e.CommandArgument.ToString());
     List<Elokuva> elokuva=elokuvalista.FindAll(eKuva => eKuva.ElokuvaID == id);
     leffa = elokuva.ElementAt(0);
     Session["selectedMovie"]=leffa;
     toListView2();
     ListView3.DataSource = null;
     ListView3.DataBind();
     DataPagerMovies.Visible = false;
 }
 /*
  * Kaikki komennot kun vain yhtä ikkuunaa näytetaan
  *
  */
 protected void ListView2_ItemCommand(object sender, ListViewCommandEventArgs e)
 {
     toListView2();
     switch (e.CommandName)
     {
         case "Edit":
             ListView2.EditIndex = 0;
             break;
         case "Update":
             break;
         case "Back":
             leffa = null;
             Session["selectedMovie"] = leffa;
             toListView(elokuvalista);
             DataPagerMovies.Visible = true;
             ListView2.DataSource = null;
             ListView2.DataBind();
             ListView3.DataSource = null;
             ListView3.DataBind();
             break;
         case "Etsi":
             searchResults = new Result();
             SearchResult s = new SearchResult();
             s.Title = "Etsi elokuvia nimen perusteella";
             s.Year = 1;
             s.Type = "Haku";
             searchResults.Movies.Add(s);
             bindSearchResult(searchResults);
             break;
         case "Delete":
             DataPagerMovies.Visible = true;
             leffa = null;
             break;
     }
 }