Exemplo n.º 1
0
        // POST: api/Visitas
        public async Task <IHttpActionResult> Post(VisitaDTO visitaDto)
        {
            if (!ModelState.IsValid)
            {
                var    allErrors = ModelState.Values.SelectMany(v => v.Errors.Select(b => b.ErrorMessage));
                string problems  = "";
                foreach (string error in allErrors)
                {
                    problems += " _____ " + error;
                }
                return(BadRequest(ModelState));
            }

            try
            {
                Visita visita = unitOfWork.VisitaRepository.ConvertDTOToModel(visitaDto);
                Visita saved  = await unitOfWork.VisitaRepository.CreateVisita(visita);

                VisitaDTO response = unitOfWork.VisitaRepository.ConvertModelToDTO(saved);
                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(BadRequest("Exception Occured: " + ex.Message));
            }
        }
Exemplo n.º 2
0
        // PUT: api/Visitas/5
        public async Task <IHttpActionResult> Put(int id, VisitaDTO visitaDto)
        {
            if (!ModelState.IsValid)
            {
                var    allErrors = ModelState.Values.SelectMany(v => v.Errors.Select(b => b.ErrorMessage));
                string problems  = "";
                foreach (string error in allErrors)
                {
                    problems += " _____ " + error;
                }
                return(BadRequest("Invalid model object: " + problems));
            }

            if (id != visitaDto.VisitaID)
            {
                return(BadRequest("ID received is not equal to Visita ID"));
            }

            try
            {
                Visita visita = unitOfWork.VisitaRepository.ConvertDTOToModel(visitaDto);
                await unitOfWork.VisitaRepository.UpdateVisita(visita);
            }
            catch (Exception ex)
            {
                return(BadRequest("Exception ocurred: " + ex.Message));
            }

            return(StatusCode(HttpStatusCode.OK));
        }
        public VisitaDTO ConvertModelToDTO(Visita visita)
        {
            VisitaDTO dto = new VisitaDTO();

            dto.VisitaID = visita.VisitaID;
            dto.Creator  = visita.Creator;
            dto.Date     = visita.Date;
            dto.Percurso = this.ConvertModelToDTO(visita.Percurso);
            return(dto);
        }
        public Visita ConvertDTOToModel(VisitaDTO dto)
        {
            Visita visita = new Visita();

            visita.VisitaID = dto.VisitaID;
            visita.Creator  = dto.Creator;
            visita.Date     = dto.Date;
            Percurso percurso = context.Percursos.Find(dto.Percurso.ID);

            visita.Percurso   = percurso;
            visita.PercursoID = percurso.PercursoID;

            return(visita);
        }
        // POST: api/Visitas
        public async Task <IHttpActionResult> Post(VisitaDTO visitaDto)
        {
            client = DBWebApiHttpClient.GetClient();
            var response = await client.PostAsJsonAsync("api/Visitas", visitaDto);

            if (response.IsSuccessStatusCode)
            {
                VisitaDTO visitaDTO = await response.Content.ReadAsAsync <VisitaDTO>();

                return(Ok(visitaDTO));
            }

            return(BadRequest("Error " + response.ReasonPhrase));
        }
        // GET: api/Visitas/5
        public async Task <IHttpActionResult> Get(int id)
        {
            client = DBWebApiHttpClient.GetClient();

            VisitaDTO visitaDTO = null;
            var       response  = await client.GetAsync("api/Visitas/" + id);

            if (response.IsSuccessStatusCode)
            {
                visitaDTO = await response.Content.ReadAsAsync <VisitaDTO>();

                return(Ok(visitaDTO));
            }

            return(BadRequest());
        }
        // PUT: api/Visitas/5
        public async Task <IHttpActionResult> Put(int id, VisitaDTO visitaDto)
        {
            client = DBWebApiHttpClient.GetClient();

            var response = await client.PutAsJsonAsync("api/Visitas/" + id, visitaDto);

            if (response.IsSuccessStatusCode)
            {
                var result = await response.Content.ReadAsStringAsync();

                return(Ok(result));
            }

            var bad = await response.Content.ReadAsStringAsync();

            return(BadRequest("PVAPI: Malformed request; " + bad));
        }