コード例 #1
0
 public CsvFileEx(DataTable data, CsvFile file, DataAnnotationDBContext _context)
 {
     CsvFile       = file;
     this._context = _context;
     this.Columns  = new List <CsvColumn>();
     Data          = data;
 }
コード例 #2
0
 public FileUploadController(ILogger <FileUploadController> logger, DataAnnotationDBContext context, IConfiguration config)
 {
     _logger              = logger;
     _targetFilePath      = config.GetValue <string>("TargetFilePath");
     _fileSizeLimit       = config.GetValue <long>("FileSizeLimit");
     _permittedExtensions = config.GetSection("PermittedExtensions").GetChildren().ToArray().Select(v => v.Value).ToArray();
     _context             = context;
 }
コード例 #3
0
 public LoginModel(SignInManager <ApplicationUser> signInManager,
                   ILogger <LoginModel> logger,
                   UserManager <ApplicationUser> userManager,
                   DataAnnotationDBContext context)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _logger        = logger;
     _context       = context;
 }
コード例 #4
0
        private void Work(string message)
        {
            int      fileId   = int.Parse(message.Split("|")[0]);
            string   filePath = message.Split("|")[1];
            Metadata metadata;

            DataAnnotationDBContext _context;
            var optionsBuilder = new DbContextOptionsBuilder <DataAnnotationDBContext>();

            optionsBuilder.UseSqlServer(options.DefaultConnection);
            using (_context = new DataAnnotationDBContext(optionsBuilder.Options))
            {
                CsvFile file = _context.CsvFile.Where(f => f.CsvFileId == fileId).FirstOrDefault();
                if (file.CsvFileId == 0)
                {
                    _logger.LogInformation("Message {0} - File not found in database", message);
                    return;
                }


                DateTime  timeInit = DateTime.Now;
                DataTable data     = new DataTable();
                using (GenericParserAdapter parser = new GenericParserAdapter())
                {
                    parser.SetDataSource(filePath);
                    parser.ColumnDelimiter   = ';';
                    parser.FirstRowHasHeader = true;
                    data = parser.GetDataTable();
                }
                file.ColumnsCount = data.Columns.Count;
                file.RowsCount    = data.Rows.Count;
                _context.CsvFile.Update(file);
                _context.SaveChanges();

                CsvFileEx fileEx = new CsvFileEx(data, file, _context);
                fileEx.InitIntraAnalysis();
                fileEx.InitDivisoesCompare();
                fileEx.CheckMetricsRelations();
                metadata = new Metadata(file, fileEx, timeInit, _context);
            }

            var    json           = JsonSerializer.Serialize(metadata);
            string fileFolderPath = Directory.GetParent(filePath).FullName;
            string fileName       = Path.GetFileName(filePath);

            fileFolderPath = Path.Combine(fileFolderPath, "analysis");
            Directory.CreateDirectory(fileFolderPath);
            filePath = Path.Combine(fileFolderPath, "analysis_v1");
            System.IO.File.WriteAllText(filePath, json);

            _logger.LogInformation("Message {0} - Work Complete", message);
        }
コード例 #5
0
 public RegisterModel(
     UserManager <ApplicationUser> userManager,
     SignInManager <ApplicationUser> signInManager,
     ILogger <RegisterModel> logger,
     IEmailSender emailSender,
     DataAnnotationDBContext context)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _logger        = logger;
     _emailSender   = emailSender;
     _context       = context;
 }
コード例 #6
0
 public Metadata(CsvFile file, CsvFileEx fileEx, DateTime timeInit, DataAnnotationDBContext _context)
 {
     Nome        = file.FileNameDisplay;
     NumLinhas   = file.RowsCount.Value;
     NumColunas  = file.ColumnsCount.Value;
     DataGeracao = DateTime.Now;
     GenerateGeoDivisoesList(fileEx.RowGeographic);
     GenerateDimensionsList(fileEx.Columns);
     GenerateMetrics(fileEx);
     file.AnalysisDuration       = DateTime.Now.Subtract(timeInit);
     file.AnalysisCompletionTime = DateTime.Now;
     _context.CsvFile.Update(file);
     _context.SaveChanges();
 }
コード例 #7
0
        public CsvColumn(CsvFile file, string name, int index, DataAnnotationDBContext _context)
        {
            CsvFile      = file;
            ColumnIndex  = index;
            ColumnName   = name;
            NullsCount   = 0;
            AllDifferent = false;
            Geographic   = new DomainInformation
            {
                Divisoes = new List <DivisaoTerritorial>(),
                Unidades = new List <DivisaoTerritorial>()
            };

            DifferentTypes        = new Dictionary <string, int>();
            UniqueValues          = new Dictionary <string, DistinctValue>();
            DifferentNumericTypes = new Dictionary <string, int>();

            this._context = _context;
        }
コード例 #8
0
 public WorkspaceController(ILogger <WorkspaceController> logger, DataAnnotationDBContext context, IConfiguration config)
 {
     _context        = context;
     _logger         = logger;
     _targetFilePath = config.GetValue <string>("TargetFilePath");
 }
コード例 #9
0
 public HomeController(ILogger <HomeController> logger, DataAnnotationDBContext context, IConfiguration config)
 {
     _context = context;
     _logger  = logger;
 }