public static async Task <MediaUploadResults> StoreMediaAsync( ApplicationDbContext dbContext, UserInfo userEntity, IEnumerable <UploadedMedia> items) { var newEntities = new List <UserMedia>(); foreach (UploadedMedia item in items) { if (new FileInfo(item.LocalFileName).Length > 0) { string ext = Path.GetExtension(item.OriginalName.Trim('\"')).Substring(1); var entity = new UserMedia { User = userEntity, State = UserMediaState.UploadedButUnused, CreatedUtc = DateTime.UtcNow, Extension = ext }; var dataEntity = new UserMediaData { UserMedia = entity, ImageData = File.ReadAllBytes(item.LocalFileName) }; File.Delete(item.LocalFileName); dbContext.UserMedias.Add(entity); dbContext.UserMediaDatas.Add(dataEntity); newEntities.Add(entity); } } await dbContext.SaveChangesAsync(); await SearchOperations.IndexMediaAsync(newEntities); return(new MediaUploadResults { Files = newEntities .Select( e => new MediaUploadResult { Id = e.UserMediaId }) .ToList() }); }
public MediaDataAccess() // Creacting constructor { umd = new UserMediaData(); viewMediaTableAdapter = new ViewMediaTableAdapter(); }