public IActionResult Post(ToDoProject proj)
        {
            _context.ToDoProject.Add(proj);
            _context.SaveChanges();

            return(CreatedAtRoute("GetToDoProject", new { id = proj.Id }, proj));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Start playing samples
 /// </summary>
 public void Play(ToDoProject onPlayProject)
 {
     _audioController.Start();
     _onPlayTracks = new List <TrackManager>();
     // Add tracks from the solo mode,
     // or if there are none, then add all the tracks without mute mode
     if (onPlayProject.Tracks.Any(x => x.Solo))
     {
         foreach (var track in onPlayProject.Tracks.Where(x => x.Solo))
         {
             _onPlayTracks.Add(new TrackManager(track, 0));
         }
     }
     else
     {
         foreach (var track in onPlayProject.Tracks.Where(x => !x.Mute))
         {
             _onPlayTracks.Add(new TrackManager(track, 0));
         }
     }
     _position = 0;
     Tact      = 1;
     _playerTimer.Start();
     State = PlayerState.Playing;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Query database and load the information for project
 /// </summary>
 /// <param name="projectId">ID of loading project</param>
 public override void LoadData(int projectId)
 {
     this._currentProject = this.DataBaseContext.Projects.FirstOrDefault(x => x.Id == projectId);
     foreach (var track in _currentProject.Tracks)
     {
         track.Instruments = new ObservableCollection <ToDoInstrument>(this.DataBaseContext.Instruments);
     }
 }
        public IActionResult Update(int id, ToDoProject project)
        {
            var proj = _context.ToDoProject.Find(id);

            if (proj == null)
            {
                return(NotFound());
            }

            proj.Name  = project.Name;
            proj.Owner = project.Owner;

            _context.SaveChanges();
            //return the newly updated project
            return(CreatedAtRoute("GetToDoProject", new { id = proj.Id }, proj));;
        }
Ejemplo n.º 5
0
 public ActionResult AddProject(string name)
 {
     if (!User.Identity.IsAuthenticated) return Redirect(_client.OAuthCheckUrl());
     ToDoProject Project = entities.ToDoProjects.SingleOrDefault(m => m.Name == name && m.UserName == User.Identity.Name);
     if (Project == null)
     {
         ToDoProject pro = new ToDoProject();
         pro.Name = name;
         pro.UserName = User.Identity.Name;
         pro.Color = 0;
         pro.Email = false;
         entities.AddToToDoProjects(pro);
         entities.SaveChanges();
         return Json(new { code = 0, data = pro }, JsonRequestBehavior.AllowGet);
     }
     return Json(new { code = 1 }, JsonRequestBehavior.AllowGet);
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Add a project with specific name to the database and collections.
        /// </summary>
        /// <param name="projectName">Name of project</param>
        /// <returns>New project</returns>
        public ToDoProject CreateProject(string projectName)
        {
            var newProject = new ToDoProject()
            {
                Name         = projectName,
                CreationTime = DateTime.Now,
                Tempo        = 120
            };

            this.DataBaseContext.Projects.InsertOnSubmit(newProject);
            this.DataBaseContext.SubmitChanges();
            this._projectsList.Add(newProject);

            var trackName = AppResources.TrackString + " 1";
            var newTrack  = new ToDoTrack
            {
                Name       = trackName,
                ProjectRef = newProject,
                Instrument = this.DataBaseContext.Instruments.First()
            };

            this.DataBaseContext.Tracks.InsertOnSubmit(newTrack);
            this.DataBaseContext.SubmitChanges();
            newProject.Tracks.Add(newTrack);

            var sample = new ToDoSample
            {
                InitialTact = 1,
                Size        = 4,
                TrackRef    = newTrack,
                Name        = newTrack.Name + "_" + newTrack.Samples.Count
            };

            this.DataBaseContext.Samples.InsertOnSubmit(sample);
            this.DataBaseContext.SubmitChanges();
            newTrack.Samples.Add(sample);

            return(newProject);
        }