public void Delete(int ndx) { Assert(IsConnected); Assert(ndx < RowCount); Assert(0 <= ndx); lock (m_rwLock) { int ndxFrame = RowIndexToFrameIndex(ndx); if (m_header.FirstDeletedFrameIndex != NULL_INDEX) { m_writer.Position = 0; m_writer.Write(m_header.FirstDeletedFrameIndex); long framePos = GetFramePosition(ndxFrame); WriteFrame(framePos); } m_header.FirstDeletedFrameIndex = ndxFrame; int pos = m_recycledData.BinarySearch(ndxFrame); Assert(pos < 0); m_recycledData.Insert(~pos, ndxFrame); m_header.LastWriteTime = DateTime.Now; DatumDeleted?.Invoke(ndx); } }
private void SaveMeltResults() { var arguments = new List <Tuple <string, double> > { new Tuple <string, double>(@"G шлака, т", GshlSAVE[adaptROUND - 1]), new Tuple <string, double>(@"L СО_СО2, м3", LSAVE[adaptROUND - 1]), new Tuple <string, double>(@"Теплопотери, кДж", TeplFutLossSAVE[adaptROUND - 1]), new Tuple <string, double>(@"Р2О5 шл", Tube.Шлак.P2O5), new Tuple <string, double>(@"Сумм расх-ие балансов, %", adaptCOMPAIR * 100) }; if (_isFixedMass) { arguments.Add(new Tuple <string, double>(@"alfa Fe, доли", alfaFeSAVE[adaptROUND - 1])); arguments.Add(new Tuple <string, double>(@"В", Tube.Шлак.B)); } else { arguments.Add(new Tuple <string, double>(@"alfa Fe, доли", Params.alfaFe)); arguments.Add(new Tuple <string, double>(@"В", (Tube.Шлак.CaO + Tube.Шлак.MgO) / Tube.Шлак.SiO2)); arguments.Add(new Tuple <string, double>(@"Gст, т", Estimation.GstYieldSAVE[adaptROUND - 1])); arguments.Add(new Tuple <string, double>(@"alfa Изв, доли", Estimation.ALFAizvSAVE[adaptROUND - 1])); } var write = new TableWriter(Settings.Default.MelpMdb); write.Write("adaptationdata", arguments, NumberOfAdaptedMelt + 1); }
public static void ExportCreditStatistics(IEnumerable <Student> students) { Dictionary <string, StatisticalFilter> filters = new Dictionary <string, StatisticalFilter>(); filters["MIND"] = s => true; filters["PASS"] = s => s.Specialization != null; filters["FAIL"] = s => s.Specialization == null; foreach (var code in students.Select(s => s.EducationProgram).Distinct()) { foreach (var filter in filters) { Dictionary <string, XHistogram[]> histograms = new Dictionary <string, XHistogram[]>(); string[] groups = students.Where(s => s.EducationProgram == code).SelectMany(s => s.CreditPerGroup.Keys).Distinct().ToArray(); foreach (string group in groups) { var values = students.Where(s => s.EducationProgram == code).Where(s => filter.Value(s)).Where(s => s.CreditPerGroup.Sum(e => e.Value) > 0).Select(student => student.CreditPerGroup[group]); var histogram = values.GroupBy(i => i).OrderBy(e => e.Key).Select(e => new XHistogram(e.Key, e.Count())); histograms.Add(group, histogram.ToArray()); } var driver = new ExcelDriver(); foreach (var sheet in histograms) { TableWriter.Write <XHistogram>(Export.PATH_HISTOGRAM, sheet.Value, driver, code + "+" + filter.Key + "+" + sheet.Key); } } } Log.Write(Export.PATH_HISTOGRAM); }
protected void WriteAssociations() { var driver = new SeparatedTextDriver(); TableWriter.Write <XAssociation>(Export.PATH_ASSOCIATIONS, _rows.OfType <XUser>().Select(v => new XAssociation(v.Neptun, v.EducationProgram, v.Identifier)), driver); Log.Write(Export.PATH_ASSOCIATIONS); }
public static void ExportReports(IEnumerable <Student> students, IEnumerable <Specialization> specializations, IEnumerable <SpecializationGrouping> specializationGroupings) { var driver = new ExcelDriver(); TableWriter.Write <XStudent>(Export.PATH_REPORT, students.Select(student => new XStudent(student)), driver); TableWriter.Write <XSumma>(Export.PATH_REPORT, specializations.Select(specialization => new XSumma(specialization, specializationGroupings)), driver); Log.Write(Export.PATH_REPORT); }
private void TestDb() { var write = new TableWriter(Settings.Default.ParamsMdb); var tuples = new List <Tuple <string, double> >(); var tuple1 = new Tuple <string, double>("Угар Fe в дым", 1.0d); var tuple2 = new Tuple <string, double>("Масса гот стали (выход)", 1.0d); tuples.Add(tuple1); tuples.Add(tuple2); write.Write("countdata", tuples, 1); }
protected void WriteTables() { File.Delete(Export.PATH_USERS_INSERT); File.Delete(Export.PATH_USERS_UPDATE); File.Delete(Export.PATH_RESULTS_SQL); File.Delete(Export.PATH_RESULTS_ZIP); StructuredQueryDriver driver = new StructuredQueryDriver(); driver.QueryType = StructuredQueryType.TruncateInsert; TableWriter.Write <XUser>(Export.PATH_USERS_INSERT, _rows.OfType <XUser>(), driver); Log.Write(Export.PATH_USERS_INSERT); driver.QueryType = StructuredQueryType.UpdateWithFirstAsKey; TableWriter.Write <XUser>(Export.PATH_USERS_UPDATE, _rows.OfType <XUser>(), driver); Log.Write(Export.PATH_USERS_UPDATE); if (_rows.OfType <XUser>().Any(user => user.IsProvisioned) && !_rows.OfType <XUser>().All(user => user.IsProvisioned)) { driver.QueryType = StructuredQueryType.Insert; TableWriter.Write <XUser>(Export.PATH_USERS_DIFFERENCE, _rows.OfType <XUser>().Where(user => user.IsProvisioned), driver); Log.Write(Export.PATH_USERS_DIFFERENCE); } driver.QueryType = StructuredQueryType.TruncateInsert; TableWriter.Write <XEmail>(Export.PATH_RESULTS_SQL, _rows.OfType <XEmail>(), driver); TableWriter.Write <XChoice>(Export.PATH_RESULTS_SQL, _rows.OfType <XChoice>(), driver); TableWriter.Write <XResult>(Export.PATH_RESULTS_SQL, _rows.OfType <XResult>(), driver); TableWriter.Write <XCourse>(Export.PATH_RESULTS_SQL, _rows.OfType <XCourse>(), driver); TableWriter.Write <XAvarage>(Export.PATH_RESULTS_SQL, _rows.OfType <XAvarage>(), driver); Log.Write(Export.PATH_RESULTS_SQL); ZipFile zip = new ZipFile(Export.PATH_RESULTS_ZIP); zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression; zip.AddFile(Export.PATH_RESULTS_SQL, ""); zip.Save(); Log.Write(Export.PATH_RESULTS_ZIP); }
public void Write() { _tableWriter.Write(Items, typeof(TITem).GetProperties().Select(p => p.Name).ToArray()); _workbook.SaveAs(_stream); }
public void Write() { _tableWriter.Write(Items, typeof(TITem).GetProperties().Select(p => p.Name).ToArray()); }