public async Task <IActionResult> Post(long id, [FromBody] OpinionInmobiliariaPost opinion)
        {
            Inmobiliaria inmo = await _serviceInmo.GetById(id);

            if (inmo == null)
            {
                return(BadRequest(new BadRequestApiResponse("No se encontró inmobiliaria con el Id ingresado")));
            }

            var clientIpAddress = HttpContext.Connection.RemoteIpAddress.ToString();

            if (!await _service.IsPossibleToCreateANewOpinionFor(id, clientIpAddress))
            {
                return(BadRequest(new BadRequestApiResponse("Ya se detectó otra opinion ingresada en el dia de hoy para la misma inmobiliaria y proveniente de la misma IP")));
            }
            opinion.IpOrigen = clientIpAddress;

            OpinionInmobiliaria createdOpinion = await _service.AddOpinionInmobiliaria(id, opinion);

            if (createdOpinion != null)
            {
                return(Ok(new OkApiResponse(createdOpinion)));
            }
            else
            {
                return(Conflict(new InternalErrorResponse("No se pudo completar la operación")));
            }
        }
예제 #2
0
        public async Task <IActionResult> Get(long id)
        {
            Inmobiliaria inmobiliaria = await _service.GetById(id);

            if (inmobiliaria == null)
            {
                return(NotFound(new NotFoundApiResponse("No se encontró Inmobiliaria")));
            }

            return(Ok(new OkApiResponse(inmobiliaria)));
        }