/// <summary> /// Получить id груза по коду ЕТ СНГ /// </summary> /// <param name="id_cargo"></param> /// <returns></returns> public int DefinitionIDCargo(int id_cargo) { ReferenceCargo ref_cargo = g_ref.GetReferenceCargoOfCodeETSNG(id_cargo); if (ref_cargo == null) { Code_Cargo cargo = rw_ref.GetCargos_ETSNG(id_cargo, false); if (cargo == null) { cargo = rw_ref.GetCargos_ETSNG(id_cargo, true); if (cargo == null) { return(0); } } ReferenceCargo new_cargo = new ReferenceCargo() { IDCargo = 0, Name = cargo.ETSNG.Length > 200 ? cargo.ETSNG.Remove(199).Trim() : cargo.ETSNG.Trim(), NameFull = cargo.ETSNG.Length > 500 ? cargo.ETSNG.Remove(499).Trim() : cargo.ETSNG.Trim(), ETSNG = id_cargo }; int res = g_ref.SaveReferenceCargo(new_cargo); if (res > 0) { return(res); } else { return(0); } } return(ref_cargo.IDCargo); }
/// <summary> /// Определить Id груза по коду ЕТСНГ (если id нет в системе RailCars создать из данных КИС или справочника ЕТСНГ) /// </summary> /// <param name="id_cargo"></param> /// <returns></returns> public int?DefinitionIDGruzs(int id_cargo) { int?id_gr = rs_gr.GetIDGruzsToETSNG(id_cargo); if (id_gr == null) { PromGruzSP pg; pg = pc.GetGruzSPToTarGR(id_cargo, false); if (pg == null) { pg = pc.GetGruzSPToTarGR(id_cargo, true); if (pg == null) { Code_Cargo cargo = refRailway.GetCargos_ETSNG(id_cargo); if (cargo != null) { int res = rs_gr.SaveGruzs(new GRUZS() { id_gruz = 0, name = cargo.ETSNG.Length > 200 ? cargo.ETSNG.Remove(199).Trim() : cargo.ETSNG.Trim(), name_full = cargo.ETSNG.Length > 500 ? cargo.ETSNG.Remove(499).Trim() : cargo.ETSNG.Trim(), id_ora = null, id_ora2 = null, ETSNG = cargo.IDETSNG, }); if (res > 0) { id_gr = res; } } else { id_gr = 0; } } else { return(DefinitionIDGruzs(pg.K_GRUZ, null)); } } else { return(DefinitionIDGruzs(pg.K_GRUZ, null)); } } return(id_gr); }