public async Task <Tuple <WrapperSimpleTypesDTO, TimeLineNotificaciones> > CrearContacto(Contactos contactoParaCrear) { using (SportsGoEntities context = new SportsGoEntities(false)) { ChatsRepository chatsRepo = new ChatsRepository(context); int codigoPersonaContacto = contactoParaCrear.CodigoPersonaContacto; int codigoPersonaOwner = contactoParaCrear.CodigoPersonaOwner; chatsRepo.CrearContacto(contactoParaCrear); Contactos contactoSegundoParaCrear = new Contactos { CodigoPersonaContacto = codigoPersonaOwner, CodigoPersonaOwner = codigoPersonaContacto }; chatsRepo.CrearContacto(contactoSegundoParaCrear); NoticiasRepository noticiasRepo = new NoticiasRepository(context); Notificaciones notificacion = new Notificaciones { CodigoTipoNotificacion = (int)TipoNotificacionEnum.PersonaAgregada, CodigoPersonaOrigenAccion = codigoPersonaOwner, CodigoPersonaDestinoAccion = codigoPersonaContacto, Creacion = DateTime.Now }; noticiasRepo.CrearNotificacion(notificacion); WrapperSimpleTypesDTO wrapperCrearContacto = new WrapperSimpleTypesDTO(); TimeLineNotificaciones timeLineNotificacion = null; wrapperCrearContacto.NumeroRegistrosAfectados = await context.SaveChangesAsync(); if (wrapperCrearContacto.NumeroRegistrosAfectados > 0) { wrapperCrearContacto.Exitoso = true; wrapperCrearContacto.ConsecutivoCreado = contactoParaCrear.Consecutivo; if (notificacion.Consecutivo > 0) { timeLineNotificacion = new TimeLineNotificaciones(await noticiasRepo.BuscarNotificacion(notificacion)); } } return(Tuple.Create(wrapperCrearContacto, timeLineNotificacion)); } }