public static void ImportInContractBSR(TrwBudgetPeriod period, IObjectSpace os, TextReader reader) { DelimitedFileEngine engine = new DelimitedFileEngine(typeof(InContractBsrRecord)); engine.Options.IgnoreFirstLines = 1; InContractBsrRecord[] records = (InContractBsrRecord[])engine.ReadStream(reader); os.Delete(period.InContractBSR); foreach (InContractBsrRecord rec in records) { if (!String.IsNullOrEmpty(rec.TrwSaleNomCode)) { TrwBudgetPeriodInContractBSR in_bsr = os.CreateObject <TrwBudgetPeriodInContractBSR>(); period.InContractBSR.Add(in_bsr); in_bsr.SaleNomCode = rec.TrwSaleNomCode.Trim(); in_bsr.SaleNomenclature = os.FindObject <TrwSaleNomenclature>(new BinaryOperator("TrwCode", rec.TrwSaleNomCode.Trim())); // if (in_bsr.SaleNomenclature == null) // throw new InvalidDataException("Unknow nomencalture: " + rec.TrwSaleNomCode); in_bsr.Period00 = rec.Period00 != null ? (Decimal)rec.Period00 : 0; in_bsr.Period01 = rec.Period01 != null ? (Decimal)rec.Period01 : 0; in_bsr.Period02 = rec.Period02 != null ? (Decimal)rec.Period02 : 0; in_bsr.Period03 = rec.Period03 != null ? (Decimal)rec.Period03 : 0; in_bsr.Period04 = rec.Period04 != null ? (Decimal)rec.Period04 : 0; in_bsr.Period05 = rec.Period05 != null ? (Decimal)rec.Period05 : 0; in_bsr.Period06 = rec.Period06 != null ? (Decimal)rec.Period06 : 0; in_bsr.Period07 = rec.Period07 != null ? (Decimal)rec.Period07 : 0; in_bsr.Period08 = rec.Period08 != null ? (Decimal)rec.Period08 : 0; in_bsr.Period09 = rec.Period09 != null ? (Decimal)rec.Period09 : 0; in_bsr.Period10 = rec.Period10 != null ? (Decimal)rec.Period10 : 0; in_bsr.Period11 = rec.Period11 != null ? (Decimal)rec.Period11 : 0; in_bsr.Period12 = rec.Period12 != null ? (Decimal)rec.Period12 : 0; } } }
private void ImportInContractBsrAction_Execute(object sender, SimpleActionExecuteEventArgs e) { TrwBudgetPeriod period = View.CurrentObject as TrwBudgetPeriod; if (period == null) { return; } OpenFileDialog dialog = new OpenFileDialog(); if (dialog.ShowDialog() != DialogResult.OK) { return; } using (IObjectSpace os = ObjectSpace.CreateNestedObjectSpace()) { period = os.GetObject <TrwBudgetPeriod>(period); StreamReader reader = File.OpenText(dialog.FileName); TrwBudgetPeriodLogic.ImportInContractBSR(period, os, reader); os.CommitChanges(); } }