public ActionResult DetailsTrack(DetailTrackWithArtist model)
        {
            if (Request.QueryString["TrackId"] != null)
            {
                model.TrackId = (int)double.Parse(Request.QueryString["TrackId"]);
            }
            if (model.TrackId != 0)
            {
                model = DetailTrackDB.DetailFromId(model.TrackId);
            }
            else
            {
                return(RedirectToAction("ListTrack"));
            }

            return(View(model));
        }
        public ActionResult EditTrack(DetailTrackWithArtist model, string submit, string Search)
        {
            if (TempData["TrackInEdit"] != null)
            {
                model.TrackId = (int)TempData["TrackInEdit"];
            }

            if (model.TrackId != 0)
            {
                switch (submit)
                {
                case "Save":
                    if (ModelState.IsValid)
                    {
                        model = EditTrackDB.EditTrack(model);    //zmapować ten model, na taki, żeby widok chciał go widziec, albo przejśc na strone z detalami, to w sumie dobry pomysł chyba tak zaaraz zrobię

                        return(RedirectToAction("DetailsTrack", new { TrackId = model.TrackId }));
                    }
                    break;

                case "Search":

                    /*TODO cały mechanizm od szukajki */
                    if (model.Title != null)
                    {
                        TempData["TrackTitle"] = model.Title;
                    }
                    if (model.ReleaseDate != null)
                    {
                        Cookies.RememberDateFromModel(model.ReleaseDate);
                    }
                    TempData["TrackInEdit"] = model.TrackId;
                    return(RedirectToAction("SearchArtistEdit", new { searchString = model.SearchString }));

                default:
                    break;
                }
            }
            else
            {
                return(RedirectToAction("ListTrack"));
            }
            return(View(model));
        }
Пример #3
0
        public static string ModifyTrackSring(DetailTrackWithArtist NewModel, DetailTrackWithArtist Oldmodel)
        {
            {
                int    Numberofchange = 0;
                string sql            = @"UPDATE dbo.Track Set  ";
                if (NewModel.Title != null)
                {
                    if (NewModel.Title != Oldmodel.Title)
                    {
                        sql += "Title = @Title, ";
                        Numberofchange++;
                    }
                }


                if (NewModel.ReleaseDate != null)
                {
                    if (NewModel.ReleaseDate != Oldmodel.ReleaseDate)
                    {
                        sql += "ReleaseDate = @ReleaseDate, ";
                        Numberofchange++;
                    }
                }

                if (NewModel.ArtistIdFK != Oldmodel.ArtistIdFK)
                {
                    sql += "ArtistIdFK = @ArtistIdFK, ";
                    Numberofchange++;
                }

                sql  = sql.Remove(sql.Length - 2, 2);
                sql += "  Where TrackId = @TrackId; ";
                if (Numberofchange != 0)
                {
                    return(sql);
                }
                else
                {
                    return(null);
                }
            }
        }
        public static DetailTrackWithArtist EditTrack(DetailTrackWithArtist NewModel)
        {
            DetailTrackWithArtist OldModel = DetailTrackDB.DetailFromId(NewModel.TrackId);
            string sql = TrackFunctions.ModifyTrackSring(NewModel, OldModel);

            if (sql == null)
            {
                return(NewModel);
            }
            else
            {
                DataAccess.SaveData(sql, NewModel);
            }

            DetailTrackWithArtist NewModelfromDB = new DetailTrackWithArtist();

            NewModelfromDB = DetailTrackDB.DetailFromId(OldModel.TrackId);

            return(NewModelfromDB);
        }