Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="station_from"></param>
        /// <param name="station_on"></param>
        /// <param name="tor"></param>
        /// <returns></returns>
        public OracleRules GetRulesCopyToOracleRules(int station_from, int station_on, typeOracleRules tor)
        {
            Oracle_RulesCopy rules = GetRulesCopy(station_from, station_on, tor);

            return(rules != null ? new OracleRules()
            {
                IDOn = rules.IDStationOn, IDFrom = new int[] { rules.IDStationFrom }
            } : null);
        }
Esempio n. 2
0
        /// <summary>
        /// Удалить
        /// </summary>
        /// <param name="IDRulesCopy"></param>
        /// <returns></returns>
        public Oracle_RulesCopy DeleteOracle_RulesCopy(int IDRulesCopy)
        {
            Oracle_RulesCopy dbEntry = context.Oracle_RulesCopy.Find(IDRulesCopy);

            if (dbEntry != null)
            {
                context.Oracle_RulesCopy.Remove(dbEntry);
                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    LogRW.LogError(e, "DeleteOracle_RulesCopy", eventID);
                    return(null);
                }
            }
            return(dbEntry);
        }
Esempio n. 3
0
        /// <summary>
        /// Сохранить правило и для станции прибытия (если станция отправки station_from = 0, будут сохранены все станции которые еще не указанные для данной станции прибытия)
        /// </summary>
        /// <param name="station_on"></param>
        /// <param name="station_from"></param>
        /// <param name="tp"></param>
        /// <returns></returns>
        public int CreateRulesCopy(int station_on, int station_from, typeOracleRules tp)
        {
            int result = 0;

            int[] stations_from = station_from == 0 ? rcs.GetListStations(rcs.GetStationOfNotListID(GetListIDfromRules(GetRulesCopy(station_on, tp)).ToArray())).ToArray() : new int[] { station_from };
            foreach (int ids in stations_from)
            {
                Oracle_RulesCopy or_ryles = new Oracle_RulesCopy()
                {
                    IDRulesCopy   = 0,
                    IDStationFrom = ids,
                    IDStationOn   = station_on,
                    TypeCopy      = (int)tp
                };
                int res = SaveOracle_RulesCopy(or_ryles);
                if (res > 0)
                {
                    result++;
                }
            }
            return(result);
        }
Esempio n. 4
0
        /// <summary>
        /// Добавить или править
        /// </summary>
        /// <param name="oracle_RulesCopy"></param>
        /// <returns></returns>
        public int SaveOracle_RulesCopy(Oracle_RulesCopy oracle_RulesCopy)
        {
            Oracle_RulesCopy dbEntry;

            if (oracle_RulesCopy.IDRulesCopy == 0)
            {
                dbEntry = new Oracle_RulesCopy()
                {
                    IDRulesCopy   = 0,
                    IDStationOn   = oracle_RulesCopy.IDStationOn,
                    IDStationFrom = oracle_RulesCopy.IDStationFrom,
                    TypeCopy      = oracle_RulesCopy.TypeCopy
                };
                context.Oracle_RulesCopy.Add(dbEntry);
            }
            else
            {
                dbEntry = context.Oracle_RulesCopy.Find(oracle_RulesCopy.IDRulesCopy);
                if (dbEntry != null)
                {
                    dbEntry.IDStationOn   = oracle_RulesCopy.IDStationOn;
                    dbEntry.IDStationFrom = oracle_RulesCopy.IDStationFrom;
                    dbEntry.TypeCopy      = oracle_RulesCopy.TypeCopy;
                }
            }
            try
            {
                context.SaveChanges();
            }
            catch (Exception e)
            {
                LogRW.LogError(e, "SaveOracle_RulesCopy", eventID);
                return(-1);
            }
            return(dbEntry.IDRulesCopy);
        }
Esempio n. 5
0
 /// <summary>
 /// Сохранить правило
 /// </summary>
 /// <param name="oracle_RulesCopy"></param>
 /// <returns></returns>
 public int SaveOracle_RulesCopy(Oracle_RulesCopy oracle_RulesCopy)
 {
     return(this.rep_rc.SaveOracle_RulesCopy(oracle_RulesCopy));
 }
Esempio n. 6
0
        /// <summary>
        /// Проверка есть на эти станции правила
        /// </summary>
        /// <param name="station_from"></param>
        /// <param name="station_on"></param>
        /// <param name="tp"></param>
        /// <returns></returns>
        public bool IsRules(int station_from, int station_on, typeOracleRules tp)
        {
            Oracle_RulesCopy rules = GetRulesCopy().Where(r => r.TypeCopy == (int)tp & r.IDStationFrom == station_from & r.IDStationOn == station_on).FirstOrDefault();

            return(rules != null ? true : false);
        }