public async Task <WrapperSimpleTypesDTO> ModificarArchivoStream(int consecutivoArchivo, int codigoTipoArchivo, Stream sourceStream) { using (SportsGoEntities context = new SportsGoEntities(false)) using (DbContextTransaction transaction = context.Database.BeginTransaction()) { ArchivosRepository archivoRepo = new ArchivosRepository(context); Archivos archivoTipoParaModificar = new Archivos { Consecutivo = consecutivoArchivo, CodigoTipoArchivo = codigoTipoArchivo, ArchivoContenido = new byte[] { 0, 1, 2 } }; archivoRepo.ModificarCodigoTipoArchivoDeUnArchivo(archivoTipoParaModificar); await archivoRepo.ModificarArchivoContenidoStream(consecutivoArchivo, sourceStream); WrapperSimpleTypesDTO wrapper = new WrapperSimpleTypesDTO(); wrapper.NumeroRegistrosAfectados = await context.SaveChangesAsync(); transaction.Commit(); if (wrapper.NumeroRegistrosAfectados > 0) { wrapper.Exitoso = true; } return(wrapper); } }
public async Task <WrapperSimpleTypesDTO> ModificarArchivoCandidatoVideos(int codigoTipoArchivo, int codigoCandidatoVideo, int codigoArchivo, Stream sourceStream) { using (SportsGoEntities context = new SportsGoEntities(false)) using (DbContextTransaction transaction = context.Database.BeginTransaction()) { ArchivosRepository archivoRepo = new ArchivosRepository(context); Archivos archivoParaCrear = new Archivos { CodigoTipoArchivo = codigoTipoArchivo, ArchivoContenido = new byte[] { 0, 1, 2 } }; archivoRepo.CrearArchivo(archivoParaCrear); WrapperSimpleTypesDTO wrapper = new WrapperSimpleTypesDTO(); wrapper.NumeroRegistrosAfectados = await context.SaveChangesAsync(); await archivoRepo.ModificarArchivoContenidoStream(archivoParaCrear.Consecutivo, sourceStream); if (wrapper.NumeroRegistrosAfectados > 0 || archivoParaCrear.Consecutivo > 0) { wrapper.Exitoso = true; wrapper.ConsecutivoCreado = archivoParaCrear.Consecutivo; wrapper.ConsecutivoArchivoCreado = archivoParaCrear.Consecutivo; CandidatosRepository candidatosRepo = new CandidatosRepository(context); // Meto el consecutivo del archivo generado por el EF por la creacion CandidatosVideos candidatoVideo = new CandidatosVideos { Consecutivo = codigoCandidatoVideo, CodigoArchivo = archivoParaCrear.Consecutivo }; CandidatosVideos candidatoVideoExistente = await candidatosRepo.ModificarCodigoArchivoCandidatoVideo(candidatoVideo); // Elimino el viejo archivo if (codigoArchivo > 0) { Archivos archivoParaBorrar = new Archivos { Consecutivo = codigoArchivo }; archivoRepo.EliminarArchivo(archivoParaBorrar); } wrapper.NumeroRegistrosAfectados += await context.SaveChangesAsync(); transaction.Commit(); } return(wrapper); } }
public async Task <WrapperSimpleTypesDTO> AsignarArchivoReciboPago(int codigoHistorialPago, int codigoArchivo, Stream sourceStream) { using (SportsGoEntities context = new SportsGoEntities(false)) using (DbContextTransaction transaction = context.Database.BeginTransaction()) { ArchivosRepository archivoRepo = new ArchivosRepository(context); Archivos archivoParaCrear = new Archivos { CodigoTipoArchivo = (int)TipoArchivo.Imagen, ArchivoContenido = new byte[] { 0, 1, 2 } }; archivoRepo.CrearArchivo(archivoParaCrear); WrapperSimpleTypesDTO wrapper = new WrapperSimpleTypesDTO(); wrapper.NumeroRegistrosAfectados = await context.SaveChangesAsync(); await archivoRepo.ModificarArchivoContenidoStream(archivoParaCrear.Consecutivo, sourceStream); if (wrapper.NumeroRegistrosAfectados > 0 || archivoParaCrear.Consecutivo > 0) { wrapper.Exitoso = true; wrapper.ConsecutivoCreado = archivoParaCrear.Consecutivo; wrapper.ConsecutivoArchivoCreado = archivoParaCrear.Consecutivo; PagosRepository pagosRepo = new PagosRepository(context); // Meto el consecutivo del archivo generado por el EF por la creacion HistorialPagosPersonas pagoParaAsignar = new HistorialPagosPersonas { Consecutivo = codigoHistorialPago, CodigoArchivo = archivoParaCrear.Consecutivo }; HistorialPagosPersonas pagoExistente = await pagosRepo.AsignarArchivoHistorialPago(pagoParaAsignar); // Elimino el viejo archivo if (codigoArchivo > 0) { Archivos archivoParaBorrar = new Archivos { Consecutivo = codigoArchivo }; archivoRepo.EliminarArchivo(archivoParaBorrar); } wrapper.NumeroRegistrosAfectados += await context.SaveChangesAsync(); transaction.Commit(); } return(wrapper); } }