Example #1
0
        private DispositivoNo Alterar(DispositivoNo dispositivo)
        {
            DispositivoNo dispositivoSalvo = Contexto.Dispositivos.FirstOrDefault(p => p.Id == dispositivo.Id);

            dispositivoSalvo.EnderecoUrl = dispositivo.EnderecoUrl;

            return(dispositivoSalvo);
        }
        public ActionResult Exclusao(int id, DispositivoNo dispositivo)
        {
            try
            {
                _dispositivoServico.Excluir(dispositivo);

                return(RedirectToAction(nameof(Listagem)));
            }
            catch
            {
                return(View());
            }
        }
        public ActionResult Cadastro(DispositivoNo dispositivo)
        {
            try
            {
                _dispositivoServico.Salvar(dispositivo);

                return(RedirectToAction(nameof(Listagem)));
            }
            catch
            {
                return(View());
            }
        }
Example #4
0
 private DispositivoNo Incluir(DispositivoNo dispositivo)
 {
     Contexto.Dispositivos.Add(dispositivo);
     return(dispositivo);
 }
Example #5
0
        public int Salvar(DispositivoNo dispositivo)
        {
            DispositivoNo dispositivoSalvo = dispositivo.Id == 0 ? Incluir(dispositivo) : Alterar(dispositivo);

            return(Contexto.SaveChanges());
        }
Example #6
0
 public int Excluir(DispositivoNo dispositivo)
 {
     Contexto.Dispositivos.Remove(dispositivo);
     return(Contexto.SaveChanges());
 }
Example #7
0
        private bool ResolverConflitos()
        {
            List <Bloco> novaCadeia    = null;
            int          tamanhoMaximo = Contexto.Blocos.Count();

            foreach (DispositivoNo dispositivoNo in Contexto.Dispositivos)
            {
                var             url      = new Uri(String.Concat(dispositivoNo.EnderecoUrl, "/cadeia"));
                HttpWebResponse resposta = null;

                try
                {
                    var requisicao = (HttpWebRequest)WebRequest.Create(url);
                    resposta = (HttpWebResponse)requisicao.GetResponse();
                }
                catch (Exception ex)
                {
                    DispositivoNo dispositivoParaSalvar = Contexto.Dispositivos.FirstOrDefault(no => no.Id == dispositivoNo.Id);
                    dispositivoParaSalvar.Inacessivel = true;
                    dispositivoParaSalvar.Erro        = ex.Message;
                    break;
                }


                if (resposta.StatusCode == HttpStatusCode.OK)
                {
                    var modelo = new
                    {
                        cadeia = new List <Bloco>(),
                        length = 0
                    };
                    string json  = new StreamReader(resposta.GetResponseStream()).ReadToEnd();
                    var    dados = JsonConvert.DeserializeAnonymousType(json, modelo);

                    if (dados.cadeia.Count > Contexto.Blocos.Count() && CadeiaValida(dados.cadeia))
                    {
                        tamanhoMaximo = dados.cadeia.Count;
                        novaCadeia    = dados.cadeia;
                    }

                    dispositivoNo.Inacessivel = false;
                    dispositivoNo.Erro        = string.Empty;
                }
                else
                {
                    dispositivoNo.Inacessivel = true;
                    dispositivoNo.Erro        = String.Concat(resposta.StatusCode, " - ", resposta.StatusDescription);
                }
            }

            if (novaCadeia != null)
            {
                Contexto.Blocos.AddRange(novaCadeia);
                Contexto.SaveChanges();
                return(true);
            }
            else
            {
                Contexto.SaveChanges();
            }

            return(false);
        }