コード例 #1
0
ファイル: APIController.cs プロジェクト: hyouka27/Alarmy
        public async Task <ActionResult <Alarmy> > PostAlarmy(Alarmy alarmy)
        {
            _context.Alarmy.Add(alarmy);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetAlarmy", new { id = alarmy.Id }, alarmy));
        }
コード例 #2
0
ファイル: APIController.cs プロジェクト: hyouka27/Alarmy
        public async Task <IActionResult> PutAlarmy(int id, Alarmy alarmy)
        {
            if (id != alarmy.Id)
            {
                return(BadRequest());
            }

            _context.Entry(alarmy).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AlarmyExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #3
0
ファイル: AlarmiesController.cs プロジェクト: hyouka27/Alarmy
        public async Task <IActionResult> Create([Bind("Id,Title,Employer,ReleaseDate,About,Level,Level2,UseId")] Alarmy alarmy)
        {
            switch (alarmy.Level)
            {
            case 1:
                alarmy.Level2 = "Niski";
                break;

            case 2:
                alarmy.Level2 = "Średni";
                break;

            case 3:
                if (User.IsInRole("Emp3"))
                {
                    alarmy.Level2 = "Wysoki";
                }
                else
                {
                    return(RedirectToAction(nameof(No)));
                }
                break;
            }
            string Userid = User.Identity.Name;

            alarmy.UseId = Userid;
            if (ModelState.IsValid)
            {
                _context.Add(alarmy);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(alarmy));
        }
コード例 #4
0
ファイル: AlarmiesController.cs プロジェクト: hyouka27/Alarmy
        public async Task <IActionResult> Edit(int id, [Bind("Id,Title,Employer,ReleaseDate,About,Level,Level2")] Alarmy alarmy)
        {
            if (id != alarmy.Id)
            {
                return(NotFound());
            }
            switch (alarmy.Level)
            {
            case 1:
                alarmy.Level2 = "Niski";
                break;

            case 2:
                alarmy.Level2 = "Średni";
                break;

            case 3:
                if (User.IsInRole("Emp3"))
                {
                    alarmy.Level2 = "Wysoki";
                }
                else
                {
                    return(RedirectToAction(nameof(No)));
                }
                break;
            }
            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(alarmy);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AlarmyExists(alarmy.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(alarmy));
        }
コード例 #5
0
        public static void przeczytajSMS(int wiersz)
        {
            Entities baza = new Entities();

            SMS[]  odpowiedz       = baza.SMS.ToArray();
            string aktualnalinijka = odpowiedz[wiersz].tresc_sms;

            string[] dane             = aktualnalinijka.Split("\r\n".ToArray()); //dzielenie po enter
            string[] tabelaWiadomosci = new string[dane.Length + 10];            //i+2 niech nie wyjezdza
            int      j = 0;

            for (int i = 0; i < dane.Length; i++)
            {
                if (dane[i].Contains("REC READ") == true || dane[i].Contains("REC UNREAD") == true)
                {
                    tabelaWiadomosci[j]     = dane[i];
                    tabelaWiadomosci[j + 1] = dane[i + 2]; //dane najpierw maja czas oraz nr, potem null a nastepnie tresc wiadomosci, dlatego +2
                    j = j + 2;
                }
            }
            //czas zapiąć pasy - switch olać w razie nowych komend, które nie będą rozpoznawane po podłodze za serial number
            //guziki
            dane = new string[10];
            for (int i = 1; i < j; i = i + 2) //bylo i=1 w razie czego zmien
            {
                if (tabelaWiadomosci[i].Contains("_") == false)
                {
                    dane = tabelaWiadomosci[i].Split("".ToArray());
                }
                else
                {
                    dane = tabelaWiadomosci[i].Split("_".ToArray());
                }
                try
                {
                    Entities bazaDanych = new Entities();
                    if (dane[1] == "ALARMM")
                    {
                        Alarmy       nowyWpis = new Alarmy();
                        ServiceGuard sg       = bazaDanych.ServiceGuard.Find(dane[0]);
                        nowyWpis.data_alarmu        = DateTime.Now;
                        nowyWpis.status             = "do_wykonania";
                        nowyWpis.typ_alarmu         = "M";
                        nowyWpis.ServiceGuard_id_sg = sg.serial_number;
                        nowyWpis.serial_number      = dane[0];
                        bazaDanych.Alarmy.Add(nowyWpis);
                        bazaDanych.SaveChanges();
                        Thread.Sleep(250);
                        port.Write("AT+CMGF=1\r");
                        Thread.Sleep(250);
                        port.WriteLine("AT+CMGS=\"" + sg.nr_tel + "\"\r");
                        Thread.Sleep(100);
                        port.WriteLine("F" + "\x11" + "OK" + '\x001a');
                        Thread.Sleep(250);
                        //  Entities baza = new Entities();
                        //  ServiceGuard sg = baza.ServiceGuard.Find(nrServiceGuard);
                        List <AspNetUsers> listaUzytkownikow = sg.AspNetUsers.ToList(); //lista przypisanych do danego SG
                        for (int k = 0; k < listaUzytkownikow.Count; k++)
                        {
                            port.Write("AT+CMGF=1\r");
                            Thread.Sleep(250);
                            port.WriteLine("AT+CMGS=\"" + listaUzytkownikow[k].telefon + "\"\r");
                            Thread.Sleep(100);
                            var    account         = new AccountController();
                            var    rolaUzytkownika = account.UserManager.GetRoles(listaUzytkownikow[k].Id);
                            string test            = "test";
                            if (rolaUzytkownika.ToString() == "rolnik")
                            {
                                port.WriteLine("Szanowny Kliencie uprzejmie informujemy, że nadszedł czas dokonania okresowego serwisu.Prosimy o kontakt z Naszym Dealerem. Zespół GEA Polska." + '\x001a');
                                Thread.Sleep(250);
                            }
                            if (rolaUzytkownika.ToString() == "dealer")
                            {
                                port.WriteLine("Nadszedł czas serwisu urządzenia " + sg.serial_number + ". Zespół GEA Polska." + '\x001a');
                                Thread.Sleep(250);
                            }
                            if (rolaUzytkownika.ToString() == "admin")
                            {
                            }
                            if (rolaUzytkownika.ToString() == "gea")
                            {
                                port.WriteLine("Urządzenie " + sg.serial_number + " wymaga serwisu." + '\x001a');
                                Thread.Sleep(250);
                            }
                            Thread.Sleep(250);
                        }
                    }
                    if (dane[1] == "ALARMD")
                    {
                        ServiceGuard sg = bazaDanych.ServiceGuard.Find(dane[0]);
                        port.Close();
                        Thread.Sleep(500);
                        port.Open();
                        port.Write("AT+CMGF=1\r");
                        //   Thread.Sleep(250);
                        port.WriteLine("AT+CMGS=\"" + sg.nr_tel + "\"\r");
                        //    Thread.Sleep(100);
                        port.WriteLine("F" + "\x11" + "OK" + '\x001a');
                        Alarmy nowyWpis = new Alarmy();
                        nowyWpis.data_alarmu        = DateTime.Now;
                        nowyWpis.status             = "do_wykonania";
                        nowyWpis.typ_alarmu         = "D";
                        nowyWpis.ServiceGuard_id_sg = sg.serial_number;
                        nowyWpis.serial_number      = dane[0];
                        bazaDanych.Alarmy.Add(nowyWpis);
                        bazaDanych.SaveChanges();
                        List <AspNetUsers> listaUzytkownikow = sg.AspNetUsers.ToList(); //lista przypisanych do danego SG
                        for (int l = 0; l < listaUzytkownikow.Count; l++)
                        {
                            port.Write("AT+CMGF=1\r");
                            //     Thread.Sleep(250);
                            port.WriteLine("AT+CMGS=\"" + listaUzytkownikow[l].telefon + "\"\r");
                            //   Thread.Sleep(100);
                            var    account         = new AccountController();
                            var    rolaUzytkownika = account.UserManager.GetRoles(listaUzytkownikow[l].Id);
                            string test            = "test";
                            if (rolaUzytkownika.ToString() == "rolnik")
                            {
                                port.WriteLine("Szanowny Kliencie uprzejmie informujemy, że nadszedł czas dokonania okresowego serwisu.Prosimy o kontakt z Naszym Dealerem. Zespół GEA Polska." + '\x001a');
                                //   Thread.Sleep(250);
                            }
                            if (rolaUzytkownika.ToString() == "dealer")
                            {
                                port.WriteLine("Nadszedł czas serwisu urządzenia " + sg.serial_number + ". Zespół GEA Polska." + '\x001a');
                                //   Thread.Sleep(250);
                            }
                            if (rolaUzytkownika.ToString() == "admin")
                            {
                            }
                            if (rolaUzytkownika.ToString() == "gea")
                            {
                                port.WriteLine("Urządzenie " + sg.serial_number + " wymaga serwisu." + '\x001a');
                                //  Thread.Sleep(250);
                            }
                            //  Thread.Sleep(250);
                        }
                    }
                    if (dane[1] == "OK") //jesteśmy w "zrób serwis", czyli serialnumber_OK
                    {
                        SerialPortController s    = new SerialPortController();
                        var          uzytkownik   = bazaDanych.AspNetUsers.Find(s.User.Identity.GetUserId());
                        ServiceGuard SG           = bazaDanych.ServiceGuard.Find(dane[0]);
                        var          listaAlarmow = SG.Alarmy.ToList();
                        foreach (Alarmy a in listaAlarmow)
                        {
                            a.wykonal = uzytkownik.UserName;
                        }
                    }
                    if (dane[1] == "RESET")
                    {
                        ServiceGuard SG = bazaDanych.ServiceGuard.Find(dane[0]);
                        SG.ostatni_serwis = SG.ostatni_serwis_temp;
                        bazaDanych.SaveChangesAsync();
                    }
                    if (dane[1] == "C")                                           //aktualizuj dane
                    {
                        string[]     tmp          = dane[5].Split("#".ToArray()); //np. 0750#B
                        string       przedzial    = tmp[0];                       //0750
                        string       serialNumber = dane[0];
                        string       aktualnyStanRoboczogodzin = dane[2];
                        string       godzinyDoSerwisu          = (Convert.ToInt16(przedzial) - Convert.ToInt16(dane[3])).ToString();
                        string       lokalizacja = dane[4];
                        ServiceGuard SG          = bazaDanych.ServiceGuard.Find(dane[0]);
                        SG.aktualny_czas       = Convert.ToInt16(aktualnyStanRoboczogodzin);
                        SG.do_serwisu          = Convert.ToInt32(godzinyDoSerwisu);
                        SG.lokalizacja         = lokalizacja;
                        SG.przedzial_serwisowy = przedzial;
                        bazaDanych.SaveChanges();
                    }
                    if (dane[1] == "GSL") //zmień przedział serwisu
                    {
                        string       serialNumber = dane[0];
                        ServiceGuard SG           = bazaDanych.ServiceGuard.Find(dane[0]);
                        SG.przedzial_serwisowy = SG.przedzial_serwisowy_temp;
                        bazaDanych.SaveChanges();
                    }
                    if (dane[1] == "LNG") //zmień język
                    {
                        string       serialNumber = dane[0];
                        ServiceGuard SG           = bazaDanych.ServiceGuard.Find(dane[0]);
                        SG.jezyk = SG.jezyk_temp;
                        bazaDanych.SaveChanges();
                    }
                    if (dane[1] == "ZGS")              //ustaw czas startowy
                    {
                        string serialNumber = dane[0]; //olac
                    }
                    if (dane[1] == "AGS")              //ustaw czas total
                    {
                        string       serialNumber = dane[0];
                        ServiceGuard SG           = bazaDanych.ServiceGuard.Find(dane[0]);
                        SG.aktualny_czas = SG.aktualny_czas_temp;
                        bazaDanych.SaveChanges();
                    }
                    if (dane[1] == "SOK") //zmień serial number
                    {
                        string       serialNumber = dane[0];
                        ServiceGuard SG           = bazaDanych.ServiceGuard.Find(dane[0]);
                        SG.serial_number = SG.serial_number_temp;
                        bazaDanych.SaveChanges();
                    }
                    if (dane[1] == "VOK") //zmień super visor
                    {
                        string       serialNumber = dane[0];
                        ServiceGuard SG           = bazaDanych.ServiceGuard.Find(dane[0]);
                        SG.nrSuperVisor = SG.nrSuperVisor_temp;
                        bazaDanych.SaveChanges();
                    }
                    if (dane[1] == "NOK") //zmień service center
                    {
                        string       serialNumber = dane[0];
                        ServiceGuard SG           = bazaDanych.ServiceGuard.Find(dane[0]);
                        SG.nrServiceCenter = SG.nrServiceCenter_temp;
                        bazaDanych.SaveChanges();
                    }
                    if (dane[1] == "GOK") //zmień service manager
                    {
                        string       serialNumber = dane[0];
                        ServiceGuard SG           = bazaDanych.ServiceGuard.Find(dane[0]);
                        SG.ServiceManager.nr_tel = SG.ServiceManager.nr_tel_temp;
                        bazaDanych.SaveChanges();
                    }
                }
                catch (Exception ex)
                {
                    string s = ex.InnerException.ToString();
                    //nic nie rob, jesli szukamy za daleko w podzielonym stringu, to po prostu mamy krotsza odpowiedz
                }
            }
        }