public async Task <DtoPersonaRelacion> GuardarRelacionPadreAsync(int idPersona1, int idPersona2) { if (idPersona1 == idPersona2) { DatosInvalidosException datosInvalidos = new DatosInvalidosException(); datosInvalidos.Data.Add("Relacion Invalida", "Una persona no puede ser padre de si mismo"); throw datosInvalidos; } PersonaRelacion personaRelacion = await PersonaRelacionRepositorio.ObtenerUnoAsync(r => (r.IdPersona1 == idPersona1 && r.IdPersona2 == idPersona2) || (r.IdPersona1 == idPersona2 && r.IdPersona2 == idPersona1)); if (personaRelacion == null) { personaRelacion = await PersonaRelacionRepositorio.InsertarAsync(new PersonaRelacion() { IdPersona1 = idPersona1, IdPersona2 = idPersona2, IdTipoRelacion = (int)Entidades.Enumeraciones.TipoRelacionEnum.Padre }); } else { DatosInvalidosException datosInvalidos = new DatosInvalidosException(); datosInvalidos.Data.Add("Relacion Existente", "Ya existe una relacion entre las personas indicadas."); throw datosInvalidos; } return(new DtoPersonaRelacion() { IdPersona1 = idPersona1, IdPersona2 = idPersona2, Relacion = TipoRelacionEnum.Padre.ToString() }); }
public async Task <DtoTipoRelacion> ObtenerRelacionAsync(int idPersona1, int idPersona2) { PersonaRelacion personaRelacion = await PersonaRelacionRepositorio.ObtenerUnoAsync(r => r.IdPersona1 == idPersona1 && r.IdPersona2 == idPersona2, r => r.TipoRelacion); if (personaRelacion == null) { return(null); } return(new DtoTipoRelacion() { RelacionDescripcion = personaRelacion.TipoRelacion.Descripcion, IdTipoRelacion = personaRelacion.IdTipoRelacion }); }