예제 #1
0
        public HttpResponseMessage Post([FromBody] Localizacao localizacao)
        {
            try
            {
                //Inclusão do CLiente na base de dados
                //Essa inclusão retorna um Id
                //Id retorna para o requisitante do serviço
                LocalizacaoRepository localizacaoRepository = new LocalizacaoRepository(ConfigurationManager.ConnectionStrings["conexao"].ToString());
                LocalizacaoAplication localizacaoAplication = new LocalizacaoAplication(localizacaoRepository);

                //Converter o model para uma entidade de dominio

                ProjetoSistemasWeb.Domain.Entities.Localizacao localizacaoDomain = new ProjetoSistemasWeb.Domain.Entities.Localizacao()
                {
                    CodigoProduto = localizacao.CodigoProduto,
                    Data          = localizacao.Data,
                    Lat           = localizacao.Lat,
                    Long          = localizacao.Long
                };

                localizacaoAplication.Inserir(localizacaoDomain);

                return(Request.CreateResponse(HttpStatusCode.OK, Convert.ToString(localizacaoDomain.CodigoProduto)));
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e));
            }
        }
예제 #2
0
        /// <summary>
        /// Este método retorna um Localizacao apartir de seu ID
        /// </summary>
        /// <param name="id">Id relativo a chave de busca para o Localizacao</param>
        /// <returns>Retorna um Localizacao</returns>
        public HttpResponseMessage Get(Guid codigoProduto)
        {
            try
            {
                List <Localizacao>    localizacaoModel      = new List <Localizacao>();
                LocalizacaoRepository localizacaoRepository = new LocalizacaoRepository(ConfigurationManager.ConnectionStrings["conexao"].ToString());
                LocalizacaoAplication localizacaoAplication = new LocalizacaoAplication(localizacaoRepository);

                List <ProjetoSistemasWeb.Domain.Entities.Localizacao> localizacao = localizacaoAplication.Procurar(codigoProduto);

                foreach (var loc in localizacao)
                {
                    localizacaoModel.Add(new Localizacao()
                    {
                        CodigoProduto = loc.CodigoProduto,
                        Data          = loc.Data,
                        Lat           = loc.Lat,
                        Long          = loc.Long
                    });
                }

                return(Request.CreateResponse(HttpStatusCode.OK, localizacaoModel));
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e));
            }
        }
예제 #3
0
        public void Inserir_LocalizacaoValida_DoesntThrowException()
        {
            var localizacao = new LocalizacaoEntity()
            {
                IdLoginCadastro = 1,
                Latitude        = -19.905509,
                Longitude       = -43.92418199999997
            };

            var idLocalizacao = new LocalizacaoRepository().Inserir(localizacao);

            Assert.IsTrue(idLocalizacao > 0);
        }
예제 #4
0
        public DistanciaResult ValidaDuplicidade(DistanciaEntreAmigos LocalizacaoDoAmigo, LocalizacaoRepository repository)
        {
            var find      = repository.GetFind(LocalizacaoDoAmigo.X, LocalizacaoDoAmigo.Y);
            var contador  = find.Count();
            var Respostas = new DistanciaResult();

            if (contador > 0)
            {
                var Erro = new ErroResposta();
                Erro.Erro      = "Erro";
                Erro.Descricao = "Dois amigos não podem ter a mesma localização!";


                Respostas.Erro = Erro;
                return(Respostas);
            }
            else
            {
                Respostas.Erro = null;
                return(Respostas);
            }
        }
        public HomeController(LocalizacaoRepository repository)

        {
            _repository = repository;
        }