public TrackViewModel(Model.Track track) { Sessions = new ObservableCollection<SessionViewModel>(); Speakers = new ObservableCollection<SpeakerViewModel>(); this.track = track; var sessions = (from s in App.Event.Sessions where s.Track == track.Name select s).ToList(); foreach (Model.Session session in sessions) Sessions.Add(new SessionViewModel(session)); var speakerNames = (from s in sessions select s.Speaker).Distinct(); foreach (string name in speakerNames) { Model.Speaker speaker = (from s in App.Event.Speakers where s.Name == name select s).FirstOrDefault(); if (speaker != null) Speakers.Add(new SpeakerViewModel(speaker, false)); } }
public void Delete(Track model) { #region 取資料 Model.Track query = this.Get(model.ID_Track); //var queryoverseastaff = this._overseaService.GetForOverType(query.ID_OverType); #endregion #region 邏輯驗證 if (query == null)//沒有資料 { throw new Exception("MessageNoData".ToLocalized()); } //驗證 //if (queryoverseastaff == null)//沒有資料 // throw new Exception("MessageDataHasLinking".ToLocalized()); #endregion #region 變為Models需要之型別及邏輯資料 #endregion #region Models資料庫 this._repository.Delete(query); this._unitOfWork.SaveChange(); #endregion }
private void btnAddTrack_Click(object sender, EventArgs e) { try { var selectedRow = dgvAllTracks.CurrentRow; if (!_albumTracks.Select(i => i.ID).ToList().Contains(Convert.ToInt32(selectedRow.Cells["ID"].Value))) { var track = new Model.Track() { ID = Convert.ToInt32(selectedRow.Cells["ID"].Value), Name = Convert.ToString(selectedRow.Cells["Name"].Value), Length = Convert.ToString(selectedRow.Cells["Length"].Value) }; _albumTracks.Add(track); var request = new TrackSearchRequest() { Page = _albumTracksPage, ItemsPerPage = _itemsPerPage }; LoadListAlbumTracks(request); } } catch (Exception exception) { MessageBox.Show(exception.Message); } }
public UninitializedTrackData GetData(Model.Track track) { if (m_uninitializedTrackData.TryGetValue(track, out var data)) { return(data); } return(null); }
private void Configure(Model.Track track, GameObject instance) { instance.hideFlags = HideFlags.DontSaveInEditor; instance.GetOrCreateComponent <OnSelectionProxy>().Component = track; foreach (Transform child in instance.transform) { Configure(track, child.gameObject); } }
public TrackViewModel(SequencerViewModel sequencer, Model.Track model) { this.sequencer = sequencer; this.model = model; ForwardPropertyEvents(nameof(model.Label), model, nameof(Label)); ForwardPropertyEvents(nameof(sequencer.SelectedTrack), sequencer, nameof(IsSelected)); Blocks = model.Blocks.Select(b => BlockViewModel.FromModel(sequencer, b)); }
public MusicPlayerPage(Model.Track track, IEnumerable <Model.Track> tracks, Image coverImage) { InitializeComponent(); ObservableCollection <Model.Track> queue = null; if (tracks != null) { queue = new ObservableCollection <Model.Track>(tracks); } BindingContext = model = new MusicPlayerViewModel(track, queue, coverImage); }
public void Update(Model.Track track) { var reqUpdate = TrackWheels.Length != track.Wheels.Length || Track.NumberOfNodes != track.NumberOfNodes || !Math.Approximately(Track.Width, track.Width) || !Math.Approximately(Track.Thickness, track.Thickness) || !Math.Approximately(Track.InitialTensionDistance, track.InitialTensionDistance); if (!reqUpdate) { for (int i = 0; !reqUpdate && i < TrackWheels.Length; ++i) { var trackWheelDef = TrackWheels[i]; var trackWheel = track.Wheels[i]; reqUpdate = trackWheelDef.WheelModel != trackWheel.Model || !Math.Approximately(trackWheelDef.Radius, trackWheel.Radius) || Vector3.SqrMagnitude(trackWheelDef.Position - trackWheel.transform.position) > 1.0E-5f || Vector3.SqrMagnitude(trackWheelDef.LocalPosition - trackWheel.Frame.LocalPosition) > 1.0E-5f || (Quaternion.Inverse(trackWheelDef.Rotation) * trackWheel.transform.rotation).eulerAngles.sqrMagnitude > 1.0E-5f || (Quaternion.Inverse(trackWheelDef.LocalRotation) * trackWheel.Frame.LocalRotation).eulerAngles.sqrMagnitude > 1.0E-5f; } } if (!reqUpdate) { return; } Track = new TrackDesc() { NumberOfNodes = track.NumberOfNodes, Width = track.Width, Thickness = track.Thickness, InitialTensionDistance = track.InitialTensionDistance }; TrackWheels = new TrackWheelDesc[track.Wheels.Length]; for (int i = 0; i < TrackWheels.Length; ++i) { TrackWheels[i].WheelModel = track.Wheels[i].Model; TrackWheels[i].Radius = track.Wheels[i].Radius; TrackWheels[i].Position = track.Wheels[i].transform.position; TrackWheels[i].Rotation = track.Wheels[i].transform.rotation; TrackWheels[i].LocalPosition = track.Wheels[i].Frame.LocalPosition; TrackWheels[i].LocalRotation = track.Wheels[i].Frame.LocalRotation; } var nodes = agxVehicle.agxVehicleSWIG.findTrackNodeConfiguration(new agxVehicle.TrackDesc((ulong)Track.NumberOfNodes, Track.Width, Track.Thickness, Track.InitialTensionDistance), new agxVehicle.TrackWheelDescVector((from wheelDef in TrackWheels select wheelDef.Native).ToArray())); TrackNodes = (from node in nodes select TrackNodeDesc.Create(node)).ToArray(); }
public bool DrawGizmosUninitialized(Model.Track track, Color color) { if (track == null) { return(false); } var data = GetData(track); if (data == null) { return(false); } if (m_gizmosMesh == null) { if (Resource == null) { return(false); } var filters = Resource.GetComponentsInChildren <MeshFilter>(); if (filters.Length == 0) { return(false); } var combines = new CombineInstance[filters.Length]; for (int i = 0; i < combines.Length; ++i) { combines[i].mesh = filters[i].sharedMesh; combines[i].transform = filters[i].transform.localToWorldMatrix; } m_gizmosMesh = new Mesh(); m_gizmosMesh.CombineMeshes(combines); } Gizmos.color = color; foreach (var node in data.TrackNodes) { Gizmos.DrawWireMesh(m_gizmosMesh, node.Position + node.Rotation * (node.HalfExtents.z * Vector3.forward), node.Rotation, 2.0f * node.HalfExtents); } return(true); }
/// <summary> /// Writes track to stream /// </summary> /// <param name="track">track to write</param> private void Write(Model.Track track) { var settings = new XmlWriterSettings(); using var writer = XmlWriter.Create(this.stream, settings); writer.WriteStartDocument(); writer.WriteStartElement("gpx", "http://www.topografix.com/GPX/1/1"); writer.WriteAttributeString("version", "1.1"); writer.WriteAttributeString("creator", "Where-to-fly"); writer.WriteStartElement("trk"); writer.WriteElementString("name", track.Name); writer.WriteStartElement("trkseg"); var numberFormat = System.Globalization.CultureInfo.InvariantCulture.NumberFormat; foreach (var trackPoint in track.TrackPoints) { writer.WriteStartElement("trkpt"); writer.WriteAttributeString("lat", trackPoint.Latitude.ToString(numberFormat)); writer.WriteAttributeString("lon", trackPoint.Longitude.ToString(numberFormat)); if (trackPoint.Altitude.HasValue) { writer.WriteElementString("ele", trackPoint.Altitude.Value.ToString(numberFormat)); } if (trackPoint.Time.HasValue) { writer.WriteElementString("time", trackPoint.Time.Value.ToString("o")); } // unfortunately there's no way to store trackPoint.Heading writer.WriteEndElement(); // trkpt } writer.WriteEndElement(); // trkseg writer.WriteEndElement(); // trk writer.WriteEndElement(); // gpx writer.WriteEndDocument(); }
/* * // Handling Drag drop files event * private async void Grid_Drop(object sender, System.Windows.DragEventArgs e) * { * // Get all dropped files/folders * string[] _files = (string[])e.Data.GetData(System.Windows.DataFormats.FileDrop, false); * List<string> _directories = new List<string>(); * * Parallel.ForEach(_files, f => * { * if (Directory.Exists(f)) * { * // If f is an directory => scan f * _directories.AddRange(Core.Utils.ScanFolder(f)); * } * else * { * // If f is a file => collect * _directories.Add(f); * } * }); * * // Handle tracks * await Core.Utils.TrackProcess(this, _directories); * * MainWindowViewModel.Instance.MusicManager.LoadApplicationPlaylist(); * } * * // Handling Effect when it has drag enter event * private void Grid_DragEnter(object sender, System.Windows.DragEventArgs e) * { * e.Effects = System.Windows.DragDropEffects.Move; * } */ #endregion // Handling ToggleButton is clicked event private void ToggleButton_Click(object sender, RoutedEventArgs e) { //ToggleButton _heart = (ToggleButton)sender; var instance = this.DataContext as MainWindowViewModel; // Push value down to model Model.Track _track = ((ToggleButton)sender).DataContext as Model.Track; Updater.UpdateOnlyFavourite2DB(_track.ID, _track.IsFavourite); if (instance.MusicManager.SelectedPlaylist.Prio == Playlist.Priority.User) { instance.MusicManager.AllSongs.ListTrack.FirstOrDefault(item => item.ID == _track.ID).IsFavourite = _track.IsFavourite; for (int i = 0; i < instance.MusicManager.Playlists.Count; i++) { if (instance.MusicManager.Playlists[i].Name != instance.MusicManager.SelectedPlaylist.Name) { for (int j = 0; j < instance.MusicManager.Playlists[i].ListTrack.Count; j++) { if (instance.MusicManager.Playlists[i].ListTrack[i].ID == _track.ID) { instance.MusicManager.Playlists[i].ListTrack[j].IsFavourite = _track.IsFavourite; } } } } } else { for (int i = 0; i < instance.MusicManager.Playlists.Count; i++) { if (instance.MusicManager.Playlists[i].Name != instance.MusicManager.SelectedPlaylist.Name) { for (int j = 0; j < instance.MusicManager.Playlists[i].ListTrack.Count; j++) { if (instance.MusicManager.Playlists[i].ListTrack[i].ID == _track.ID) { instance.MusicManager.Playlists[i].ListTrack[j].IsFavourite = _track.IsFavourite; } } } } } }
public Track Map(Model.Track track, SoundCloudMusicProvider musicProvider, string user, bool mapArtists = false) { var trackLink = track.id; var trackResult = new Track { Link = trackLink.ToString(CultureInfo.InvariantCulture), Name = track.title, IsAvailable = track.streamable, Duration = new TimeSpan(0, 0, 0, 0, track.duration), DurationMilliseconds = track.duration, MusicProvider = musicProvider.Descriptor, TrackArtworkUrl = track.artwork_url ?? "content/styles/Images/soundcloud-icon.png", ExternalLink = new Uri(track.permalink_url) }; alreadyQueuedHelper.ResetAlreadyQueued((trackResult), user); return(trackResult); }
private async void ucTrackEdit_Load(object sender, EventArgs e) { var artists = await _artistApiService.Get <List <Model.Artist> >(null); var featuredArtists = new List <Model.Artist>(artists); var genres = await _genreApiService.Get <List <Model.Genre> >(null); BindComboList(cbMainArtist, artists); BindComboList(cbFeaturedArtist, featuredArtists); BindComboList(cbGenre, genres); BindListBox <Model.Artist>(lbFeaturedArtists, null); BindListBox <Model.Genre>(lbGenres, null); if (_ID.HasValue) { _track = await _trackApiService.GetById <Model.Track>(_ID); txtName.Text = _track.Name; txtLength.Text = _track.Length; //Set Main Artist cbMainArtist.SelectedValue = _track.TrackArtists .Where(i => i.TrackArtistRole == "Main") .SingleOrDefault().ArtistID; //Get Track Featured Artists IDs var trackFeaturedArtistsIDs = _track.TrackArtists .Where(i => i.TrackArtistRole == "Feature") .Select(i => i.ArtistID) .ToList(); //Filter Artists by Track Featured Artists IDs var trackFeaturedArtists = artists .Where(i => trackFeaturedArtistsIDs.Any(id => id.Equals(i.ID))) .ToList(); BindListBox(lbFeaturedArtists, trackFeaturedArtists); //Get Track Genres IDs var trackGenresIDs = _track.TrackGenres .Select(i => i.GenreID) .ToList(); //Filter Genres by Track Genres IDs var trackGenres = genres .Where(i => trackGenresIDs.Any(id => id.Equals(i.ID))) .ToList(); BindListBox(lbGenres, trackGenres); //Load Track if (_track.MP3File.Length != 0) { Guid g = Guid.NewGuid(); string file = _track.Name + "-" + g.ToString() + ".mp3"; File.WriteAllBytes(file, _track.MP3File); MediaPlayer.URL = file; MediaPlayer.Ctlcontrols.stop(); } } }
protected override void Seed(SeminarDbContext context) { #region Locations var locationLondon = new Model.Location { Name = "London", Building = "Central Building", RoomNumber = "B101" }; var locationVienna = new Model.Location { Name = "Vienna", Building = "Central Building", RoomNumber = "B102" }; var locationSydney = new Model.Location { Name = "Sydney", Building = "Central Building", RoomNumber = "B103" }; var locationNewYork = new Model.Location { Name = "New York", Building = "Central Building", RoomNumber = "B104" }; var locationMoscow = new Model.Location { Name = "Moscow", Building = "Central Building", RoomNumber = "B105" }; context.Locations.Add(locationLondon); context.Locations.Add(locationVienna); context.Locations.Add(locationSydney); context.Locations.Add(locationNewYork); context.Locations.Add(locationMoscow); context.SaveChanges(); #endregion #region Tracks var trackWebDevelopment = new Model.Track { Name = "Web Development" }; var trackMobileDevelopment = new Model.Track { Name = "Mobile Development" }; var trackClientSide = new Model.Track { Name = "Client Side Development" }; var trackServerSide = new Model.Track { Name = "Server Side Development" }; var trackJavascript = new Model.Track { Name = "Javascript Frameworks" }; context.Tracks.Add(trackWebDevelopment); context.Tracks.Add(trackMobileDevelopment); context.Tracks.Add(trackClientSide); context.Tracks.Add(trackServerSide); context.Tracks.Add(trackJavascript); context.SaveChanges(); #endregion #region Levels var levelBeginner = new Model.Level { Name = "Beginner", Scaling = 1 }; var levelIntermediate = new Model.Level { Name = "Intermediate", Scaling = 2 }; var levelExpert = new Model.Level { Name = "Expert", Scaling = 3 }; var levelMaster = new Model.Level { Name = "Master", Scaling = 4 }; context.Levels.Add(levelBeginner); context.Levels.Add(levelIntermediate); context.Levels.Add(levelExpert); context.Levels.Add(levelMaster); context.SaveChanges(); #endregion #region Seminars context.Seminars.Add(new Seminar { Title = "AngularJS 101", Code = "AJS101", Description = "An overview of AngularJS", Level = levelIntermediate, Location = locationSydney, Track = trackJavascript, Date = DateTime.Now.AddDays(5) }); context.Seminars.Add(new Seminar { Title = "Introduction to MVC", Code = "MVC101", Description = "An overview of ASP.NET MVC", Level = levelIntermediate, Location = locationMoscow, Track = trackServerSide, Date = DateTime.Now.AddDays(2) }); context.Seminars.Add(new Seminar { Title = "Windows Phone Fundamentals", Code = "WPH101", Description = "An overview of Windows Phone", Level = levelBeginner, Location = locationNewYork, Track = trackMobileDevelopment, Date = DateTime.Now.AddDays(-2) }); context.Seminars.Add(new Seminar { Title = "Advanced AngularJS", Code = "AJS789", Description = "An advanced look at AngularJS", Level = levelMaster, Location = locationLondon, Track = trackJavascript, Date = DateTime.Now.AddDays(10) }); context.Seminars.Add(new Seminar { Title = "Advanced MVC", Code = "MVC987", Description = "An advanced look at ASP.NET MVC", Level = levelExpert, Location = locationVienna, Track = trackServerSide, Date = DateTime.Now.AddDays(6) }); context.SaveChanges(); #endregion base.Seed(context); }
/// <summary> /// Writes a track to a stream /// </summary> /// <param name="stream">stream to write to</param> /// <param name="track">track to write</param> public static void WriteTrack(Stream stream, Model.Track track) { var writer = new GpxWriter(stream); writer.Write(track); }
/// <summary> /// Writes a track to a file /// </summary> /// <param name="filename">filename to write to</param> /// <param name="track">track to write</param> public static void WriteTrack(string filename, Model.Track track) { using var fileStream = new FileStream(filename, FileMode.Create); WriteTrack(fileStream, track); }