/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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)); }
/// <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); }