Ejemplo n.º 1
0
        public DrumManager UpdateDrumManager(int drumManagerId, DrumManager drumManagerDetail)
        {
            if (!DrumManagerExists(drumManagerId))
            {
                throw new BadRequestException($"Drum Manager with Id {drumManagerId} doesn't exist.", BadRequestException.DRUM_MANAGER_DOESNT_EXISTS);
            }
            else
            {
                DrumManager drumManager = _dbContext.DrumManagers.FirstOrDefault(dm => dm.Id.Equals(drumManagerId));

                drumManager.Name         = drumManagerDetail.Name;
                drumManager.ContactEmail = drumManagerDetail.ContactEmail;

                try
                {
                    _dbContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw new BadRequestException(ex.ToString());
                }
                return(new DrumManager
                {
                    Id = drumManager.Id,
                    Name = drumManager.Name,
                    ContactEmail = drumManager.ContactEmail
                });
            }
        }
Ejemplo n.º 2
0
        public DrumDetailDto UpdateDrum(int drumId, DrumCreateDto drumDetail)
        {
            if (!DrumExists(drumId))
            {
                throw new BadRequestException($"Drum with Id {drumId} doesn't exist.", BadRequestException.DRUM_DOESNT_EXISTS);
            }
            else
            {
                //get drum manager, site and status id
                DrumManager dm  = _dbContext.DrumManagers.FirstOrDefault(d => d.Name == drumDetail.DrumManager);
                Site        st  = _dbContext.Sites.FirstOrDefault(s => s.Name == drumDetail.Site);
                Status      sts = _dbContext.Status.FirstOrDefault(stt => stt.Status_name == drumDetail.Status);
                if (dm == null)
                {
                    throw new BadRequestException($"Drum Manager with name {drumDetail.DrumManager} doesn't exist.", BadRequestException.WRONG_DRUM_MANAGER_NAME);
                }
                if (st == null)
                {
                    throw new BadRequestException($"Drum Manager with name {drumDetail.Site} doesn't exist.", BadRequestException.WRONG_SITE_NAME);
                }
                if (sts == null)
                {
                    throw new BadRequestException($"Drum Manager with name {drumDetail.Status} doesn't exist.", BadRequestException.WRONG_STATUS_NAME);
                }

                Drum drum = _dbContext.Drums.FirstOrDefault(d => d.Id.Equals(drumId));

                drum.DrumNumber       = drumDetail.DrumNumber;
                drum.DrumManager_Id   = dm.Id;
                drum.Latitude         = drumDetail.Latitude;
                drum.Longitude        = drumDetail.Longitude;
                drum.InPositionSince  = drumDetail.InPositionSince;
                drum.Site_Id          = st.Id;
                drum.Status_Id        = sts.Id;
                drum.LastStatusUpdate = DateTime.UtcNow;

                try
                {
                    _dbContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw new BadRequestException(ex.ToString());
                }
                return(new DrumDetailDto
                {
                    Id = drum.Id,
                    DrumNumber = drum.DrumNumber,
                    CreatedOn = drum.CreatedOn,
                    InPositionSince = drum.InPositionSince,
                    Latitude = drum.Latitude,
                    Longitude = drum.Longitude,
                    DrumManager = drum.DrumManager.Name,
                    Site = drum.Site.Name,
                    Status = drum.Status.Status_name,
                    LastStatusUpdate = drum.LastStatusUpdate
                });
            }
        }
Ejemplo n.º 3
0
        public void Post([FromBody] MidiTrigger value)
        {
            var i = new DrumManager(string.Empty).Triggers.FindIndex(x => x.PinNumber == value.PinNumber);

            if (1 > -1)
            {
                new DrumManager(string.Empty).Triggers[i] = value;
            }
        }
