static async Task Main(string[] args) { var connectionString = args[0]; var rootDirectoryPath = args[1]; var t = TimeZoneInfo.GetSystemTimeZones(); var optionsBuilder = new DbContextOptionsBuilder <DotNetRuServerContext>(); optionsBuilder.UseSqlServer(connectionString); var context = new DotNetRuServerContext(optionsBuilder.Options); var directoryInfo = new DirectoryInfo(rootDirectoryPath); var dbDirectory = directoryInfo.CreateSubdirectory(Path.Combine("Audit", "db")); var export = new ExporterUtils(context, dbDirectory); Console.WriteLine("Starting export Communities"); await export.ExportCommunties(); Console.WriteLine("Starting export Friends"); await export.ExportFriends(); Console.WriteLine("Starting export Meetups"); await export.ExportMeetups(); Console.WriteLine("Starting export Spekers"); await export.ExportSpeekers(); Console.WriteLine("Starting export Talks"); await export.ExportTalks(); Console.WriteLine("Starting export Meetups"); await export.ExportVenues(); }
public ExporterUtils(DotNetRuServerContext context, DirectoryInfo directory) { this._context = context; this._directory = directory; this._settings = new XmlWriterSettings() { Indent = true, OmitXmlDeclaration = true }; this._emptyNamespaces = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty }); }
private static async Task <int> ImportViaDatabase(ImportViaDatabaseOptions options) { Console.WriteLine("It's time to start"); var connectionString = options.DatabaseConnection; var githubToken = options.GithubToken; Console.WriteLine($"Github token - {githubToken}"); Console.WriteLine($"Connection string - {connectionString}"); var optionsBuilder = new DbContextOptionsBuilder <DotNetRuServerContext>(); optionsBuilder.UseSqlServer(connectionString); var context = new DotNetRuServerContext(optionsBuilder.Options); var github = new GitHubClient(new ProductHeaderValue("DotNetRuServer")); var tokenAuth = new Credentials(githubToken); github.Credentials = tokenAuth; var importer = new ImporterUtils(context, github); Console.WriteLine("Start to import Communities"); await importer.ImportCommunities(); Console.WriteLine("Start to import Venues"); await importer.ImportVenues(); Console.WriteLine("Start to import Friends"); await importer.ImportFriend(); Console.WriteLine("Start to import Speakers"); await importer.ImportSpeakers(); Console.WriteLine("Start to import Talks"); await importer.ImportTalks(); Console.WriteLine("Start to import Meetups"); await importer.ImportMeetups(); Console.WriteLine("All data is imported"); return(0); }
public SpeakerProvider(DotNetRuServerContext context) { _context = context; }
public CommunityProvider(DotNetRuServerContext context) { _context = context; }
public MeetupProvider(DotNetRuServerContext context) { _context = context; }
public Importer(ILogger <Importer> logger, DotNetRuServerContext context) { _logger = logger; _context = context; }
public ImporterUtils(DotNetRuServerContext context, GitHubClient gitHub) { _context = context; _gitHub = gitHub; _httpClient = new HttpClient(); }
public FriendProvider(DotNetRuServerContext context) { _context = context; }
public TalkProvider(DotNetRuServerContext context) { _context = context; }
public VenueProvider(DotNetRuServerContext context) { _context = context; }
public UnitOfWork(DotNetRuServerContext context) { _context = context; }
public ImageProvider(DotNetRuServerContext context) { _context = context; }