public static Result UpdateRatingHistoryEntry(IRatingHistoryEntry pRatingHistoryEntry, RouteType pRouteType) { Result _result = new Result(true, null); try { using (Rbr_Db _db = new Rbr_Db()) { using (Transaction _tx = new Transaction(_db, pRatingHistoryEntry)) { RatingHistoryEntry[] _ratingHistoryEntries = RatingManager.GetRatingHistoryEntries(_db, pRatingHistoryEntry.RatedRouteId, pRouteType); if (_ratingHistoryEntries == null || _ratingHistoryEntries.Length == 0) { return(new Result(false, "Error saving Rates, no RatingHistoryEntries found.")); } RatingHistoryEntry _ratingHistoryEntry = null; foreach (RatingHistoryEntry _rate in _ratingHistoryEntries) { if (_rate.RateInfoId == pRatingHistoryEntry.RateInfoId) { _ratingHistoryEntry = _rate; break; } } if (_ratingHistoryEntry == null) { return(new Result(false, "Error saving Rates, matching RatingHistoryEntry not found.")); } if (pRatingHistoryEntry.RatingInfo.RegularDayRateEntry != null) { _ratingHistoryEntry.RatingInfo.RegularDayRateEntry = pRatingHistoryEntry.RatingInfo.RegularDayRateEntry; _ratingHistoryEntry.FirstDate = pRatingHistoryEntry.FirstDate; _ratingHistoryEntry.LastDate = pRatingHistoryEntry.LastDate; } if (pRatingHistoryEntry.RatingInfo.WeekendRateEntry != null) { _ratingHistoryEntry.RatingInfo.WeekendRateEntry = pRatingHistoryEntry.RatingInfo.WeekendRateEntry; _ratingHistoryEntry.FirstDate = pRatingHistoryEntry.FirstDate; _ratingHistoryEntry.LastDate = pRatingHistoryEntry.LastDate; } if (pRatingHistoryEntry.RatingInfo.HolidayRateEntry != null) { _ratingHistoryEntry.RatingInfo.HolidayRateEntry = pRatingHistoryEntry.RatingInfo.HolidayRateEntry; _ratingHistoryEntry.FirstDate = pRatingHistoryEntry.FirstDate; _ratingHistoryEntry.LastDate = pRatingHistoryEntry.LastDate; } _ratingHistoryEntry.RateInfoId = 0; RatingManager.SaveRatingHistoryEntry(_db, _ratingHistoryEntry); _tx.Commit(); } } } catch (Exception _ex) { TimokLogger.Instance.LogRbr(LogSeverity.Error, "RateController.Save(1)", string.Format("Exception:\r\n{0}", _ex)); _result = new Result(false, _ex.Message); } return(_result); }
public static RatingHistoryEntry[] GetRatingHistoryEntries(int pRatedRouteId, RouteType pRouteType) { using (var _db = new Rbr_Db()) { return(RatingManager.GetRatingHistoryEntries(_db, pRatedRouteId, pRouteType)); } }