Exemplo n.º 1
0
        public ActionResult Delete(int id, int trackId, Boolean creat)
        {
            setDataToView();
            ViewBag.TextBoxNameEnable = false;

            TrackModels          track    = repo.GetTrackByID(trackId);
            List <BusStopModels> busStops = track.BusStopsList;
            List <TimeModels>    times    = track.TimeToNextStopsList;

            for (int i = 0; i < busStops.Count; i++)
            {
                if (busStops[i].Id == id)
                {
                    busStops.RemoveAt(i);
                    times.RemoveAt(i);
                }
            }
            track.BusStopsList        = busStops;
            track.TimeToNextStopsList = times;
            repo.UpdateTrack(track);

            if (creat)
            {
                return(View("Create", repo.GetTrackByID(trackId)));
            }
            else
            {
                return(View("Edit", repo.GetTrackByID(trackId)));
            }
        }
        /// <summary>
        ///     Gets the index of the current track.
        /// </summary>
        /// <returns>The index of the current track.</returns>
        public int GetCurrentTrackIndex()
        {
            var currentTrack = TrackModels.FirstOrDefault(t => t.IsCurrent);

            if (currentTrack == null)
            {
                return(GetCurrentTrackIndexFromBassPlayer());
            }

            var currentBassTrackDescription = BassPlayer.CurrentTrack == null
                ? ""
                : BassPlayer.CurrentTrack.Description;

            if (currentBassTrackDescription == currentTrack.Description)
            {
                return(TrackModels.IndexOf(currentTrack));
            }

            var currentIndex = TrackModels.IndexOf(currentTrack);
            var match        = TrackModels
                               .FirstOrDefault(t => t.Description == currentBassTrackDescription &&
                                               TrackModels.IndexOf(t) >= currentIndex);

            if (match == null)
            {
                return(GetCurrentTrackIndexFromBassPlayer());
            }

            currentTrack.IsCurrent = false;
            match.IsCurrent        = true;

            return(TrackModels.IndexOf(match));
        }
Exemplo n.º 3
0
 private void button_Load_Click(object sender, RoutedEventArgs e)
 {
     foreach (TrackModel track in TraksListView.Items)
     {
         TrackModels.Add(track);
     }
 }
Exemplo n.º 4
0
        public void Button_Enter_Click(object sender, RoutedEventArgs e)
        {
            string login = textboxlogin.Text.Trim();
            string pass = passbox.Password.Trim();

            if (login.Length < 5)
            {
                textboxlogin.ToolTip = "это поле введено не корректно!";
                textboxlogin.Background = Brushes.LightBlue;
            }
            if (pass.Length < 5)
            {
                { passbox.ToolTip = "это поле введено не корректно!"; passbox.Background = Brushes.LightBlue; }
                return;
            }
            UserModel user = new UserModel { Login = login, Password = pass };
            if (!IsUserByPaswordFound(user))
            {
                { passbox.ToolTip = "логин или пароль введено не корректно!"; passbox.Background = Brushes.LightBlue; }
                return;
            }
            CurrentUser = user;
            TrackModels.Clear();
            autorizgrid.Children.Clear();
            autorizgrid.Children.Add(new HelloUser());
        }
        private void mnuTrackRank_Click(object sender, EventArgs e)
        {
            var toolStripDropDownItem = sender as ToolStripDropDownItem;

            if (toolStripDropDownItem == null)
            {
                return;
            }

            var trackRankDescription = toolStripDropDownItem.Text;
            var trackRank            = MixLibrary.GetRankFromDescription(trackRankDescription);

            var tracks = GetSelectedLibraryTracks();

            Library.SetRank(tracks, (int)trackRank);

            foreach (var track in tracks)
            {
                var trackModel = TrackModels.FirstOrDefault(t => t.Description == track.Description);
                if (trackModel == null)
                {
                    continue;
                }
                trackModel.TrackRankDescription = trackRankDescription;
            }

            //BindData();
            grdPlaylist.InvalidateDisplayedRows();
        }
Exemplo n.º 6
0
 private void button_Play_Click(object sender, RoutedEventArgs e)
 {
     if (PlayListView.SelectedItem is TrackModel track)
     {
         SelectedTrack = track;
         TrackModels.Add(track);
         Searcallhgrid.Children.Clear();
         Searcallhgrid.Children.Add(new Player());
     }
 }
Exemplo n.º 7
0
        public ActionResult DeleteTrack(int id)
        {
            TrackModels t = repo.GetTrackByID(id);

            t.BusStopsList        = null;
            t.TimeToNextStopsList = null;
            repo.UpdateTrack(t);
            repo.DeleteTrackByID(id);
            return(View("Tracks", repo.GetAllTracks()));
        }
