public override DTOPartido CrearDto(Entidad entidad) { if (!(entidad is Partido partido)) { logger.Error("Casteo invalido de la entidad " + entidad + " a Partido"); throw new CasteoInvalidoException("La entidad no es del tipo Partido"); } DTOPartido dto = FabricaDTO.CrearDTOPartido(); TraductorEquipo traductorEquipo = FabricaTraductor.CrearTraductorEquipo(); dto.Equipo1 = traductorEquipo.CrearDto(partido.Equipo1); dto.Equipo2 = traductorEquipo.CrearDto(partido.Equipo2); TraductorEstadio traductorEstadio = FabricaTraductor.CrearTraductorEstadio(); dto.Estadio = traductorEstadio.CrearDto(partido.Estadio); TraductorAlineacion traductorAlineacion = FabricaTraductor.CrearTraductorAlineacion(); dto.Alineaciones = traductorAlineacion.CrearListaDto(partido.Alineaciones.Cast <Entidad>().ToList()); dto.FechaInicioPartido = partido.FechaInicioPartido; dto.FechaFinPartido = partido.FechaFinPartido; dto.Arbitro = partido.Arbitro; dto.Id = partido.Id; return(dto); }