Ejemplo n.º 4
0
 private void LoadSettingsFromEeprom()
 {
     PlotCurrentPinValues = false;
     DrumManager.LoadSettingsFromEeprom();
     TriggerCollection.ForEach(x => x.RaisePropertiesChanged());
     TriggerCollection.ForEach(trigger =>
                               _eventAggregator.GetEvent <TriggerActiveChangedEvent>().Publish(
                                   new KeyValuePair <Pins, bool>(trigger.Trigger.PinNumber,
                                                                 trigger.TriggerType != TriggerType.Disabled)));
 }
Ejemplo n.º 5
0
 private void button1_Click(object sender, EventArgs e)
 {
     using (var dm = new DrumManager(Factory.GetPortNames()[0]))
     {
         dm.Triggers.ElementAt(2).Threshold = 100;
         dm.SaveSettings();
         dm.LoadSettings();
         MessageBox.Show(dm.Triggers.ElementAt(2).Threshold.ToString());
     }
 }
Ejemplo n.º 6
0
        public IHttpActionResult PostDrumManager(DrumManager drumManager)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            DrumManager drumManagerCreate = _drumManagerService.CreatDrumManager(drumManager);

            return(Ok(drumManagerCreate));
        }
Ejemplo n.º 7
0
        public IHttpActionResult PutDrumManager(int id, DrumManager drumManager)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            DrumManager drumManagerUp = _drumManagerService.UpdateDrumManager(id, drumManager);

            return(Ok(drumManagerUp));
        }
Ejemplo n.º 8
0
        public IHttpActionResult GetDrumManager(int id)
        {
            DrumManager drumManager = _drumManagerService.GetDrumManagerById(id);

            if (drumManager == null)
            {
                return(StatusCode(HttpStatusCode.NoContent));
            }

            return(Ok(drumManager));
        }
Ejemplo n.º 9
0
        private void OnDrumManagerChanged(DrumManager drumManager)
        {
            PlotCurrentPinValues = false;
            DrumManager?.Dispose();
            DrumManager       = drumManager;
            TriggerCollection = new ObservableCollection <MidiTriggerViewModel>();

            (DrumManager?.Triggers ?? Enumerable.Empty <MidiTrigger>()).ForEach(trigger =>
                                                                                _eventAggregator.GetEvent <PubSubEvent <MidiTrigger> >().Publish(trigger));

            SelectedTrigger = null;
        }
Ejemplo n.º 10
0
 private void GetPinsThreadCallback()
 {
     while (true)
     {
         if (DrumManager == null || !PlotCurrentPinValues)
         {
             continue;
         }
         lock (_pinValuesLock)
             _pinValues.Add(DateTime.Now, DrumManager.GetAllPinValues());
         Thread.Sleep(1);
     }
 }
Ejemplo n.º 11
0
        public MidiTriggerViewModel(IEventAggregator eventAggregator, DrumManager drumManager, MidiTrigger trigger)
        {
            _eventAggregator = eventAggregator;
            _drumManager     = drumManager;
            Trigger          = trigger;

            TriggerCurvePlot = new PlotModel {
                Title = "Curve"
            };
            TriggerCurvePlot.Axes.Add(new LinearAxis
            {
                Position        = AxisPosition.Left,
                Minimum         = byte.MinValue,
                Maximum         = byte.MaxValue,
                AbsoluteMinimum = byte.MinValue,
                AbsoluteMaximum = byte.MaxValue,
                IsZoomEnabled   = true,
                IsPanEnabled    = true
            });
            TriggerCurvePlot.Axes.Add(new LinearAxis
            {
                Position        = AxisPosition.Bottom,
                Minimum         = byte.MinValue,
                Maximum         = byte.MaxValue,
                AbsoluteMinimum = byte.MinValue,
                AbsoluteMaximum = byte.MaxValue,
                IsZoomEnabled   = true,
                IsPanEnabled    = true
            });

            BuildPlot();

            if (Trigger.Curve != null)
            {
                Trigger.Curve.CurvePropertyChanged += OnCurvePropertyChanged;
            }
            if (Modifications != null)
            {
                Modifications.CollectionChanged += OnCurvePropertyChanged;
                //Modifications.Add(new KeyValuePair<byte, byte>(127, 0));
            }
        }
