示例#1
0
        private void AddClientDeviceClick(object sender, EventArgs e)
        {
            AddDevice f = new AddDevice(ShowPlaces.podatnik);

            if (f.ShowDialog() == DialogResult.OK)
            {
                using (InzynierkaDBEntities db = new InzynierkaDBEntities())
                {
                    db.Urzadzenie.Add(f.NewDevice);
                    SerwisUrzadzenia su = new SerwisUrzadzenia()
                    {
                        urzadzenie_id  = f.NewDevice.urzadzenie_id,
                        usluga_id      = db.Uslugi.Where(x => x.nazwa == "Przegląd").Select(x => x.usluga_id).First(),
                        data_przyjecia = (DateTime)f.NewDevice.nastepny_przeglad
                    };
                    foreach (GrupaNaprawcza d in f.Groups)
                    {
                        db.GrupaNaprawcza.Add(d);
                    }

                    db.SerwisUrzadzenia.Add(su);
                    db.SaveChanges();
                }
            }
        }
        public async Task <IActionResult> AddOrEdit(IoTDevice IoTdevice)
        {
            if (ModelState.IsValid)
            {
                string deviceName;
                var    userId = _httpContextAccessor.HttpContext.User?.Claims?
                                .FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;

                var Uid = _context.Users.FirstOrDefault(x => x.Id == userId);
                IoTdevice.UserId = userId;
                if (IoTdevice.DeviceId == 0)
                {
                    IoTdevice.CurrentCoffeeWeight = IoTdevice.CoffeeHopperCapacity;
                    IoTdevice.CurrentWaterWeight  = IoTdevice.WaterHopperCapacity;
                    _context.Add(IoTdevice);
                    deviceName = IoTdevice.ModelName.Replace(" ", "") + userId;
                    AddDevice addDevice = new AddDevice(deviceName, true);
                    //addDevices.Add(addDevice);
                    IoTdevice.ConnectionString = addDevice.GetConnectionSrting();
                }
                else
                {
                    _context.Update(IoTdevice);
                }
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(IoTdevice));
        }
示例#3
0
        public AddDeviceVM(Window view, HomeVM home)
        {
            homeVM    = home;
            this.view = view;
            Subs      = homeVM.Substations;

            addDeviceCmd = new AddDevice(this);
        }
