예제 #1
0
        public async Task <IActionResult> GetRelaciones(int idPersona1, int idPersona2)
        {
            try
            {
                if (await PersonaDominio.ObtenerPersonaAsync(idPersona1) == null || await PersonaDominio.ObtenerPersonaAsync(idPersona2) == null)
                {
                    return(NotFound());
                }

                DtoTipoRelacion dtoTipoRelacion = await PersonaDominio.ObtenerRelacionAsync(idPersona1, idPersona2);

                if (dtoTipoRelacion == null)
                {
                    return(NotFound());
                }

                return(Ok(dtoTipoRelacion.RelacionDescripcion));
            }
            catch (DatosInvalidosException ex)
            {
                return(BadRequest(Errores.GetModelStateErrores(ex.Data)));
            }
            catch
            {
                return(StatusCode(500));
            }
        }
예제 #2
0
        public async Task <IActionResult> Put(int id, [FromBody] PersonaViewModelActualizar personaViewModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                if (personaViewModel == null)
                {
                    return(BadRequest());
                }

                if (await PersonaDominio.ObtenerPersonaAsync(id) == null)
                {
                    return(NotFound());
                }

                return(Ok(await PersonaDominio.ActualizarPersonaAsync(id, Mapper.Map <Entidades.Persona>(personaViewModel))));
            }
            catch (DatosInvalidosException ex)
            {
                return(BadRequest(Errores.GetModelStateErrores(ex.Data)));
            }
            catch
            {
                return(StatusCode(500));
            }
        }
예제 #3
0
        public async Task <IActionResult> Post([FromBody] PersonaViewModelNueva personaViewModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                if (personaViewModel == null)
                {
                    return(BadRequest());
                }

                DtoPersona personaGuardada = await PersonaDominio.InsertarPersonaAsync(Mapper.Map <Entidades.Persona>(personaViewModel));

                return(CreatedAtRoute("PersonaById", new { id = personaGuardada.Id }, personaGuardada));
            }
            catch (DatosInvalidosException ex)
            {
                return(BadRequest(Errores.GetModelStateErrores(ex.Data)));
            }
            catch
            {
                return(StatusCode(500));
            }
        }
예제 #4
0
 public async Task <IActionResult> GetEstadisticas()
 {
     try
     {
         return(Ok(await PersonaDominio.ObtenerEstadisticasAsync()));
     }
     catch (DatosInvalidosException ex)
     {
         return(BadRequest(Errores.GetModelStateErrores(ex.Data)));
     }
     catch
     {
         return(StatusCode(500));
     }
 }
예제 #5
0
        public async Task <IActionResult> GetAsync(int id)
        {
            try
            {
                DtoPersona persona = await PersonaDominio.ObtenerPersonaAsync(id);

                if (persona == null)
                {
                    return(NotFound());
                }

                return(Ok(persona));
            }
            catch (DatosInvalidosException ex)
            {
                return(BadRequest(Errores.GetModelStateErrores(ex.Data)));
            }
            catch
            {
                return(StatusCode(500));
            }
        }
예제 #6
0
        public async Task <IActionResult> PostRelacion([FromRoute] int idPersona1, [FromRoute] int idPersona2)
        {
            try
            {
                if (await PersonaDominio.ObtenerPersonaAsync(idPersona1) == null || await PersonaDominio.ObtenerPersonaAsync(idPersona2) == null)
                {
                    return(NotFound());
                }

                DtoPersonaRelacion relacionGuardada = await PersonaDominio.GuardarRelacionPadreAsync(idPersona1, idPersona2);

                return(CreatedAtRoute("GetRelaciones", null, relacionGuardada));
            }
            catch (DatosInvalidosException ex)
            {
                return(BadRequest(Errores.GetModelStateErrores(ex.Data)));
            }
            catch
            {
                return(StatusCode(500));
            }
        }
예제 #7
0
        public async Task <IActionResult> Delete(int id)
        {
            try
            {
                if (await PersonaDominio.ObtenerPersonaAsync(id) == null)
                {
                    return(NotFound());
                }

                await PersonaDominio.EliminarPersonaAsync(id);

                return(NoContent());
            }
            catch (DatosInvalidosException ex)
            {
                return(BadRequest(Errores.GetModelStateErrores(ex.Data)));
            }
            catch
            {
                return(StatusCode(500));
            }
        }