public async Task <CrearResponse <Soporte> > CrearAsync(SoporteCrear modelo) { var evento = await repositorio.ConsultarElPrimeroAsync <EventoCalendario>(q => q.Id == modelo.EventoId); var autoinfoAlCrear = new EntidadAutoinfo <Soporte>(); autoinfoAlCrear.SetValue(v => v.RegionalId, evento.RegionalId); autoinfoAlCrear.SetValue(v => v.ProyectoId, evento.ProyectoId); autoinfoAlCrear.SetValue(v => v.Nombre, modelo.Nombre); autoinfoAlCrear.SetValue(v => v.Tamanio, 0); autoinfoAlCrear.SetValue(v => v.Ruta, ""); autoinfoAlCrear.SetValue(v => v.Extension, ""); repositorio.IniciarTransaccion(); var soporte = await base.CrearAsync(modelo, autoinfoAlCrear); var tamanio = await archivoSoporteAlmacen.CrearAsync(soporte.Data, modelo.RequestStream); soporte.Data.Nombre = archivoSoporteAlmacen.NombreSoporte(soporte.Data); soporte.Data.Ruta = archivoSoporteAlmacen.RutaSoporte(soporte.Data); soporte.Data.Extension = MimeTypes.GetMimeType(modelo.Nombre); soporte.Data.Tamanio = tamanio; await repositorio.ActualizarAsync(soporte.Data); repositorio.FinalizarTransaccion(); return(soporte); }
public async virtual Task <ActualizarResponse <TEntidad> > ActualizarAsync(Actualizar <TEntidad> modelo, IRequest peticion) { var autoinfoAlActualizar = new EntidadAutoinfo <TEntidad>(); PreprocesarAlActualizar(modelo, autoinfoAlActualizar, peticion); return(await repositorio.ActualizarAsync(modelo, autoinfoAlActualizar)); }
public async Task <ActualizarResponse <TEntidad> > ActualizarAsync(Actualizar <TEntidad> modelo, EntidadAutoinfo <TEntidad> autoinfoAlActualizar) { var entidad = CrearEntidadConDatosDelModelo(modelo); PreprocesarAlActualizar(entidad, autoinfoAlActualizar); var onlyfields = ObtenerCamposPorActualizar(autoinfoAlActualizar, modelo.GetType()); await repositorio.ActualizarAsync(entidad, onlyfields); entidad = await repositorio.ConsultarPorIdAsync <TEntidad>(entidad.Id); return(new ActualizarResponse <TEntidad> { Data = entidad }); }