示例#4
0
 private void Connected(IDeviceBLE pDevice)
 {
     if (pDevice == null)
     {
         return;
     }
     Debug.WriteLine("Connected to device : " + pDevice.Name);
     AddDevice?.Invoke(pDevice);
 }
        // GET: Device/Delete/5
        public async Task <IActionResult> Delete(int?id)
        {
            var IoTdevice = await _context.IoTDevices.FindAsync(id);

            string deviceName = IoTdevice.ModelName.Replace(" ", "") + IoTdevice.UserId;
            //AddDevice addDevice = addDevices.Find(x => x.id == deviceName);
            //await addDevice.DeleteDevice(deviceName);
            AddDevice adddevice = new AddDevice(deviceName, false);
            await adddevice.DeleteDevice(deviceName);

            //addDevices.Remove(adddevice);

            _context.IoTDevices.Remove(IoTdevice);
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
示例#6
0
        public ShowPlaces(Podatnik p)
        {
            InitializeComponent();
            this.Dock = DockStyle.Fill;
            if (MainForm.serwisantID != -1 || MainForm.adminID != -1)
            {
                linkAddDevice.Visible  = true;
                linkEditDevice.Visible = true;
            }
            podatnik = p;
            LoadClientPlaces(p);
            HideLabelsAndIcons();

            lbl.Text       = "Miejsca instalacji kontrahenta: ";
            lblClient.Text = p.nazwa;

            if (dgvPlaces.Rows.Count == 0)
            {
                NoDevicesWarning ndw = new NoDevicesWarning();
                if (ndw.ShowDialog() == DialogResult.OK)
                {
                    AddDevice f = new AddDevice(p);
                    if (f.ShowDialog() == DialogResult.OK)
                    {
                        using (InzynierkaDBEntities db = new InzynierkaDBEntities())
                        {
                            db.Urzadzenie.Add(f.NewDevice);
                            SerwisUrzadzenia su = new SerwisUrzadzenia()
                            {
                                urzadzenie_id  = f.NewDevice.urzadzenie_id,
                                usluga_id      = db.Uslugi.Where(x => x.nazwa == "Przegląd").Select(x => x.usluga_id).First(),
                                data_przyjecia = DateTime.Now
                            };
                            db.SerwisUrzadzenia.Add(su);
                            foreach (GrupaNaprawcza g in f.Groups)
                            {
                                db.GrupaNaprawcza.Add(g);
                            }
                            db.SaveChanges();
                        }
                    }
                }
                LoadClientPlaces(p);
            }
        }
示例#7
0
        private void EditDeviceClick(object sender, EventArgs e)
        {
            Urzadzenie edited      = new Urzadzenie();
            String     nrUnikatowy = ShowDevices.selectedRow.Cells["Nr.Unikatowy"].Value.ToString();

            using (InzynierkaDBEntities db = new InzynierkaDBEntities())
            {
                edited =
                    db.Urzadzenie.Where(x => x.nr_unikatowy ==
                                        nrUnikatowy
                                        ).First();
            }

            AddDevice f = new AddDevice(edited);

            if (f.ShowDialog() == DialogResult.OK)
            {
                int id = edited.urzadzenie_id;
                using (InzynierkaDBEntities db = new InzynierkaDBEntities())
                {
                    var toDelete = db.GrupaNaprawcza.Where(x => x.urzadzenie_id == id).ToList();
                    db.GrupaNaprawcza.RemoveRange(toDelete);
                    foreach (GrupaNaprawcza gn in f.Groups)
                    {
                        db.GrupaNaprawcza.Add(gn);
                    }
                    db.SaveChanges();
                }

                string updateQuery =
                    "UPDATE Urzadzenie SET " +
                    "podatnik_id = " + f.NewDevice.podatnik_id + ", " +
                    "miejsce_id = '" + f.NewDevice.miejsce_id + "', " +
                    "nr_ewidencyjny = '" + f.NewDevice.nr_ewidencyjny + "', " +
                    "nr_unikatowy = '" + f.NewDevice.nr_unikatowy + "', " +
                    "data_uruchomienia = '" + f.NewDevice.data_uruchomienia + "', " +
                    "nr_fabryczny = '" + f.NewDevice.nr_fabryczny + "', " +
                    "ostatni_przeglad = '" + f.NewDevice.ostatni_przeglad + "', " +
                    "nastepny_przeglad = '" + f.NewDevice.nastepny_przeglad + "' " +
                    "WHERE urzadzenie_id = " + id + ";";
                SQL.DoQuery(updateQuery);
            }
        }
示例#8
0
        private void AddDeviceClick(object sender, EventArgs e)
        {
            AddDevice f;

            if (ShowDevices.miejsceID == 0)
            {
                f = new AddDevice();
            }
            else
            {
                using (InzynierkaDBEntities db = new InzynierkaDBEntities())
                {
                    f = new AddDevice(
                        db.Miejsce_instalacji.Where(x => x.miejsce_id == ShowDevices.miejsceID).First(),
                        db.Podatnik.Where(x => x.podatnik_id == ShowDevices.podatnikID).First()
                        );
                }
            }

            if (f.ShowDialog() == DialogResult.OK)
            {
                using (InzynierkaDBEntities db = new InzynierkaDBEntities())
                {
                    db.Urzadzenie.Add(f.NewDevice);
                    SerwisUrzadzenia su = new SerwisUrzadzenia()
                    {
                        urzadzenie_id  = f.NewDevice.urzadzenie_id,
                        usluga_id      = db.Uslugi.Where(x => x.nazwa == "Przegląd").Select(x => x.usluga_id).First(),
                        data_przyjecia = DateTime.Now
                    };
                    db.SerwisUrzadzenia.Add(su);
                    foreach (GrupaNaprawcza gn in f.Groups)
                    {
                        db.GrupaNaprawcza.Add(gn);
                    }
                    db.SaveChanges();
                }
            }
        }
 // dodawanie sprzętu
 private void AddDeviceButton_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         var myAddDevice = new AddDevice(db, getSelectionZaklad());
         myAddDevice.ShowDialog();
         if (myAddDevice.answer)
         {
             upData();
         }
     }
     catch (Exception)
     {
         ViewLogic.Blad("Wystapił bład w AddDeviceButton_Click!");
     }
 }
        public AddSensorViewModel(Router router, ThingsDeviceModel showModel = null)
        {
            _router    = router;
            _showModel = showModel;

            if (_showModel != null)
            {
                DeviceID    = showModel.DeviceId;
                DeviceEUI   = showModel.Device.DeviceEUI;
                Description = showModel.Description;
                AppKey      = showModel.AppId;
                AppEUI      = showModel.Device.AppEUI;
            }

            AddDevice = ReactiveCommand.Create(() => { });
            AddDevice.Subscribe(async unit =>
            {
                try
                {
                    if (!DeviceID.StartsWith(ThingsNetworkDevicesApi.HackathonDeviceIdPrefix))
                    {
                        throw new Exception("Device ID must start with " +
                                            ThingsNetworkDevicesApi.HackathonDeviceIdPrefix);
                    }

                    var device = new ThingsDeviceModel
                    {
                        AppId       = ThingsNetworkDevicesApi.app_id,
                        Description = Description,
                        DeviceId    = DeviceID.Trim().ToLower(),
                        Device      = new ThingsDeviceLorawan
                        {
                            DeviceId  = DeviceID,
                            AppId     = ThingsNetworkDevicesApi.app_id,
                            DeviceEUI = DeviceEUI,
                            AppEUI    = AppEUI
                        }
                    };

                    await ThingsNetworkDevicesApi.AddDevice(device);

                    _onDeviceAdded.OnNext(device);

                    _router.ShowDevices();
                }
                catch (Exception err)
                {
                    _onError.OnNext(err);
                }
            }).DisposeWith(_disposable);

            DeleteDevice = ReactiveCommand.Create(() => { });
            DeleteDevice.Subscribe(async unit =>
            {
                try
                {
                    await ThingsNetworkDevicesApi.DeleteDevice(DeviceID);
                    Beep();
                    _router.ShowDevices();
                }
                catch (Exception err)
                {
                    Beep(2);
                    _onError.OnNext(err);
                }
            }).DisposeWith(_disposable);

            Clear = ReactiveCommand.Create(() => { });
            Clear.Subscribe(unit =>
            {
                DeviceID  = ThingsNetworkDevicesApi.HackathonDeviceIdPrefix;
                DeviceEUI = Utils.RandomByteString(8);
            }).DisposeWith(_disposable);

            Cancel = ReactiveCommand.Create(() => { });
            Cancel.Subscribe(_ => _router.ShowDevices()).DisposeWith(_disposable);
        }