Ejemplo n.º 12
0
        public void DeleteDrumManagerById(int id)
        {
            DrumManager drumManager = _dbContext.DrumManagers.FirstOrDefault(dm => dm.Id == id);

            if (drumManager == null)
            {
                throw new NotFoundException <DrumManager>(id);
            }

            _dbContext.DrumManagers.Remove(drumManager);

            try
            {
                _dbContext.SaveChanges();
            }
            catch (Exception ex)
            {
                throw new BadRequestException(ex.ToString());
            }
        }
Ejemplo n.º 13
0
        public DrumManager CreatDrumManager(DrumManager createDrumManager)
        {
            if (_dbContext.DrumManagers.FirstOrDefault(dm => dm.Name == createDrumManager.Name) != null)
            {
                throw new BadRequestException($"Drum Manager with name {createDrumManager.Name} already exist.", BadRequestException.DUPLICATE_DRUM_MANAGER_NAME);
            }
            else
            {
                DrumManager drumManager = _dbContext.DrumManagers.Add(createDrumManager);

                try
                {
                    _dbContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw new BadRequestException(ex.ToString());
                }
                return(drumManager);
            }
        }
Ejemplo n.º 14
0
 private void Form1_Load(object sender, EventArgs e)
 {
     textBox1.Text = String.Join("\n", DrumManager.getCOMPorts());
 }
Ejemplo n.º 15
0
        public DrumDetailDto CreatDrum(string drumNumber, string drumManagerName, string siteName, string statusName, double?latitude, double?longitude)
        {
            if (_dbContext.Drums.FirstOrDefault(d => d.DrumNumber == drumNumber) != null)
            {
                throw new BadRequestException($"Drum with drumNumber {drumNumber} already exist.", BadRequestException.DUPLICATE_DRUM_NB);
            }
            else
            {
                //get drum manager, site and status id
                DrumManager dm  = _dbContext.DrumManagers.FirstOrDefault(d => d.Name == drumManagerName);
                Site        st  = _dbContext.Sites.FirstOrDefault(s => s.Name == siteName);
                Status      sts = _dbContext.Status.FirstOrDefault(stt => stt.Status_name == statusName);
                if (dm == null)
                {
                    throw new BadRequestException($"Drum Manager with name {drumManagerName} doesn't exist.", BadRequestException.WRONG_DRUM_MANAGER_NAME);
                }
                if (st == null)
                {
                    throw new BadRequestException($"Site with name {siteName} doesn't exist.", BadRequestException.WRONG_SITE_NAME);
                }
                if (sts == null)
                {
                    throw new BadRequestException($"Status with name {statusName} doesn't exist.", BadRequestException.WRONG_STATUS_NAME);
                }

                Drum createDrum = new Drum()
                {
                    DrumNumber       = drumNumber,
                    DrumManager_Id   = dm.Id,
                    Site_Id          = st.Id,
                    Status_Id        = sts.Id,
                    CreatedOn        = DateTime.UtcNow,
                    InPositionSince  = DateTime.UtcNow,
                    Latitude         = latitude,
                    Longitude        = longitude,
                    LastStatusUpdate = DateTime.UtcNow
                };
                Drum drum = _dbContext.Drums.Add(createDrum);

                try
                {
                    _dbContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw new BadRequestException(ex.ToString());
                }
                return(new DrumDetailDto
                {
                    Id = drum.Id,
                    DrumNumber = drum.DrumNumber,
                    CreatedOn = drum.CreatedOn,
                    InPositionSince = drum.InPositionSince,
                    Latitude = drum.Latitude,
                    Longitude = drum.Longitude,
                    DrumManager = drum.DrumManager.Name,
                    Site = drum.Site.Name,
                    Status = drum.Status.Status_name,
                    LastStatusUpdate = drum.LastStatusUpdate
                });
            }
        }