public object Upload() { HttpPostedFile file = HttpContext.Current.Request.Files["file"]; if (file == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "No file specified.")); } if (file.ContentType != "application/octet-stream" || !file.FileName.ToLower().EndsWith(".csv")) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Specified file must be a CSV file.")); } RedirectsProviderFile pfile = new RedirectsProviderFile(new HttpPostedFileWrapper(file)); Dictionary <string, string> body = new Dictionary <string, string>(); foreach (string key in HttpContext.Current.Request.Form.Keys) { body[key] = HttpContext.Current.Request.Form[key]; } return(new RedirectsImportService().Import(pfile, CsvImportOptions.FromDictionary(body))); }
public void CSVImport([NotNull] CsvImportOptions args) { Logger.Info("Running LoadProfileGenerator Version " + Assembly.GetExecutingAssembly().GetName().Version); CsvTimeProfileImporter ctpi = new CsvTimeProfileImporter(ConnectionString); ctpi.Import(args, out _); }
public void RunTest() { //make dummy csv file using (WorkingDir wd = new WorkingDir(Utili.GetCurrentMethodAndClass())) { string csvfn = wd.Combine("mycsv.csv"); StreamWriter sw = new StreamWriter(csvfn); sw.WriteLine("Date;Value"); sw.WriteLine("01.01.2019 00:00;1"); sw.WriteLine("01.01.2019 00:01;2"); sw.Close(); CsvImportOptions cio = new CsvImportOptions(); using (DatabaseSetup db = new DatabaseSetup(Utili.GetCurrentMethodAndClass())) { cio.Input = csvfn; cio.Delimiter = ";"; CsvTimeProfileImporter ctpi = new CsvTimeProfileImporter(db.ConnectionString); if (!ctpi.Import(cio, out var dbp)) { throw new LPGCommandlineException("Option not set. Cannnot proceed."); } if (dbp == null) { throw new LPGException("failed to import"); } foreach (DateProfileDataPoint dataPoint in dbp.Datapoints) { Logger.Info(dataPoint.DateAndTimeString + " - " + dataPoint.Value); } } } }
/// <summary /> public static MockTable FromCsv(string content, string delimiter, CsvImportOptions options) { var table = MockTable.Empty(); Type[] types = null; bool isFirstRow = true; // First row = Column names bool isFirstDataRow = false; // Second row = First data row bool mustRemoveEmptyLines = (options & CsvImportOptions.RemoveEmptyLines) == CsvImportOptions.RemoveEmptyLines; bool mustTrimLines = (options & CsvImportOptions.TrimLines) == CsvImportOptions.TrimLines; foreach (string row in content.Split(SPLIT_NEWLINE, StringSplitOptions.None)) { if (mustRemoveEmptyLines && string.IsNullOrEmpty(row)) { } else { string[] data; string[] split_delimiter = new string[] { delimiter }; if (mustTrimLines) { data = row.Trim().Split(split_delimiter, StringSplitOptions.None); } else { data = row.Split(split_delimiter, StringSplitOptions.None); } if (isFirstRow) { table.AddColumns(data); } else { if (isFirstDataRow) { types = GetTypesOfFirstDataRow(data); } table.AddRow(ConvertStringToTypes(data, types)); } isFirstRow = false; isFirstDataRow = !isFirstDataRow ? true : isFirstDataRow; } } return(table); }
internal void Import(RedirectImportItem redirect, CsvImportOptions options) { // TODO: Use dependency injection var service = Current.Factory.GetInstance <IRedirectsService>(); // TODO: Check whether redirect exists try { service.AddRedirect(redirect.AddOptions); redirect.Status = RedirectImportStatus.Success; } catch (Exception ex) { redirect.Errors.Add(ex.Message); redirect.Status = RedirectImportStatus.Failed; } }
public object Import(RedirectsProviderFile file, CsvImportOptions options) { return(new CsvRedirectsProvider().Import(file, options)); }
public object Import(RedirectsProviderFile file, JObject options) { return(Import(file, CsvImportOptions.Parse(options))); }
public object Import(RedirectsProviderFile file, Dictionary <string, string> options) { return(Import(file, CsvImportOptions.FromDictionary(options))); }