Exemplo n.º 8
0
        public static void SaveNewPlayList(PlaylistModel model)
        {
            if (CurrentUser == null)
            {
                return;
            }
            string name = model.Name;

            using (var conn = ConnectionFactory())
            {
                var adapter = new BeautifulMusicDataSetTableAdapters.PlaylistTableAdapter {
                    Connection = conn
                };
                List <TrackModel> tracks = new List <TrackModel>();
                var listId = adapter.GetPlayListByName(name);
                int.TryParse(listId + "", out int id);
                if (id > 0)
                {
                    var trackTableAdapter = new BeautifulMusicDataSetTableAdapters.TrackTableAdapter
                    {
                        Connection = conn
                    };
                    trackTableAdapter.FillByPlayList(MusicDataSet.Track, id);
                    tracks = MusicDataSet.Track.DataTableToList <TrackModel>();
                }
                else
                {
                    var row = MusicDataSet.Playlist.NewPlaylistRow();
                    row.Name   = name;
                    row.UserId = CurrentUser.Id;
                    MusicDataSet.Playlist.AddPlaylistRow(row);
                    adapter.Update(row);
                    id = row.Id;
                }
                model.Id = id;
                TrackModels.Select(x => x.Id)
                .Except(tracks.Select(x => x.Id))
                .Distinct()
                .ToList()
                .ForEach(
                    x =>
                {
                    var row        = MusicDataSet.PlaylistTrack.NewPlaylistTrackRow();
                    row.PlaylistId = id;
                    row.TrackId    = x;
                    MusicDataSet.PlaylistTrack.AddPlaylistTrackRow(row);
                });
                var playlistTrackTableAdapter = new BeautifulMusicDataSetTableAdapters.PlaylistTrackTableAdapter
                {
                    Connection = conn
                };
                playlistTrackTableAdapter.Update(MusicDataSet.PlaylistTrack);
            }
        }
        /// <summary>
        ///     Removes the last track.
        /// </summary>
        public void RemoveLastTrack()
        {
            if (TrackModels.Count == 0)
            {
                return;
            }
            var lastTrack = TrackModels.Last();

            if (lastTrack != null)
            {
                RemoveTrack(lastTrack);
            }
        }
Exemplo n.º 10
0
        public ActionResult Create(string add, string create, TrackModels model)
        {
            setDataToView();
            if (add != null)
            {
                if (repo.GetAllTracks() == null || repo.GetAllTracks().Count == 0 || Session["TextBoxNameDisable"].Equals(false))
                {
                    if (ModelState.IsValid)
                    {
                        ViewBag.TextBoxNameEnable = false;
                        repo.AddTrack(model);
                    }
                    else
                    {
                        ViewBag.TextBoxNameEnable = true;
                        return(View(model));
                    }
                }
                else
                {
                    TrackModels track = repo.GetLastTrack();
                    ViewBag.TextBoxNameEnable = false;
                    List <BusStopModels> busStops = track.BusStopsList;
                    busStops.Add(repo.GetBusStopByID(model.BusStopId));

                    List <TimeModels> times = track.TimeToNextStopsList;
                    times.Add(repo.GetTimeByID(model.TimeId));

                    track.BusStopsList        = busStops;
                    track.TimeToNextStopsList = times;
                    repo.UpdateTrack(track);
                }
                return(View(repo.GetLastTrack()));
            }
            else
            {
                if (repo.GetLastTrack().BusStopsList.Count > 1)
                {
                    //cos tu nie gara
                    //repo.GetLastTrack().TimeToNextStopsList.Remove(repo.GetLastTrack().TimeToNextStopsList.Count() - 1);
                    return(View("Tracks", repo.GetAllTracks()));
                }
                else
                {
                    repo.DeleteTrackByID(repo.GetLastTrack().Id);
                    //ViewBag.Crete = "Trasa musi zawierac conajmniej dwa przystanki";
                    return(View("Tracks", repo.GetAllTracks()));
                }
            }
        }
Exemplo n.º 11
0
        public ActionResult Tracks(TrackModels model)
        {
            setDataToView();
            bool val1 = System.Web.HttpContext.Current.User.Identity.IsAuthenticated;

            if (val1)
            {
                return(View(model));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
        public void InsertTrackBefore(Track queueTrack)
        {
            var index = 0;

            if (grdPlaylist.SelectedRows.Count > 0)
            {
                index = grdPlaylist.SelectedRows[0].Index;
            }

            var queueTracks = new List <Track> {
                queueTrack
            };

            TrackModels.InsertRange(index, TrackModel.ToList(queueTracks, MixLibrary));
            RefreshPlaylist();
        }
Exemplo n.º 13
0
        public ActionResult EliminarCancion(TrackModels modelo)
        {
            DeleteTrackByUserReq oDeleteTrackReq  = null;
            MantenimientosLN     mantenimientosLN = new MantenimientosLN();

            try
            {
                if (modelo != null)
                {
                    oDeleteTrackReq = new DeleteTrackByUserReq();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(Json(new { respuesta = "00" }));
        }
        /// <summary>
        ///     Removes the specified tracks.
        /// </summary>
        /// <param name="tracksToRemove">The tracks to remove.</param>
        private void RemoveTracks(IReadOnlyCollection <TrackModel> tracksToRemove)
        {
            if (tracksToRemove.Count == 0)
            {
                return;
            }
            var tracks = TrackModels.Except(tracksToRemove).ToList();

            TrackModels = tracks;
            _binding    = true;
            grdPlaylist.ClearSelectedRows();
            _binding = false;
            SetNextBassPlayerTrack();
            BindData();

            PlaylistChanged?.Invoke(this, EventArgs.Empty);
            SaveWorkingPlaylist();
        }
        private int GetCurrentTrackIndexFromBassPlayer()
        {
            if (BassPlayer.CurrentTrack == null)
            {
                if (TrackModels.Count <= 0)
                {
                    return(-1);
                }
                TrackModels[0].IsCurrent = true;
                return(0);
            }
            var currentTrack = TrackModels.FirstOrDefault(t => t.Description == BassPlayer.CurrentTrack.Description);

            if (currentTrack == null)
            {
                return(-1);
            }
            currentTrack.IsCurrent = true;
            return(TrackModels.IndexOf(currentTrack));
        }
Exemplo n.º 16
0
        public ActionResult VwSongList(string id)
        {
            RetrieveTracksSavedByUserReq oTracksByUserReq = null;
            TrackModels modelo      = new TrackModels();
            ConsultasLN consultasLN = new ConsultasLN();

            try
            {
                //Consultar las canciones guardadas por un usuario
                oTracksByUserReq         = new RetrieveTracksSavedByUserReq();
                oTracksByUserReq.id_user = !String.IsNullOrEmpty(id) ? Guid.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(id))) : Guid.Empty;
                modelo.user_id           = oTracksByUserReq.id_user;
                modelo.CopyTracksByUser(consultasLN.RetrieveTracksSavedByUser(oTracksByUserReq));
            }
            catch (Exception ex)
            {
                throw;
            }

            return(View(modelo));
        }
Exemplo n.º 17
0
        public ActionResult Edit(string add, string save, TrackModels model)
        {
            setDataToView();
            ViewBag.TextBoxNameEnable = true;
            TrackModels track = repo.GetTrackByID(model.Id);

            if (track.NameTrack != model.NameTrack)
            {
                if (ModelState.IsValid)
                {
                    track.NameTrack = model.NameTrack;
                }
                else
                {
                    model.BusStopsList        = repo.GetTrackByID(model.Id).BusStopsList;
                    model.TimeToNextStopsList = repo.GetTrackByID(model.Id).TimeToNextStopsList;
                    return(View(model));
                }
            }
            if (add != null)
            {
                List <BusStopModels> busStops = track.BusStopsList;
                busStops.Add(repo.GetBusStopByID(model.BusStopId));

                List <TimeModels> times = track.TimeToNextStopsList;
                times.Add(repo.GetTimeByID(model.TimeId));

                track.BusStopsList        = busStops;
                track.TimeToNextStopsList = times;
                repo.UpdateTrack(track);

                return(View(repo.GetTrackByID(model.Id)));
            }
            else
            {
                repo.UpdateTrack(track);
                return(View("Tracks", repo.GetAllTracks()));
            }
        }
Exemplo n.º 18
0
 private void button_Clear_Click(object sender, RoutedEventArgs e)
 {
     TrackModels.Clear();
     CurrentPlayListView.ItemsSource = TrackModels;
 }
Exemplo n.º 19
0
 private void button_Out_Click(object sender, RoutedEventArgs e)
 {
     CurrentUser = null;
     btnOut.Visibility = Visibility.Hidden;
     TrackModels.Clear();
 }
Exemplo n.º 20
0
        public ActionResult SaveTrack(TrackModels modelo)
        {
            string respuesta = "00";

            ConsultasLN      consultasLN      = new ConsultasLN();
            MantenimientosLN mantenimientosLN = new MantenimientosLN();;

            RetrieveTrackXIdReq oRetTrackReq = null;
            RetrieveTrackXIdRes oRetTrackRes = null;

            SaveTrackReq oSaveTrackReq = null;
            SaveTrackRes oSaveTrackRes = null;

            RetrieveTrackXUserReq oRetTrackXUserReq = null;
            RetrieveTrackXUserRes oRetTrackXUserRes = null;

            SaveTrackXUserReq oSaveTrackXUserReq = null;
            SaveTrackXUserRes oSaveTrackXUserRes = null;

            try
            {
                if (modelo != null)
                {
                    oRetTrackReq    = new RetrieveTrackXIdReq();
                    oRetTrackReq.id = modelo.id;
                    //Consulta si la canción se encuentra en la base de datos
                    oRetTrackRes = consultasLN.RetrieveTrackXId(oRetTrackReq);

                    if (oRetTrackRes != null && oRetTrackRes.Track != null)
                    {
                        if (oRetTrackRes.Track.Count > 0)
                        {
                            modelo.track_id = oRetTrackRes.Track[0].track_id;
                        }
                        else
                        {
                            oSaveTrackReq             = new SaveTrackReq();
                            oSaveTrackReq.track_id    = Guid.NewGuid();
                            oSaveTrackReq.name        = modelo.name != null ? modelo.name : "";
                            oSaveTrackReq.spotify_url = modelo.spotify_url != null ? modelo.spotify_url : "";
                            oSaveTrackReq.href        = modelo.href != null ? modelo.href : "";
                            oSaveTrackReq.id          = modelo.id;
                            oSaveTrackReq.preview_url = modelo.preview_url != null ? modelo.preview_url : "";
                            oSaveTrackReq.uri         = modelo.uri != null ? modelo.uri : "";
                            oSaveTrackReq.image_url   = modelo.image_url != null ? modelo.image_url : "";

                            //Si la canción no se encuentra en la base de datos la inserta
                            oSaveTrackRes = mantenimientosLN.SaveTrack(oSaveTrackReq);

                            if (oSaveTrackRes != null && oSaveTrackRes.estado.Equals("00"))
                            {
                                modelo.track_id = oSaveTrackReq.track_id;
                            }
                        }

                        //Consulta si el usuario tiene la canción guardada
                        oRetTrackXUserReq          = new RetrieveTrackXUserReq();
                        oRetTrackXUserReq.id_user  = modelo.user_id;
                        oRetTrackXUserReq.track_id = modelo.id;

                        oRetTrackXUserRes = consultasLN.RetrieveTrackXUser(oRetTrackXUserReq);

                        if (oRetTrackXUserRes != null && oRetTrackXUserRes.Track != null)
                        {
                            if (oRetTrackXUserRes.Track.Count == 0)
                            {
                                oSaveTrackXUserReq          = new SaveTrackXUserReq();
                                oSaveTrackXUserReq.id_user  = modelo.user_id;
                                oSaveTrackXUserReq.track_id = modelo.id;

                                oSaveTrackXUserRes = mantenimientosLN.SaveTrackXUser(oSaveTrackXUserReq);
                            }
                        }
                        return(Json(new { respuesta = respuesta, resultado = modelo }));
                    }
                    else
                    {
                        return(Json(new { respuesta = "99" }));
                    }
                }
            }

            catch (Exception ex)
            {
            }

            return(Json(new { respuesta = "00" }));
        }
 private TrackModel SetCurrentTrack(int trackIndex)
 {
     TrackModels.ForEach(t => t.IsCurrent = false);
     TrackModels[trackIndex].IsCurrent    = true;
     return(TrackModels[trackIndex]);
 }
        private void SaveWorkingPlaylist()
        {
            var playlistFiles = TrackModels.Select(x => x.Description).ToList();

            SerializationHelper <List <string> > .ToXmlFile(playlistFiles, WorkingPlaylistFilename);
        }
        private void SetToolStripLabel()
        {
            if (ToolStripLabel == null)
            {
                return;
            }

            var text =
                $"{TrackModels.Count} tracks in playlist ({TimeFormatHelper.GetFormattedHours(TrackModels.Sum(t => t.Length))})";

            ToolStripLabel.Text = text;
        }
 /// <summary>
 ///     Gets the tracks in the play-list
 /// </summary>
 /// <returns>The tracks in the play-list</returns>
 public List <Track> GetTracks()
 {
     return(TrackModels.Select(GetLibraryTrack).ToList());
 }
 /// <summary>
 ///     Queues tracks.
 /// </summary>
 /// <param name="queueTracks">The queue tracks.</param>
 public void QueueTracks(List <Track> queueTracks)
 {
     TrackModels.AddRange(TrackModel.ToList(queueTracks, MixLibrary));
     RefreshPlaylist();
 }
 /// <summary>
 ///     Gets the last track.
 /// </summary>
 /// <returns>The last track</returns>
 public Track GetLastTrack()
 {
     return(TrackModels.Count == 0 ? null : GetLibraryTrack(TrackModels.Last()));
 }