public static async Task <s_org> AddOrg(this DohodDbContext dbContext, string inn, string kpp, string name, string rs) { // Внести изменение в пополнение справочника Плательщики. 20150406 // Если плательщиком является организация(банк) с реквизитами ИНН и КПП юр.лица, // а в наименовании плательщика дополнительно(//.....) указывается ФИО физ.лица, // то в справочник Плательщики в наименовании записывать имя без дополнительных реквизитов var nameForDictionary = name; if (inn.Length == 10 && kpp.Length == 9) { nameForDictionary = name.Split("//")[0]; } var typePlat = inn.Length == 10 ? 1 :2; var org = new s_org() { Inn = inn, Kpp = kpp, Name = nameForDictionary, FullName = nameForDictionary, TypeOrg = 0, AdresJure = "", // в фоксе при импорте не записывались AdresFakt = "" // в фоксе при импорте не записывались }; var res = await dbContext.s_org.AddAsync(org); await dbContext.SaveChangesAsync(); // тест org.Sysid = res.Entity.Sysid; if (!string.IsNullOrWhiteSpace(rs)) { var schet = new s_schet() { OrgId = org.Sysid, BankId = null, // в фоксе банки не записывались Rs = rs }; await dbContext.s_schet.AddAsync(schet); await dbContext.SaveChangesAsync(); } return(org); }
public async Task WriteOrgSchet(List <ExpandoObject> lst) { _dohodDbContext.TruncateDbTable(typeof(s_schet).Name); foreach (dynamic obj in lst) { if (obj.ID_PLAT == null) { continue; } var idorg = (int)obj.ID_PLAT; var org = _dohodDbContext.s_org.AsNoTracking().Where(w => w.Sysid == idorg).FirstOrDefault(); if (org == null) { continue; } int?idbank = null; if (obj.ID_BNK != null) { idbank = (int)obj.ID_BNK; var bank = _dohodDbContext.s_bank.AsNoTracking().Where(w => w.Sysid == idbank).FirstOrDefault(); idbank = bank?.Sysid; } var schet = new s_schet(); schet.Sysid = (int)obj.SYSID; schet.OrgId = idorg; schet.BankId = idbank; schet.Rs = obj.RSCHET; FillAppEditFields(obj, schet); await _dohodDbContext.s_schet.AddAsync(schet); } await _dohodDbContext.SaveChangesAsync(); }