Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }