Exemple #1
0
        public HttpResponseMessage Add(IPEditAPI IP)
        {
            /// Validando o IP
            ICollection <ValidationResult> results;

            if (IP.TryValidate(out results))
            {
                Poste PosteBD = UnitOfWork.PosteRepository.Get(os => os.IdPoste == IP.IdPoste, includeProperties: "Cidade").FirstOrDefault();
                if (PosteBD != null)
                {
                    // Salvando a posição do Mobile no momento da Edição do poste
                    UTM posicaoAtualizacao = new ConverterLatLonToUtm(PosteBD.Cidade.Datum, PosteBD.Cidade.NorteOuSul, PosteBD.Cidade.Zona).Convert(IP.LatAtualizacao, IP.LonAtualizacao);
                    PosteBD.XAtualizacao = posicaoAtualizacao.X;
                    PosteBD.YAtualizacao = posicaoAtualizacao.Y;

                    IP IPAux = new IP()
                    {
                        Poste         = PosteBD,
                        TipoBraco     = IP.TipoBraco,
                        TipoLuminaria = IP.TipoLuminaria,
                        QtdLuminaria  = IP.QtdLuminaria,
                        TipoLampada   = IP.TipoLampada,
                        Potencia      = IP.Potencia,
                        CodigoGeoBD   = -1,
                        Acionamento   = IP.Acionamento,
                        LampadaAcesa  = IP.LampadaAcesa,
                        Fase          = IP.Fase,
                        QtdLampada    = IP.QtdLampada
                    };

                    UnitOfWork.IPRepository.Insert(IPAux);
                    UnitOfWork.Save();

                    return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi()
                    {
                        Status = Status.OK,
                        Message = Resources.Messages.Save_OK,
                        Results = new
                        {
                            IdIp = IPAux.IdIp,
                            IdPoste = IPAux.IdPoste,
                            TipoBraco = IPAux.TipoBraco,
                            TipoLuminaria = IPAux.TipoLuminaria,
                            QtdLuminaria = IPAux.QtdLuminaria,
                            TipoLampada = IPAux.TipoLampada,
                            Potencia = IPAux.Potencia,
                            Fase = IPAux.Fase,
                            Acionamento = IPAux.Acionamento,
                            LampadaAcesa = IPAux.LampadaAcesa,
                            QtdLampada = IPAux.QtdLampada
                        }
                    }));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi()
                    {
                        Status = Status.NOK, Message = Resources.Messages.Poste_Not_Found
                    }));
                }
            }
            else
            {
                string MessageValidate = string.Empty;
                foreach (var validationResult in results)
                {
                    MessageValidate += validationResult.ErrorMessage;
                }
                return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi()
                {
                    Status = Status.NOK, Message = MessageValidate
                }));
            }
        }
Exemple #2
0
        public HttpResponseMessage Edit(IPEditAPI IP)
        {
            /// Validando o IP
            ICollection <ValidationResult> results;

            if (IP.TryValidate(out results))
            {
                IP IpDB = UnitOfWork.IPRepository.Get(ip => ip.IdIp == IP.IdIp && ip.DataExclusao == null, includeProperties: "Poste.Cidade").FirstOrDefault();
                if (IpDB != null)
                {
                    //Atribuindo os novos valores da Edicao
                    IpDB.TipoBraco     = IP.TipoBraco;
                    IpDB.TipoLuminaria = IP.TipoLuminaria;
                    IpDB.QtdLuminaria  = IP.QtdLuminaria;
                    IpDB.TipoLampada   = IP.TipoLampada;
                    IpDB.Potencia      = IP.Potencia;
                    IpDB.Fase          = IP.Fase;
                    IpDB.Acionamento   = IP.Acionamento;
                    IpDB.LampadaAcesa  = IP.LampadaAcesa;
                    IpDB.QtdLampada    = IP.QtdLampada;

                    // Salvando a posição do Mobile no momento da Edição do poste
                    UTM posicaoAtualizacao = new ConverterLatLonToUtm(IpDB.Poste.Cidade.Datum, IpDB.Poste.Cidade.NorteOuSul, IpDB.Poste.Cidade.Zona).Convert(IP.LatAtualizacao, IP.LonAtualizacao);
                    IpDB.Poste.XAtualizacao = posicaoAtualizacao.X;
                    IpDB.Poste.YAtualizacao = posicaoAtualizacao.Y;

                    UnitOfWork.IPRepository.Update(IpDB);
                    UnitOfWork.Save(); //Commit

                    return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi()
                    {
                        Status = Status.OK,
                        Message = Resources.Messages.Save_OK,
                        Results = new
                        {
                            IdIp = IpDB.IdIp,
                            IdPoste = IpDB.IdPoste,
                            TipoBraco = IpDB.TipoBraco,
                            TipoLuminaria = IpDB.TipoLuminaria,
                            QtdLuminaria = IpDB.QtdLuminaria,
                            TipoLampada = IpDB.TipoLampada,
                            Potencia = IpDB.Potencia,
                            Fase = IpDB.Fase,
                            Acionamento = IpDB.Acionamento,
                            LampadaAcesa = IpDB.LampadaAcesa,
                            QtdLampada = IpDB.QtdLampada
                        }
                    }));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi()
                    {
                        Status = Status.NOK, Message = Resources.Messages.Ip_Not_Found
                    }));
                }
            }
            else
            {
                string MessageValidate = string.Empty;
                foreach (var validationResult in results)
                {
                    MessageValidate += validationResult.ErrorMessage + "-";
                }
                return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi()
                {
                    Status = Status.NOK, Message = MessageValidate.Remove(MessageValidate.Length - 1)
                }));
            }
        }