public TranCreateViewModel(HeaderRep headerRep) { AddInfRep = new AddInfRep() { IdRep = headerRep.Id }; AddInfRep.HeaderRep = headerRep; BasicRep = new BasicRep(); ClientRep = new ClientRep(); IssuerRep = new IssuerRep(); Rep406 = new Rep406(); Supdoc = new SupdocRep(); NoticeRep = new NoticeRep(); }
private void LoadArchiveFromExcel(CcRepContext context) { for (int i = 0; i < fileLoadArchive.Length; i++) { string[] param = fileLoadArchive[i].Split(':'); string pathToExcelFile = path_to_xlsx + param[0]; var excelFile = new ExcelQueryFactory(pathToExcelFile); string[] sheets = param[1].Split(','); List <ArchiveRow> dataArchive; //********* var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", pathToExcelFile); var adapter = new OleDbDataAdapter(String.Format("SELECT * FROM [{0}$]", sheets[0]), connectionString); var ds = new DataSet(); adapter.Fill(ds, "ExcelTable"); DataTable dtable = ds.Tables["ExcelTable"]; //************************* foreach (string sheetName in sheets) { try { dataArchive = (from a in excelFile.Worksheet <ArchiveRow>(sheetName) select a).ToList(); // dataArchive = excelFile.Worksheet<ArchiveRow>(sheetName).ToList(); } catch { return; } int k = 0; foreach (var a in dataArchive) { k++; try { AddInfRep ai = new AddInfRep(); ai.Form = a.FORM; ai.Section = a.SECTION; ai.Status = a.STATUS; ai.IdRep = Convert.ToInt32(a.ID_REP); ai.Author = a.AUTOR; ai.Source = a.SOURCE; ai.SupdocFl = a.SUPDOC_FL; ai.SourceName = a.SOURCE_NAME; ai.PaymentRK = k; ai.IrbPaymentRK = k; context.AddInfReps.Add(ai); context.SaveChanges(); AddInfRep last_ai = context.AddInfReps.Last <AddInfRep>(); BasicRep br = new BasicRep(); br.IdOper = last_ai.IdOper; br.Filial = a.FILIAL.PadLeft(4, '0');; br.PostDate = DateTime.ParseExact(a.POSTDATE, date_format, cult_info); br.CodeVO = a.CODE_VO; br.TypeTooling = a.TYPE_TOOLING; br.OperType = Convert.ToByte(a.OPER_TYPE); br.Count = Convert.ToInt64(a.COUNT); br.Share = Convert.ToDecimal(a.SHARE, cult_info); br.Ccy = a.CCY; br.AmountAll = Convert.ToDecimal(a.AMOUNT_ALL, cult_info); br.AmntIncome = Convert.ToDecimal(a.AMNT_INCOME, cult_info); br.Swift = a.SWIFT_405; br.SwiftFil = a.SWIFT_FIL_405; br.ValueDate = DateTime.ParseExact(a.VALUEDATE, date_format, cult_info); br.RefNum = a.REF_NUM; context.BasicReps.Add(br); ClientRep cr = new ClientRep(); cr.IdOper = last_ai.IdOper; cr.BicPartner = a.BIC_PARTNER; cr.CountryRez = a.COUNTRY_REZ; cr.NameRez = a.NAME_REZ; cr.TypeRez = a.TYPE_REZ; cr.INN = a.INN; cr.NameNerez = a.NAME_NEREZ; cr.TypeNerez = a.TYPE_NEREZ; cr.CountryNerez = a.COUNTRY_NEREZ; cr.BankName = a.BANK_NAME; cr.CountryBank = a.COUNTRY_BANK; cr.PartnerName = a.PARTNER_NAME; cr.CountryPartner = a.COUNTRY_PARTNER; context.ClientReps.Add(cr); IssuerRep ir = new IssuerRep(); ir.IdOper = last_ai.IdOper; ir.IssuerName = a.ISSUER_NAME; ir.SecurityCode = a.SECURITY_CODE; ir.RegNumIssuer = a.REG_NUM_ISSUER; ir.DateRegIssuer = DateTime.ParseExact(a.DATE_REG_ISSUER, date_format, cult_info); ir.RepayDate = DateTime.ParseExact(a.REPAY_DATE, date_format, cult_info); ir.CcyIssuer = a.CCY_ISSUER; ir.IssuerCode = Convert.ToByte(a.ISSUER_CODE); ir.IssuerReestr = a.ISSUER_REESTR; context.IssuerReps.Add(ir); NoticeRep nr = new NoticeRep(); nr.IdOper = last_ai.IdOper; nr.Notice = a.NOTICE; nr.NoticeIssuer = a.NOTICE_ISSUER; nr.NoticeExchange = a.NOTICE_EXCHANGE; nr.NoticeInst = a.NOTICE_INST; nr.NoticeProperty = a.NOTICE_PROPERTY; nr.NoticeBank = a.NOTICE_BANK; AddRep ar = new AddRep(); ar.IdOper = last_ai.IdOper; ar.CcdUser = a.CCD_USER; ar.Narrative = a.NARRATIVE; ar.CityCode = a.CITY_CODE; ar.NoticeReport = a.NOTICE_REPORT; ar.DepAcc = a.DEP_ACC; ar.ContractNum = a.CONTRACT_NUM; context.SaveChanges(); } catch (DbEntityValidationException ex) { throw new Exception("[LoadArchiveFromExcel] " + ex.Message); } } } } }