internal static void ValidateUniqueConstraint(ISaveRequestHandler handler, IEnumerable<Field> fields, string errorMessage = null, BaseCriteria groupCriteria = null) { if (handler.IsUpdate && !fields.Any(x => x.IndexCompare(handler.Old, handler.Row) != 0)) return; var criteria = groupCriteria ?? Criteria.Empty; foreach (var field in fields) if (field.IsNull(handler.Row)) criteria &= field.IsNull(); else criteria &= field == new ValueCriteria(field.AsObject(handler.Row)); var idField = (Field)((IIdRow)handler.Row).IdField; if (handler.IsUpdate) criteria &= (Field)idField != new ValueCriteria(idField.AsObject(handler.Old)); var row = handler.Row.CreateNew(); if (new SqlQuery() .Dialect(handler.Connection.GetDialect()) .From(row) .Select("1") .Where(criteria) .Exists(handler.UnitOfWork.Connection)) { throw new ValidationError("UniqueViolation", String.Join(", ", fields.Select(x => x.PropertyName ?? x.Name)), String.Format(!string.IsNullOrEmpty(errorMessage) ? (LocalText.TryGet(errorMessage) ?? errorMessage) : LocalText.Get("Validation.UniqueConstraint"), String.Join(", ", fields.Select(x => x.Title)))); } }
public static bool IsEmpty(BaseCriteria criteria) { var array = criteria.As<object[]>(); return array.Length == 0 || (array.Length == 1 && array[0] is string && ((string)array[0]).Length == 0); }
public static BaseCriteria Paren(BaseCriteria criteria) { if (!criteria.IsEmpty) return new UnaryCriteria("()", criteria); return criteria; }
public static BaseCriteria Join(BaseCriteria criteria1, string op, BaseCriteria criteria2) { if (ReferenceEquals(null, criteria1) || criteria1.IsEmpty) return criteria2; if (ReferenceEquals(null, criteria2) || criteria2.IsEmpty) return criteria1; return new BinaryCriteria(criteria1, op, criteria2); }
public UnaryCriteria(CriteriaOperator op, BaseCriteria operand) { if (Object.ReferenceEquals(operand, null)) throw new ArgumentNullException("operand"); if (op < CriteriaOperator.Paren || op > CriteriaOperator.Exists) throw new ArgumentOutOfRangeException("op"); this.op = op; this.operand = operand; }
public BinaryCriteria(BaseCriteria left, CriteriaOperator op, BaseCriteria right) { if (ReferenceEquals(left, null)) throw new ArgumentNullException("left"); if (ReferenceEquals(right, null)) throw new ArgumentNullException("right"); if (op < CriteriaOperator.AND || op > CriteriaOperator.NotLike) throw new ArgumentOutOfRangeException("op"); this.left = left; this.right = right; this.op = op; }
public static BaseCriteria Join(BaseCriteria criteria1, string op, BaseCriteria criteria2) { if (ReferenceEquals(null, criteria1)) throw new ArgumentNullException("criteria1"); if (ReferenceEquals(null, criteria2)) throw new ArgumentNullException("criteria2"); if (criteria1.IsEmpty) return criteria2; if (criteria2.IsEmpty) return criteria1; return new BinaryCriteria(criteria1, op, criteria2); }
private UserDefinition GetFirst(IDbConnection connection, BaseCriteria criteria) { var user = connection.TrySingle<Entities.UserRow>(criteria); if (user != null) return new UserDefinition { UserId = user.UserId.Value, Username = user.Username, Email = user.Email, DisplayName = user.DisplayName, IsActive = user.IsActive.Value, Source = user.Source, PasswordHash = user.PasswordHash, PasswordSalt = user.PasswordSalt, UpdateDate = user.UpdateDate }; return null; }
public static MyRow GetUser(IDbConnection connection, BaseCriteria filter) { var row = new MyRow(); if (new SqlQuery().From(row) .Select( fld.UserId, fld.Username, fld.DisplayName, fld.PasswordHash, fld.PasswordSalt, fld.IsActive) .Where(filter) .GetFirst(connection)) { return(row); } return(null); }
/// <summary> /// Initializes a new instance of the <see cref="BinaryCriteria"/> class. /// </summary> /// <param name="left">The left operand.</param> /// <param name="op">The operator.</param> /// <param name="right">The right operand.</param> /// <exception cref="ArgumentNullException"> /// Left or right operand is null. /// </exception> /// <exception cref="ArgumentOutOfRangeException">Operator is not a binary one.</exception> public BinaryCriteria(BaseCriteria left, CriteriaOperator op, BaseCriteria right) { if (left is null) { throw new ArgumentNullException("left"); } if (right is null) { throw new ArgumentNullException("right"); } if (op < CriteriaOperator.AND || op > CriteriaOperator.NotLike) { throw new ArgumentOutOfRangeException("op"); } this.left = left; this.right = right; this.op = op; }
private UserDefinition GetFirst(IDbConnection connection, BaseCriteria criteria) { var user = connection.TrySingle<Entities.UserRow>(criteria); if (user != null) return new UserDefinition { UserId = user.UserId.Value, Username = user.Username, Email = user.Email, UserImage = user.UserImage, DisplayName = user.DisplayName, IsActive = user.IsActive.Value, Source = user.Source, PasswordHash = user.PasswordHash, PasswordSalt = user.PasswordSalt, UpdateDate = user.UpdateDate, LastDirectoryUpdate = user.LastDirectoryUpdate }; return null; }
protected virtual BaseCriteria Visit(BaseCriteria criteria) { if (Object.ReferenceEquals(null, criteria)) return null; if (criteria is Criteria) return VisitCriteria((Criteria)criteria); if (criteria is BinaryCriteria) return VisitBinary((BinaryCriteria)criteria); if (criteria is UnaryCriteria) return VisitUnary((UnaryCriteria)criteria); if (criteria is ValueCriteria) return VisitValue((ValueCriteria)criteria); if (criteria is ParamCriteria) return VisitParam((ParamCriteria)criteria); throw new Exception(String.Format("Unhandled criteria type: '{0}'", criteria.GetType().Name)); }
void UpdateCreteria() { IsFiltred = false; if (BaseCriteria == null) { return; } FiltredCriteria = (ICriteria)BaseCriteria.Clone(); if (!checkShowArchive.Active) { FiltredCriteria.Add(Restrictions.Eq(Projections.Property <Nomenclature>(x => x.IsArchive), false)); IsFiltred = true; } if (!chkShowDilers.Active) { FiltredCriteria.Add(Restrictions.Eq(Projections.Property <Nomenclature>(x => x.IsDiler), false)); IsFiltred = true; } if ((NomenclatureCategory)enumcomboType.SelectedItem == NomenclatureCategory.water) { FiltredCriteria.Add(Restrictions.Eq(Projections.Property <Nomenclature>(x => x.IsDisposableTare), chkOnlyDisposableTare.Active)); IsFiltred = true; } if (enumcomboType.SelectedItem is NomenclatureCategory) { FiltredCriteria.Add(Restrictions.Eq("Category", enumcomboType.SelectedItem)); IsFiltred = true; } else { FiltredCriteria.AddOrder(NHibernate.Criterion.Order.Asc("Category")); } OnRefiltered(); }
void UpdateCreteria() { IsFiltred = false; if (BaseCriteria == null) { return; } FiltredCriteria = (ICriteria)BaseCriteria.Clone(); if (!checkFired.Active) { FiltredCriteria.Add(Restrictions.Eq("IsFired", false)); IsFiltred = true; } if (enumcomboCategory.SelectedItem is EmployeeCategory) { FiltredCriteria.Add(Restrictions.Eq("Category", enumcomboCategory.SelectedItem)); IsFiltred = true; } OnRefiltered(); }
protected override MissedCommunicationList LoadList(BaseCriteria criteria) { try { //Initialize the CSqlDbCommand for execute the stored procedure CSqlDbCommand cmd = new CSqlDbCommand(DBCommands.USP_NS_GETMISSEDCOMMUNICATION); //Execute command CDAO.ExecReader(cmd); //Create new object to assign retrieved values. while (CDAO.DataReader.Read()) { MissedComm missedComm = new MissedComm(); missedComm.GroupName = CDAO.DataReader["GroupName"].ToStr(); missedComm.PuckName = CDAO.DataReader["PuckName"].ToStr(); missedComm.SensorType = CDAO.DataReader["SensorType"].ToStr(); missedComm.FactoryID = CDAO.DataReader["FactoryID"].ToStr(); missedComm.UTID = CDAO.DataReader["UTID"].ToStr(); missedComm.Probe = CDAO.DataReader["Probe"].ToInt(); missedComm.Interval = CDAO.DataReader["Interval"].ToInt(); missedComm.LogIntervalMins = CDAO.DataReader["LogIntervalMins"].ToInt(); missedComm.LastContact = CDAO.DataReader["LastContact"].ToDateTime(); this.Add(missedComm); } } catch { throw; } finally { CDAO.CloseDataReader(); CDAO.Dispose(); } //return filled object. return(this); }
protected virtual void ValidateUniqueConstraint(IEnumerable <Field> fields, string errorMessage = null, BaseCriteria groupCriteria = null) { if (IsUpdate && !fields.Any(x => x.IndexCompare(Old, Row) != 0)) { return; } var criteria = groupCriteria ?? Criteria.Empty; foreach (var field in fields) { if (field.IsNull(Row)) { criteria &= field.IsNull(); } else { criteria &= field == new ValueCriteria(field.AsObject(Row)); } } if (IsUpdate) { criteria &= (Field)Row.IdField != Row.IdField[Old].Value; } if (Connection.Exists <TRow>(criteria)) { throw new ValidationError("UniqueViolation", String.Join(", ", fields.Select(x => x.PropertyName ?? x.Name)), String.Format(!string.IsNullOrEmpty(errorMessage) ? (LocalText.TryGet(errorMessage) ?? errorMessage) : LocalText.Get("Validation.UniqueViolation"), String.Join(", ", fields.Select(x => x.Title)))); } }
protected override OrganizationalUnitList LoadList(BaseCriteria criteria) { try { Criteria listCriteria = (Criteria)criteria; //Initialize the CSqlDbCommand for execute the stored procedure CSqlDbCommand cmd = new CSqlDbCommand(DBCommands.USP_ORGANIZATIONALUNITS); //Execute reader CDAO.ExecReader(cmd); while (CDAO.DataReader.Read()) { OrganizationalUnit orgUnit = new OrganizationalUnit() { OUID = CDAO.DataReader["OUID"].ToInt(), OGID = CDAO.DataReader["OGID"].ToInt(), OUName = CDAO.DataReader["OUName"].ToStr(), DBName = CDAO.DataReader["DBName"].ToStr(), DSN = CDAO.DataReader["DSN"].ToStr(), isActive = CDAO.DataReader["isActive"].ToBoolean() }; this.Add(orgUnit); } } catch { throw; } finally { CDAO.CloseDataReader(); CDAO.Dispose(); } return(this); }
public static BaseCriteria Join(BaseCriteria criteria1, string op, BaseCriteria criteria2) { if (ReferenceEquals(null, criteria1)) { throw new ArgumentNullException("criteria1"); } if (ReferenceEquals(null, criteria2)) { throw new ArgumentNullException("criteria2"); } if (criteria1.IsEmpty) { return(criteria2); } if (criteria2.IsEmpty) { return(criteria1); } return(new BinaryCriteria(criteria1, op, criteria2)); }
public void Validate(BaseCriteria criteria) { Visit(criteria); }
protected override IQueryable <MeetingType> GetByCriteria(BaseCriteria <MeetingTypeViewModel> criteria) { return(Repository.GetQuery().Where(x => (x.CreatedBy == criteria.UserId || criteria.UserId == 1) && !x.IsRemoved)); }
public static BaseCriteria GetCriteriaFor(List <FilterLine> items) { if (items == null) { return(Criteria.Empty); } bool inParens = false; BaseCriteria currentBlock = Criteria.Empty; bool isBlockOr = false; BaseCriteria criteria = Criteria.Empty; for (int i = 0; i < items.Count; i++) { var line = items[i]; if (line.LeftParen || (inParens && line.RightParen)) { if (!currentBlock.IsEmpty) { if (inParens) { currentBlock = ~(currentBlock); } if (isBlockOr) { criteria |= currentBlock; } else { criteria &= currentBlock; } currentBlock = Criteria.Empty; } inParens = false; } if (line.LeftParen) { isBlockOr = line.IsOr; inParens = true; } if (line.IsOr) { currentBlock |= line.Criteria; } else { currentBlock &= line.Criteria; } } if (!currentBlock.IsEmpty) { if (isBlockOr) { criteria |= ~(currentBlock); } else { criteria &= ~(currentBlock); } } return(criteria); }
public bool ActivateFor(IRow row) { if (Target is null) { return(false); } attr = Target.GetAttribute <MasterDetailRelationAttribute>(); if (attr == null) { return(false); } var rowListType = Target.ValueType; if (!rowListType.IsGenericType || rowListType.GetGenericTypeDefinition() != typeof(List <>)) { throw new ArgumentException(string.Format("Field '{0}' in row type '{1}' has a MasterDetailRelationAttribute " + "but its property type is not a generic List (e.g. List<IRow>)!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } rowType = rowListType.GetGenericArguments()[0]; if (rowType.IsAbstract || !typeof(IRow).IsAssignableFrom(rowType) || rowType.IsInterface) { throw new ArgumentException(string.Format( "Field '{0}' in row type '{1}' has a MasterDetailRelationAttribute " + "but its property type is not a generic list of rows (e.g. List<IRow>)!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } rowListFactory = () => (IList)Activator.CreateInstance(rowListType); rowFactory = () => (IRow)Activator.CreateInstance(rowType); if (attr.MasterKeyField != null) { // Use field from AltIdField masterKeyField = row.FindFieldByPropertyName(attr.MasterKeyField) ?? row.FindField(attr.MasterKeyField); if (masterKeyField is null) { throw new ArgumentException(string.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a master detail relation in field '{2}'.", attr.MasterKeyField, row.GetType().FullName, Target.PropertyName ?? Target.Name)); } } else { // Default behaviour: use id field masterKeyField = row.IdField; } var detailRow = rowFactory(); foreignKeyField = detailRow.FindFieldByPropertyName(attr.ForeignKey) ?? detailRow.FindField(attr.ForeignKey); if (foreignKeyField is null) { throw new ArgumentException(string.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a master detail relation in field '{2}' of row type '{3}'.", attr.ForeignKey, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); } foreignKeyCriteria = new Criteria(foreignKeyField.PropertyName ?? foreignKeyField.Name); if (!string.IsNullOrEmpty(attr.FilterField)) { filterField = detailRow.FindFieldByPropertyName(attr.FilterField) ?? detailRow.FindField(attr.FilterField); if (filterField is null) { throw new ArgumentException(string.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a master detail relation as FilterField in field '{2}' of row type '{3}'.", attr.FilterField, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); } filterCriteria = new Criteria(filterField.PropertyName ?? filterField.Name); filterValue = filterField.ConvertValue(attr.FilterValue, CultureInfo.InvariantCulture); if (filterValue == null) { filterCriteria = filterCriteria.IsNull(); queryCriteria = filterField.IsNull(); } else { filterCriteria = filterCriteria == new ValueCriteria(filterValue); queryCriteria = filterField == new ValueCriteria(filterValue); } } queryCriteria &= ServiceQueryHelper.GetNotDeletedCriteria(detailRow); includeColumns = new HashSet <string>(); if (!string.IsNullOrEmpty(attr.IncludeColumns)) { foreach (var s in attr.IncludeColumns.Split(',')) { var col = s.TrimToNull(); if (col != null) { includeColumns.Add(col); } } } return(true); }
public bool ActivateFor(IRow row) { attr = row.GetType().GetCustomAttribute <LocalizationRowAttribute>(); if (attr == null) { return(false); } localRowType = attr.LocalizationRow; if (!typeof(ILocalizationRow).IsAssignableFrom(localRowType)) { throw new ArgumentException(string.Format( "Row type '{0}' has a LocalizationRowAttribute, " + "but its localization row type ('{1}') doesn't implement ILocalizationRow interface!", row.GetType().FullName, localRowType.FullName)); } if (!typeof(IIdRow).IsAssignableFrom(localRowType)) { throw new ArgumentException(string.Format( "Row type '{0}' has a LocalizationRowAttribute, " + "but its localization row type ('{1}') doesn't implement IIdRow interface!", row.GetType().FullName, localRowType.FullName)); } if (!(row is IIdRow)) { throw new ArgumentException(string.Format( "Row type '{0}' has a LocalizationRowAttribute, " + "but row type itself doesn't implement IIdRow interface!", row.GetType().FullName)); } var rowType = row.GetType(); rowFactory = () => (IIdRow)Activator.CreateInstance(rowType); localRowFactory = () => (ILocalizationRow)Activator.CreateInstance(localRowType); var localRow = localRowFactory(); localRowInstance = localRow; rowPrefixLength = PrefixHelper.DeterminePrefixLength(row.EnumerateTableFields(), x => x.Name); localRowPrefixLength = PrefixHelper.DeterminePrefixLength(localRow.EnumerateTableFields(), x => x.Name); localRowIdField = localRow.IdField; cultureIdField = localRow.CultureIdField; var foreignKeyFieldName = attr.MappedIdField ?? row.IdField.PropertyName; foreignKeyField = localRow.FindFieldByPropertyName(foreignKeyFieldName) ?? localRow.FindField(foreignKeyFieldName); if (foreignKeyField is null) { throw new ArgumentException(string.Format( "Row type '{0}' has a LocalizationRowAttribute, " + "but its localization row type ('{1}') doesn't have a field with name '{2}'!", row.GetType().FullName, localRowType.FullName, foreignKeyFieldName)); } var dictionaryType = typeof(Dictionary <,>).MakeGenericType(typeof(string), row.GetType()); dictionaryFactory = () => (IDictionary)Activator.CreateInstance(dictionaryType); foreignKeyCriteria = new Criteria(foreignKeyField.PropertyName ?? foreignKeyField.Name); return(true); }
/// <summary> /// Get Audio Stream by <paramref name="localMediaId"/> and <paramref name="audioStreamId"/> /// </summary> /// <param name="localMediaId">Local Media Id</param> /// <param name="audioStreamId">Audio Stream ID</param> /// <returns></returns> public static DBLocalMediaAudioStreams Get(int localMediaId, int audioStreamId) { DBField localMediaField = DBField.GetField(typeof(DBLocalMediaAudioStreams), "LocalMedia"); ICriteria localMediaCriteria = new BaseCriteria(localMediaField, "=", localMediaId); ICriteria criteria = localMediaCriteria; DBField audioStreamIdField = DBField.GetField(typeof(DBLocalMediaAudioStreams), "AudioStreamId"); ICriteria audioStreamIdCriteria = new BaseCriteria(audioStreamIdField, "=", audioStreamId); criteria = new GroupedCriteria(localMediaCriteria, GroupedCriteria.Operator.AND, audioStreamIdCriteria); List<DBLocalMediaAudioStreams> resultSet = MovingPicturesCore.DatabaseManager.Get<DBLocalMediaAudioStreams>(criteria); return resultSet.Count > 0 ? resultSet[0] : null; }
/// <summary> /// Gets all active IVR alarms. /// </summary> /// <param name="criteria"></param> /// <returns></returns> protected override IvrAlarmList LoadList(BaseCriteria criteria) { try { Criteria listCriteria = (Criteria)criteria; //Initialize the CSqlDbCommand for execute the stored procedure CSqlDbCommand cmd = new CSqlDbCommand(DBCommands.USP_NS_GET_IVRALARMLIST, System.Data.CommandType.StoredProcedure); cmd.AddWithValue("numAttempts", NumAttempts); //Execute reader CDAO.ExecReader(cmd); /*fill the object and add to list.*/ while (CDAO.DataReader.Read()) { IvrAlarm alarm = new IvrAlarm(); alarm.IVRPhoneNumber = CDAO.DataReader["PhoneNumber"].ToStr(); alarm.AlarmID = CDAO.DataReader["AlarmID"].ToInt(); alarm.IsSuccess = CDAO.DataReader["isSuccess"].ToBoolean(); alarm.NotificationID = CDAO.DataReader["Notification_RecID"].ToInt(); alarm.AttemptCount = CDAO.DataReader["numAttempts"].ToInt16(); alarm.QueueTime = TypeCommonExtensions.IfNull(CDAO.DataReader["QueueTime"], DateTime.UtcNow).ToDateTime(); alarm.LastAttemptTime = TypeCommonExtensions.IfNull(CDAO.DataReader["LastAttemptTime"], DateTime.UtcNow).ToDateTime(); alarm.IvrAlarmID = CDAO.DataReader["RecID"].ToInt(); alarm.UTID = CDAO.DataReader["UTID"].ToStr(); alarm.Probe = CDAO.DataReader["Probe"].ToInt(); alarm.SensorType = CDAO.DataReader["SensorType"].ToStr(); if (CDAO.DataReader["IVR_SensorName"] != DBNull.Value) { alarm.IVR_SensorName = CDAO.DataReader["IVR_SensorName"].ToStr(); } else { alarm.IVR_SensorName = (CDAO.DataReader["PuckName"].ToStr() == string.Empty ? "Sensor" : CDAO.DataReader["PuckName"].ToStr()); } alarm.Value = CDAO.DataReader["AlarmData"].ToDecimal(); alarm.AlarmMaxValue = CDAO.DataReader["CondMaxValue"].ToDecimal(); alarm.AlarmMinValue = CDAO.DataReader["CondMinValue"].ToDecimal(); alarm.CondThresholdMins = CDAO.DataReader["CondThresholdMins"].ToInt(); alarm.AlarmTime = TypeCommonExtensions.IfNull(CDAO.DataReader["AlarmTime"], DateTime.UtcNow).ToDateTime(); alarm.IVRUserID = CDAO.DataReader["UserID"].ToInt(); alarm.PersonName = CDAO.DataReader["FirstName"].ToString() + " " + CDAO.DataReader["LastName"].ToString(); alarm.LanguageID = (CDAO.DataReader["LanguageID"].ToInt() == 0 ? 1 : CDAO.DataReader["LanguageID"].ToInt()); alarm.IsCelsius = CDAO.DataReader["isCelsius"].ToBoolean(); alarm.StoreName = GenStoreInfo.GetInstance().StoreName; alarm.IvrID = CDAO.DataReader["RecID"].ToInt(); alarm.StoreNumber = GenStoreInfo.GetInstance().StorePhoneNumber.ToString(); alarm.AlarmStartTime = TypeCommonExtensions.IfNull(CDAO.DataReader["AlarmStartTime"], DateTime.UtcNow).ToDateTime(); //if (alarm.AlarmID > 0) this.Add(alarm); } } catch { throw; } finally { CDAO.CloseDataReader(); CDAO.Dispose(); } return(this); }
internal static void ValidateUniqueConstraint(ISaveRequestHandler handler, IEnumerable <Field> fields, ITextLocalizer localizer, string errorMessage = null, BaseCriteria groupCriteria = null) { if (handler.IsUpdate && !fields.Any(x => x.IndexCompare(handler.Old, handler.Row) != 0)) { return; } var criteria = groupCriteria ?? Criteria.Empty; foreach (var field in fields) { if (field.IsNull(handler.Row)) { criteria &= field.IsNull(); } else { criteria &= field == new ValueCriteria(field.AsSqlValue(handler.Row)); } } var idField = (Field)((IIdRow)handler.Row).IdField; if (handler.IsUpdate) { criteria &= (Field)idField != new ValueCriteria(idField.AsSqlValue(handler.Old)); } var row = handler.Row.CreateNew(); if (new SqlQuery() .Dialect(handler.Connection.GetDialect()) .From(row) .Select("1") .Where(criteria) .Exists(handler.UnitOfWork.Connection)) { throw new ValidationError("UniqueViolation", String.Join(", ", fields.Select(x => x.PropertyName ?? x.Name)), string.Format(!string.IsNullOrEmpty(errorMessage) ? (localizer.TryGet(errorMessage) ?? errorMessage) : localizer.Get("Validation.UniqueConstraint"), String.Join(", ", fields.Select(x => x.GetTitle(localizer))))); } }
/// <summary> /// Get Subtitles by <paramref name="localMediaId"/> and <paramref name="language"/> and <paramref name="isInternal"/> /// </summary> /// <param name="localMediaId">Local Media Id</param> /// <param name="language">Language</param> /// <param name="isInternal">Are there internal subtitles?</param> /// <returns></returns> public static DBLocalMediaSubtitles Get(int localMediaId, string language, bool isInternal) { logger.Debug("localMediaId: {0} | language: {1} | isInternal: {2}"); logger.Debug("Constructing LocalMedia Criteria..."); DBField localMediaField = DBField.GetField(typeof(DBLocalMediaSubtitles), "LocalMedia"); ICriteria localMediaCriteria = new BaseCriteria(localMediaField, "=", localMediaId); ICriteria localMediaAndLanguageCriteria = localMediaCriteria; logger.Debug("Constructing language Criteria..."); DBField languageField = DBField.GetField(typeof(DBLocalMediaSubtitles), "Language"); ICriteria languageCriteria = new BaseCriteria(languageField, "=", language); localMediaAndLanguageCriteria = new GroupedCriteria(localMediaCriteria, GroupedCriteria.Operator.AND, languageCriteria); ICriteria criteria = localMediaAndLanguageCriteria; logger.Debug("Constructing Internal Criteria..."); DBField isInternalField = DBField.GetField(typeof(DBLocalMediaSubtitles), "Internal"); ICriteria internalCriteria = new BaseCriteria(isInternalField, "=", isInternal); criteria = new GroupedCriteria(localMediaAndLanguageCriteria, GroupedCriteria.Operator.AND, internalCriteria); logger.Debug("Getting resultSet..."); List<DBLocalMediaSubtitles> resultSet = MovingPicturesCore.DatabaseManager.Get<DBLocalMediaSubtitles>(criteria); return resultSet.Count > 0 ? resultSet[0] : null; }
public void Update(Business.Entities.ShoppingCartItem item, BaseCriteria criteria) { throw new NotImplementedException(); }
public bool ActivateFor(Row row) { attr = row.GetType().GetCustomAttribute <LocalizationRowAttribute>(); if (attr == null) { return(false); } localRowType = attr.LocalizationRow; if (!typeof(ILocalizationRow).IsAssignableFrom(localRowType)) { throw new ArgumentException(String.Format( "Row type '{0}' has a LocalizationRowAttribute, " + "but its localization row type ('{1}') doesn't implement ILocalizationRow interface!", row.GetType().FullName, localRowType.FullName)); } if (!typeof(IIdRow).IsAssignableFrom(localRowType)) { throw new ArgumentException(String.Format( "Row type '{0}' has a LocalizationRowAttribute, " + "but its localization row type ('{1}') doesn't implement IIdRow interface!", row.GetType().FullName, localRowType.FullName)); } if (!(row is IIdRow)) { throw new ArgumentException(String.Format( "Row type '{0}' has a LocalizationRowAttribute, " + "but row type itself doesn't implement IIdRow interface!", row.GetType().FullName)); } rowFactory = FastReflection.DelegateForConstructor <Row>(row.GetType()); localRowFactory = FastReflection.DelegateForConstructor <Row>(localRowType); var localRow = localRowFactory(); localRowInstance = localRow; rowPrefixLength = PrefixHelper.DeterminePrefixLength(row.EnumerateTableFields(), x => x.Name); localRowPrefixLength = PrefixHelper.DeterminePrefixLength(localRow.EnumerateTableFields(), x => x.Name); localRowIdField = (Field)(((IIdRow)localRow).IdField); cultureIdField = ((ILocalizationRow)localRow).CultureIdField; var foreignKeyFieldName = attr.MappedIdField ?? ((Field)((IIdRow)row).IdField).PropertyName; foreignKeyField = localRow.FindFieldByPropertyName(foreignKeyFieldName) ?? localRow.FindField(foreignKeyFieldName); if (ReferenceEquals(null, foreignKeyField)) { throw new ArgumentException(String.Format( "Row type '{0}' has a LocalizationRowAttribute, " + "but its localization row type ('{1}') doesn't have a field with name '{2}'!", row.GetType().FullName, localRowType.FullName, foreignKeyFieldName)); } dictionaryFactory = FastReflection.DelegateForConstructor <IDictionary>( typeof(Dictionary <,>).MakeGenericType(typeof(string), row.GetType())); this.foreignKeyCriteria = new Criteria(foreignKeyField.PropertyName ?? foreignKeyField.Name); return(true); }
/// <summary> /// Gets alarm list. /// </summary> /// <param name="criteria"></param> /// <returns></returns> protected override AlarmList LoadList(BaseCriteria criteria) { try { Criteria listCriteria = (Criteria)criteria; //Initialize the CSqlDbCommand for execute the stored procedure CSqlDbCommand cmd = new CSqlDbCommand(DBCommands.USP_NS_GET_ALARMLIST, System.Data.CommandType.StoredProcedure); //Execute reader CDAO.ExecReader(cmd); bool flag = true; System.Collections.Hashtable extFields = null; List <string> fields = new List <string>(); while (CDAO.DataReader.Read()) { //For the first time get all the field names if (flag) { for (int index = 0; index < CDAO.DataReader.FieldCount; index++) { fields.Add(CDAO.DataReader.GetName(index)); } //Remove known fields from the list. fields.Remove("UTID"); fields.Remove("Probe"); fields.Remove("ProbeName"); fields.Remove("PuckDesc2"); fields.Remove("FactoryID"); fields.Remove("AlarmType"); fields.Remove("AlarmID"); fields.Remove("SensorType"); fields.Remove("SensorClass"); fields.Remove("Options"); fields.Remove("AlarmData"); fields.Remove("CondMaxValue"); fields.Remove("CondMinValue"); fields.Remove("CondThresholdMins"); fields.Remove("NotificationRecID"); fields.Remove("AlarmProfileRecID"); fields.Remove("NotificationProfileID"); fields.Remove("EscalationProfileID"); fields.Remove("AlarmTime"); fields.Remove("AlarmStartTime"); fields.Remove("PagerMessage"); fields.Remove("SwitchBitmask"); fields.Remove("Severity"); fields.Remove("GroupName"); fields.Remove("NotifyResetFlags"); flag = false; } extFields = new System.Collections.Hashtable(); //Adding all extra fields in to a hash table. foreach (string item in fields) { extFields.Add(item, CDAO.DataReader[item]); } AlarmObject alarm = new AlarmObject(); alarm.AddtionalFields = extFields; alarm.UTID = CDAO.DataReader["UTID"].ToStr(); alarm.Probe = CDAO.DataReader["Probe"].ToInt(); alarm.ProbeName = CDAO.DataReader["ProbeName"].ToStr(); alarm.ProbeName2 = CDAO.DataReader["PuckDesc2"].ToStr(); alarm.FactoryID = CDAO.DataReader["FactoryID"].ToStr(); alarm.AlarmType = CDAO.DataReader["AlarmType"].ToInt16(); alarm.AlarmID = CDAO.DataReader["AlarmID"].ToInt(); alarm.SensorType = CDAO.DataReader["SensorType"].ToStr(); alarm.SensorClass = CDAO.DataReader["SensorClass"].ToStr(); //alarm.IsNewAlarmRecordWasCreated = (CDAO.DataReader["Options"].ToInt() == 0 ? false : true); if (alarm.AlarmType >= AlarmType.RESETMODE) { //if the alarm type is reset, then alarm.SensorAlarmID = alarm.UTID + "_" + alarm.Probe + "_" + (alarm.AlarmType - AlarmType.RESETMODE).ToString(); } else { alarm.SensorAlarmID = alarm.UTID + "_" + alarm.Probe + "_" + alarm.AlarmType.ToString(); } alarm.AlarmTime = TypeCommonExtensions.IfNull(CDAO.DataReader["AlarmTime"], DateTime.UtcNow).ToDateTime(); alarm.AlarmStartTime = TypeCommonExtensions.IfNull(CDAO.DataReader["AlarmStartTime"], alarm.AlarmTime).ToDateTime(); if (alarm.AlarmStartTime == DateTime.MinValue || alarm.AlarmStartTime < DateTime.Parse("1/1/2000")) { alarm.AlarmStartTime = alarm.AlarmTime; } alarm.Value = CDAO.DataReader["AlarmData"].ToDecimal(); alarm.AlarmMaxValue = CDAO.DataReader["CondMaxValue"].ToDecimal(); alarm.AlarmMinValue = CDAO.DataReader["CondMinValue"].ToDecimal(); alarm.Threshold = Common.DateDiff("n", alarm.AlarmStartTime, alarm.AlarmTime); alarm.CondThresholdMins = CDAO.DataReader["CondThresholdMins"].ToInt(); alarm.TimeOutOfRange = Common.DateDiff("n", alarm.AlarmStartTime, alarm.AlarmTime); alarm.NotificationID = CDAO.DataReader["NotificationRecID"].ToInt(); alarm.AlarmProfileID = CDAO.DataReader["AlarmProfileRecID"].ToInt(); alarm.NotifyProfileID = CDAO.DataReader["NotificationProfileID"].ToInt(); alarm.EscalationProfileID = CDAO.DataReader["EscalationProfileID"].ToInt(); alarm.PagerMessage = CDAO.DataReader["PagerPrompt"].ToStr(); alarm.SwitchBitmask = CDAO.DataReader["SwitchBitmask"].ToInt16(); alarm.Severity = (Severity)CDAO.DataReader["Severity"].ToInt(); alarm.DisplayValue = alarm.Value.ToString(); alarm.ResetNotifyOnUserAck = (CDAO.DataReader["NotifyResetFlags"].ToInt() & 1).ToBoolean(); alarm.ResetNotifyOnSensorNormalRange = (CDAO.DataReader["NotifyResetFlags"].ToInt() & 2).ToBoolean(); if (AlarmHelper.IsContactSensor(alarm.SensorType)) { if (alarm.Value == 0) { alarm.DisplayValue = "CLOSED"; } else { alarm.DisplayValue = "OPEN"; } } // Only allow "ShowCelsius" flag to be set for "TEMP" type sensors alarm.IsCelsius = (AlarmHelper.IsTempSensor(alarm.SensorType) ? (((CDAO.DataReader["NotifyFlags"].ToInt()) & 0x1) != 0) : false); alarm.GroupName = CDAO.DataReader["GroupName"].ToStr(); //ProcessStatus will be returned as "O" if it is a old notification. if (CDAO.DataReader["ProcessStatus"].ToStr() == "O") { alarm.IsResumedNitification = true; } else { alarm.IsResumedNitification = false; } this.Add(alarm); } } catch { throw; } finally { CDAO.CloseDataReader(); // Added on 2/19/2012 // To dispose the data reader object // Srinivas Rao E CDAO.Dispose(); } return(this); }
public static DBMovieInfo GetByFitId(int id) { ICriteria fitIdFilter = new BaseCriteria(DBField.GetField(typeof(DBMovieInfo), "FitId"), "=", id); List<DBMovieInfo> foundMovies = MovingPicturesCore.DatabaseManager.Get<DBMovieInfo>(fitIdFilter); if (foundMovies.Count > 0) return foundMovies[0]; return null; }
public bool ActivateFor(Row row) { if (ReferenceEquals(null, Target)) return false; attr = Target.GetAttribute<MasterDetailRelationAttribute>(); if (attr == null) return false; var rowListType = Target.ValueType; if (!rowListType.IsGenericType || rowListType.GetGenericTypeDefinition() != typeof(List<>)) { throw new ArgumentException(String.Format("Field '{0}' in row type '{1}' has a MasterDetailRelationAttribute " + "but its property type is not a generic List (e.g. List<Row>)!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } var rowType = rowListType.GetGenericArguments()[0]; if (rowType.IsAbstract || !typeof(Row).IsAssignableFrom(rowType)) { throw new ArgumentException(String.Format( "Field '{0}' in row type '{1}' has a MasterDetailRelationAttribute " + "but its property type is not a generic list of rows (e.g. List<Row>)!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } rowListFactory = FastReflection.DelegateForConstructor<IList>(rowListType); rowFactory = FastReflection.DelegateForConstructor<Row>(rowType); listHandlerFactory = FastReflection.DelegateForConstructor<IListRequestProcessor>( typeof(ListRequestHandler<>).MakeGenericType(rowType)); saveHandlerFactory = FastReflection.DelegateForConstructor<ISaveRequestProcessor>( typeof(SaveRequestHandler<>).MakeGenericType(rowType)); saveRequestFactory = FastReflection.DelegateForConstructor<ISaveRequest>( typeof(SaveRequest<>).MakeGenericType(rowType)); deleteHandlerFactory = FastReflection.DelegateForConstructor<IDeleteRequestProcessor>( typeof(DeleteRequestHandler<>).MakeGenericType(rowType)); if (attr.MasterKeyField != null) { // Use field from AltIdField masterKeyField = row.FindFieldByPropertyName(attr.MasterKeyField) ?? row.FindField(attr.MasterKeyField); if (ReferenceEquals(masterKeyField, null)) throw new ArgumentException(String.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a master detail relation in field '{2}'.", attr.MasterKeyField, row.GetType().FullName, Target.PropertyName ?? Target.Name)); } else { // Default behaviour: use id field masterKeyField = (Field)((row as IIdRow).IdField); } var detailRow = rowFactory(); foreignKeyField = detailRow.FindFieldByPropertyName(attr.ForeignKey) ?? detailRow.FindField(attr.ForeignKey); if (ReferenceEquals(foreignKeyField, null)) throw new ArgumentException(String.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a master detail relation in field '{2}' of row type '{3}'.", attr.ForeignKey, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); this.foreignKeyCriteria = new Criteria(foreignKeyField.PropertyName ?? foreignKeyField.Name); if (!string.IsNullOrEmpty(attr.FilterField)) { this.filterField = detailRow.FindFieldByPropertyName(attr.FilterField) ?? detailRow.FindField(attr.FilterField); if (ReferenceEquals(null, this.filterField)) throw new ArgumentException(String.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a master detail relation as FilterField in field '{2}' of row type '{3}'.", attr.FilterField, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); this.filterCriteria = new Criteria(filterField.PropertyName ?? filterField.Name); this.filterValue = filterField.ConvertValue(attr.FilterValue, CultureInfo.InvariantCulture); if (this.filterValue == null) { this.filterCriteria = this.filterCriteria.IsNull(); this.queryCriteria = this.filterField.IsNull(); } else { this.filterCriteria = this.filterCriteria == new ValueCriteria(this.filterValue); this.queryCriteria = this.filterField == new ValueCriteria(this.filterValue); } } queryCriteria = queryCriteria & ServiceQueryHelper.GetNotDeletedCriteria(detailRow); this.includeColumns = new HashSet<string>(); if (!string.IsNullOrEmpty(attr.IncludeColumns)) foreach (var s in attr.IncludeColumns.Split(',')) { var col = s.TrimToNull(); if (col != null) this.includeColumns.Add(col); } return true; }
private UserDefinition GetFirst(IDbConnection connection, BaseCriteria criteria) { var user = connection.TrySingle <Entities.UserRow>(criteria); if (user != null) { TbKtpRow dataKtp = GetDataKtp(user.Username); List <TbSlideShowRow> dataSlideshow = new List <TbSlideShowRow>(); if (dataKtp.KodeRt != null && dataKtp.KodeRt != "") { dataSlideshow = GetSlideshow(dataKtp.KodeRt); } string userRoles = GetUserRoles(user.UserId.Value); //var permission = TwoLevelCache.GetLocalStoreOnly("ScriptUserPermissions:" + user.UserId.Value, TimeSpan.Zero, //UserPermissionRow.Fields.GenerationKey, () => //{ // var permissions = new Dictionary<string, bool>(StringComparer.OrdinalIgnoreCase); // if (permissionsUsedFromScript == null) // { // permissionsUsedFromScript = new UserPermissionRepository().ListPermissionKeys().Entities // .Where(permissionKey => // { // // this sends permission information for all permission keys to client side. // // if you don't need all of them to be available from script, filter them here. // // this is recommended for security / performance reasons... // return true; // }).ToArray(); // } // foreach (var permissionKey in permissionsUsedFromScript) // { // if (Authorization.HasPermission(permissionKey)) // permissions[permissionKey] = true; // } // return permissions; //}); return(new UserDefinition { UserId = user.UserId.Value, Username = user.Username, Email = user.Email, UserImage = user.UserImage, DisplayName = user.DisplayName, IsActive = user.IsActive.Value, Source = user.Source, PasswordHash = user.PasswordHash, PasswordSalt = user.PasswordSalt, UpdateDate = user.UpdateDate, LastDirectoryUpdate = user.LastDirectoryUpdate, Ktp = dataKtp, SlideShow = dataSlideshow, UserRoles = userRoles }); } return(null); }
/// <summary> /// Validates the specified criteria. /// </summary> /// <param name="criteria">The criteria.</param> public void Validate(BaseCriteria criteria) { Visit(criteria); }
private void ToJson(JsonWriter writer, BaseCriteria criteria, JsonSerializer serializer) { if (Object.ReferenceEquals(null, criteria) || criteria.IsEmpty) { writer.WriteNull(); return; } if (criteria is ValueCriteria) { var value = ((ValueCriteria)criteria).Value; if (value != null && value is IEnumerable && !(value is string)) { // make sure that first value in array won't be recognized as a operator // while deserializing (e.g. if values are [">", "a", "b"], serialize them // as [[">", "a", "b"]] so that the first > won't be recognized as GE operator. writer.WriteStartArray(); serializer.Serialize(writer, value); writer.WriteEndArray(); return; } serializer.Serialize(writer, value ); return; } if (criteria is ParamCriteria) { writer.WriteStartArray(); serializer.Serialize(writer, ((ParamCriteria)criteria).Name); writer.WriteEndArray(); return; } if (criteria is Criteria) { writer.WriteStartArray(); serializer.Serialize(writer, ((Criteria)criteria).Expression); writer.WriteEndArray(); return; } if (criteria is UnaryCriteria) { writer.WriteStartArray(); var c = (UnaryCriteria)criteria; writer.WriteValue(OperatorToKey[(int)c.Operator]); ToJson(writer, c.Operand, serializer); writer.WriteEndArray(); return; } if (criteria is BinaryCriteria) { writer.WriteStartArray(); var c = (BinaryCriteria)criteria; ToJson(writer, c.LeftOperand, serializer); writer.WriteValue(OperatorToKey[(int)c.Operator]); ToJson(writer, c.RightOperand, serializer); writer.WriteEndArray(); return; } throw new JsonSerializationException(String.Format("Can't serialize criteria of type {0}", criteria.GetType().FullName)); }
/// <summary> /// Get a movie object by movie name /// </summary> /// <param name="movieName">Name of a movie</param> /// <returns>Returns a movie object or null if no movie was found.</returns> private static DBMovieInfo GetMovieByName(string movieName) { ICriteria titleFilter = new BaseCriteria(DBField.GetField(typeof(DBMovieInfo), "Title"), "like", "%" + movieName + "%"); List<DBMovieInfo> foundMovies = MovingPicturesCore.DatabaseManager.Get<DBMovieInfo>(titleFilter); // If there are more than one result return the movie with an exact title // match or first movie if no exact match was found if (foundMovies.Count > 1) { foreach (DBMovieInfo movie in foundMovies) { if (movie.Title.ToLower().Equals(movieName.ToLower())) { return movie; } } return foundMovies[0]; } else { // Return the first and only movie or null if there was no result if (foundMovies.Count == 1) { return foundMovies[0]; } else { WifiRemote.LogMessage("Could not find MovingPictures movie " + movieName, WifiRemote.LogType.Info); return null; } } }
/// <summary> /// Get all Audio Streams for LocalMedia with <paramref name="localMediaId"/> /// </summary> /// <param name="localMediaId">LocalMedia ID</param> /// <returns></returns> public static List<DBLocalMediaAudioStreams> GetAll(int localMediaId) { DBField localMediaField = DBField.GetField(typeof(DBLocalMediaAudioStreams), "LocalMedia"); ICriteria localMediaCriteria = new BaseCriteria(localMediaField, "=", localMediaId); List<DBLocalMediaAudioStreams> resultSet = MovingPicturesCore.DatabaseManager.Get<DBLocalMediaAudioStreams>(localMediaCriteria); return resultSet; }
public bool ActivateFor(IRow row) { if (Target is null) { return(false); } attr = Target.GetAttribute <LinkingSetRelationAttribute>(); if (attr == null) { return(false); } if (!(row is IIdRow)) { throw new ArgumentException(string.Format("Field '{0}' in row type '{1}' has a [LinkingSetRelation] attribute " + "but it doesn't implement IIdRow!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } var listType = Target.ValueType; if (!listType.IsGenericType || listType.GetGenericTypeDefinition() != typeof(List <>)) { throw new ArgumentException(string.Format("Field '{0}' in row type '{1}' has a [LinkingSetRelation] attribute " + "but its property type is not a generic List (e.g. List<int>)!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } rowType = attr.RowType; if (rowType.IsAbstract || !typeof(IRow).IsAssignableFrom(rowType) || rowType.IsInterface) { throw new ArgumentException(string.Format( "Field '{0}' in row type '{1}' has a LinkingSetRelationBehavior " + "but specified row type is not valid row class!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } if (!typeof(IIdRow).IsAssignableFrom(rowType)) { throw new ArgumentException(string.Format( "Field '{0}' in row type '{1}' has a LinkingSetRelationBehavior " + "but specified row type doesn't implement IIdRow!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } listFactory = () => (IList)Activator.CreateInstance(listType); rowFactory = () => (IRow)Activator.CreateInstance(rowType); var detailRow = rowFactory(); thisKeyField = detailRow.FindFieldByPropertyName(attr.ThisKey) ?? detailRow.FindField(attr.ThisKey); if (thisKeyField is null) { throw new ArgumentException(string.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a linking set relation in field '{2}' of row type '{3}'.", attr.ThisKey, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); } thisKeyCriteria = new Criteria(thisKeyField.PropertyName ?? thisKeyField.Name); itemKeyField = detailRow.FindFieldByPropertyName(attr.ItemKey) ?? detailRow.FindField(attr.ItemKey); if (itemKeyField is null) { throw new ArgumentException(string.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a linking set relation in field '{2}' of row type '{3}'.", attr.ItemKey, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); } if (!string.IsNullOrEmpty(attr.FilterField)) { filterField = detailRow.FindFieldByPropertyName(attr.FilterField) ?? detailRow.FindField(attr.FilterField); if (filterField is null) { throw new ArgumentException(string.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a linking set relation as FilterField in field '{2}' of row type '{3}'.", attr.FilterField, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); } filterCriteria = new Criteria(filterField.PropertyName ?? filterField.Name); filterValue = filterField.ConvertValue(attr.FilterValue, CultureInfo.InvariantCulture); if (filterValue == null) { filterCriteria = filterCriteria.IsNull(); queryCriteria = filterField.IsNull(); } else { filterCriteria = filterCriteria == new ValueCriteria(filterValue); queryCriteria = filterField == new ValueCriteria(filterValue); } } queryCriteria &= ServiceQueryHelper.GetNotDeletedCriteria(detailRow); return(true); }
protected override CurrentStatusAlarmList LoadList(BaseCriteria baseCriteria) { try { Criteria criteria = (Criteria)baseCriteria; CSqlDbCommand cmd = new CSqlDbCommand(DBCommands.USP_NS_ALARMCURRENTSTATUS, System.Data.CommandType.StoredProcedure); cmd.Parameters.AddWithValue("action", "L"); // This stored procedure was changed to an integer because on SQL 2000 the bit was being sent as a 'T' or an 'F' instead of a 1 or 0 if (criteria.Fields != null) { cmd.Parameters.AddWithValue("isServiceRestarted", Convert.ToInt32(criteria.Fields["isServiceRestarted"])); } else { cmd.Parameters.AddWithValue("isServiceRestarted", DBNull.Value); } CDAO.ExecReader(cmd); while (CDAO.DataReader.Read()) { AlarmObject alarm = new AlarmObject(); alarm.UTID = CDAO.DataReader["UTID"].ToStr(); alarm.Probe = CDAO.DataReader["Probe"].ToInt(); alarm.ProbeName = CDAO.DataReader["ProbeName"].ToStr(); alarm.ProbeName2 = CDAO.DataReader["ProbeName2"].ToStr(); alarm.FactoryID = CDAO.DataReader["FactoryID"].ToStr(); alarm.AlarmType = CDAO.DataReader["AlarmType"].ToInt16(); alarm.AlarmID = CDAO.DataReader["AlarmID"].ToInt(); alarm.SensorType = CDAO.DataReader["SensorType"].ToStr(); alarm.SensorClass = CDAO.DataReader["SensorClass"].ToStr(); alarm.SensorAlarmID = CDAO.DataReader["SensorAlarmID"].ToStr(); alarm.AlarmTime = CDAO.DataReader["AlarmTime"].ToDateTime(); alarm.AlarmStartTime = CDAO.DataReader["AlarmStartTime"].ToDateTime(); alarm.Value = CDAO.DataReader["Value"].ToDecimal(); alarm.AlarmMaxValue = CDAO.DataReader["AlarmMaxValue"].ToDecimal(); alarm.AlarmMinValue = CDAO.DataReader["AlarmMinValue"].ToDecimal(); alarm.Threshold = CDAO.DataReader["Threshold"].ToInt(); alarm.CondThresholdMins = CDAO.DataReader["CondThresholdMins"].ToInt(); alarm.TimeOutOfRange = CDAO.DataReader["TimeOutOfRange"].ToInt(); alarm.NotificationID = CDAO.DataReader["NotificationID"].ToInt(); alarm.AlarmProfileID = CDAO.DataReader["AlarmProfileID"].ToInt(); alarm.NotifyProfileID = CDAO.DataReader["NotifyProfileID"].ToInt(); alarm.EscalationProfileID = CDAO.DataReader["EscalationProfileID"].ToInt(); alarm.PagerMessage = CDAO.DataReader["PagerMessage"].ToStr(); alarm.SwitchBitmask = CDAO.DataReader["SwitchBitmask"].ToInt16(); alarm.Severity = (Severity)CDAO.DataReader["Severity"].ToInt(); alarm.ResetNotifyOnUserAck = CDAO.DataReader["ResetNotifyOnUserAck"].ToBoolean(); alarm.ResetNotifyOnSensorNormalRange = CDAO.DataReader["ResetNotifyOnSensorNormalRange"].ToBoolean(); alarm.DisplayValue = CDAO.DataReader["DisplayValue"].ToStr(); // Only allow "ShowCelsius" flag to be set for "TEMP" type sensors alarm.IsCelsius = CDAO.DataReader["IsCelsius"].ToBoolean(); alarm.GroupName = CDAO.DataReader["GroupName"].ToStr(); alarm.IsResumedNitification = CDAO.DataReader["IsResumedNitification"].ToBoolean(); alarm.NotificationStartTime = CDAO.DataReader["NotificationStartTime"].ToDateTime(); alarm.IsElapsed = CDAO.DataReader["IsElapsed"].ToBoolean(); alarm.NotificationType = CDAO.DataReader["NotificationType"].ToStr(); alarm.EscRecID = CDAO.DataReader["EscalationRecID"].ToInt(); alarm.NotificationSentCount = CDAO.DataReader["NotificationSentCount"].ToInt(); this.Add(alarm); } } catch { throw; } finally { CDAO.CloseDataReader(); CDAO.Dispose(); } return(this); }
public bool ActivateFor(Row row) { if (ReferenceEquals(null, Target)) { return(false); } attr = Target.GetAttribute <LinkingSetRelationAttribute>(); if (attr == null) { return(false); } if (!(row is IIdRow)) { throw new ArgumentException(String.Format("Field '{0}' in row type '{1}' has a LinkingSetRelationBehavior " + "but it doesn't implement IIdRow!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } var listType = Target.ValueType; if (!listType.IsGenericType || listType.GetGenericTypeDefinition() != typeof(List <>)) { throw new ArgumentException(String.Format("Field '{0}' in row type '{1}' has a LinkingSetRelationBehavior " + "but its property type is not a generic List (e.g. List<int>)!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } var rowType = attr.RowType; if (rowType.IsAbstract || !typeof(Row).IsAssignableFrom(rowType)) { throw new ArgumentException(String.Format( "Field '{0}' in row type '{1}' has a LinkingSetRelationBehavior " + "but specified row type is not valid row class!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } if (!typeof(IIdRow).IsAssignableFrom(rowType)) { throw new ArgumentException(String.Format( "Field '{0}' in row type '{1}' has a LinkingSetRelationBehavior " + "but specified row type doesn't implement IIdRow!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } listFactory = FastReflection.DelegateForConstructor <IList>(listType); rowFactory = FastReflection.DelegateForConstructor <Row>(rowType); listHandlerFactory = FastReflection.DelegateForConstructor <IListRequestProcessor>( typeof(ListRequestHandler <>).MakeGenericType(rowType)); saveHandlerFactory = FastReflection.DelegateForConstructor <ISaveRequestProcessor>( typeof(SaveRequestHandler <>).MakeGenericType(rowType)); saveRequestFactory = FastReflection.DelegateForConstructor <ISaveRequest>( typeof(SaveRequest <>).MakeGenericType(rowType)); deleteHandlerFactory = FastReflection.DelegateForConstructor <IDeleteRequestProcessor>( typeof(DeleteRequestHandler <>).MakeGenericType(rowType)); var detailRow = rowFactory(); thisKeyField = detailRow.FindFieldByPropertyName(attr.ThisKey) ?? detailRow.FindField(attr.ThisKey); if (ReferenceEquals(thisKeyField, null)) { throw new ArgumentException(String.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a linking set relation in field '{2}' of row type '{3}'.", attr.ThisKey, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); } this.thisKeyCriteria = new Criteria(thisKeyField.PropertyName ?? thisKeyField.Name); itemKeyField = detailRow.FindFieldByPropertyName(attr.ItemKey) ?? detailRow.FindField(attr.ItemKey); if (ReferenceEquals(itemKeyField, null)) { throw new ArgumentException(String.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a linking set relation in field '{2}' of row type '{3}'.", attr.ItemKey, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); } if (!string.IsNullOrEmpty(attr.FilterField)) { this.filterField = detailRow.FindFieldByPropertyName(attr.FilterField) ?? detailRow.FindField(attr.FilterField); if (ReferenceEquals(null, this.filterField)) { throw new ArgumentException(String.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a linking set relation as FilterField in field '{2}' of row type '{3}'.", attr.FilterField, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); } this.filterCriteria = new Criteria(filterField.PropertyName ?? filterField.Name); this.filterValue = filterField.ConvertValue(attr.FilterValue, CultureInfo.InvariantCulture); if (this.filterValue == null) { this.filterCriteria = this.filterCriteria.IsNull(); this.filterCriteriaT0 = this.filterField.IsNull(); } else { this.filterCriteria = this.filterCriteria == new ValueCriteria(this.filterValue); this.filterCriteriaT0 = this.filterField == new ValueCriteria(this.filterValue); } } return(true); }
public void Update(Store item, BaseCriteria criteria) { throw new NotImplementedException(); }
/// <summary> /// Add additional User parameters to the Sql Command /// </summary> /// <param name="command">SQL Command instance</param> /// <param name="criteria">Base user criteria</param> protected override void AddProcParameters(SqlCommand command, BaseCriteria criteria) { base.AddProcParameters(command, criteria); command.Parameters.AddWithValue("@UserID", criteria.UserID); }
public async Task <PagedList <TViewModel> > GetAsync(BaseCriteria <TViewModel> criteria) { IQueryable <TEntity> query = GetByCriteria(criteria); return(await ToPagedListAsync(query, criteria.PageSize, criteria.PageNumber)); }
public UnaryCriteria(string op, BaseCriteria operand) { }
public BinaryCriteria(BaseCriteria left, string op, BaseCriteria right) { }
/// <summary> /// Returns a list of DBArtistInfo objects that match the Album /// </summary> /// <param name="mbid"></param> /// <returns></returns> public static List<DBArtistInfo> GetEntriesByArtistMbID(string artistmbid) { DBField artistmbidField = DBField.GetField(typeof(DBArtistInfo), "MdID"); ICriteria criteria = new BaseCriteria(artistmbidField, "=", artistmbid); return mvCentralCore.DatabaseManager.Get<DBArtistInfo>(criteria); }
protected virtual BaseCriteria ReplaceFieldExpressions(BaseCriteria criteria) { return(new CriteriaFieldExpressionReplacer(this.Row) .Process(criteria)); }
/// <summary> /// Returns a list of DBTrackInfo objects that match the Album /// </summary> /// <param name="mbid"></param> /// <returns></returns> public static List<DBTrackInfo> GetEntriesByTrack(string trackmbid) { DBField trackmbidField = DBField.GetField(typeof(DBTrackInfo), "MdID"); ICriteria criteria = new BaseCriteria(trackmbidField, "=", trackmbid); return mvCentralCore.DatabaseManager.Get<DBTrackInfo>(criteria); }
public bool ActivateFor(Row row) { if (ReferenceEquals(null, Target)) return false; attr = Target.GetAttribute<MasterDetailRelationAttribute>(); if (attr == null) return false; var rowListType = Target.ValueType; if (!rowListType.GetIsGenericType() || rowListType.GetGenericTypeDefinition() != typeof(List<>)) { throw new ArgumentException(String.Format("Field '{0}' in row type '{1}' has a MasterDetailRelationAttribute " + "but its property type is not a generic List (e.g. List<Row>)!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } var rowType = rowListType.GetGenericArguments()[0]; if (rowType.GetIsAbstract() || !typeof(Row).IsAssignableFrom(rowType)) { throw new ArgumentException(String.Format( "Field '{0}' in row type '{1}' has a MasterDetailRelationAttribute " + "but its property type is not a generic list of rows (e.g. List<Row>)!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } rowListFactory = FastReflection.DelegateForConstructor<IList>(rowListType); rowFactory = FastReflection.DelegateForConstructor<Row>(rowType); listHandlerFactory = FastReflection.DelegateForConstructor<IListRequestProcessor>( typeof(ListRequestHandler<>).MakeGenericType(rowType)); saveHandlerFactory = FastReflection.DelegateForConstructor<ISaveRequestProcessor>( typeof(SaveRequestHandler<>).MakeGenericType(rowType)); saveRequestFactory = FastReflection.DelegateForConstructor<ISaveRequest>( typeof(SaveRequest<>).MakeGenericType(rowType)); deleteHandlerFactory = FastReflection.DelegateForConstructor<IDeleteRequestProcessor>( typeof(DeleteRequestHandler<>).MakeGenericType(rowType)); var detailRow = rowFactory(); foreignKeyField = detailRow.FindFieldByPropertyName(attr.ForeignKey) ?? detailRow.FindField(attr.ForeignKey); if (ReferenceEquals(foreignKeyField, null)) throw new ArgumentException(String.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a master detail relation in field '{2}' of row type '{3}'.", attr.ForeignKey, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); this.foreignKeyCriteria = new Criteria(foreignKeyField.PropertyName ?? foreignKeyField.Name); if (!string.IsNullOrEmpty(attr.FilterField)) { this.filterField = detailRow.FindFieldByPropertyName(attr.FilterField) ?? detailRow.FindField(attr.FilterField); if (ReferenceEquals(null, this.filterField)) throw new ArgumentException(String.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a master detail relation as FilterField in field '{2}' of row type '{3}'.", attr.FilterField, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); this.filterCriteria = new Criteria(filterField.PropertyName ?? filterField.Name); this.filterValue = filterField.ConvertValue(attr.FilterValue, CultureInfo.InvariantCulture); if (this.filterValue == null) { this.filterCriteria = this.filterCriteria.IsNull(); this.filterCriteriaT0 = this.filterField.IsNull(); } else { this.filterCriteria = this.filterCriteria == new ValueCriteria(this.filterValue); this.filterCriteriaT0 = this.filterField == new ValueCriteria(this.filterValue); } } this.includeColumns = new HashSet<string>(); if (!string.IsNullOrEmpty(attr.IncludeColumns)) foreach (var s in attr.IncludeColumns.Split(',')) { var col = s.TrimToNull(); if (col != null) this.includeColumns.Add(col); } return true; }
protected virtual void AddFieldContainsCriteria(Field field, string containsText, long?id, SearchType searchType, bool numericOnly, ref BaseCriteria criteria, ref bool orFalse) { if (numericOnly == true && (id == null)) { orFalse = true; return; } switch (searchType) { case SearchType.Contains: criteria |= new Criteria(field).Contains(containsText); break; case SearchType.StartsWith: criteria |= new Criteria(field).StartsWith(containsText); break; case SearchType.Equals: if (field is Int32Field) { if (id == null || id < Int32.MinValue || id > Int32.MaxValue) { orFalse = true; return; } criteria |= new Criteria(field) == (int)id; } else if (field is Int16Field) { if (id == null || id < Int16.MinValue || id > Int16.MaxValue) { orFalse = true; return; } criteria |= new Criteria(field) == (Int16)id; } else if (field is Int64Field) { if (id == null || id < Int64.MinValue || id > Int64.MaxValue) { orFalse = true; return; } criteria |= new Criteria(field) == id.Value; } else { criteria |= new Criteria(field) == containsText; } break; default: throw new ArgumentOutOfRangeException("searchType"); } }
public BaseCriteria Process(BaseCriteria criteria) { return Visit(criteria); }
public bool ActivateFor(Row row) { if (ReferenceEquals(null, Target)) return false; attr = Target.GetAttribute<LinkingSetRelationAttribute>(); if (attr == null) return false; if (!(row is IIdRow)) { throw new ArgumentException(String.Format("Field '{0}' in row type '{1}' has a LinkingSetRelationBehavior " + "but it doesn't implement IIdRow!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } var listType = Target.ValueType; if (!listType.GetIsGenericType() || listType.GetGenericTypeDefinition() != typeof(List<>)) { throw new ArgumentException(String.Format("Field '{0}' in row type '{1}' has a LinkingSetRelationBehavior " + "but its property type is not a generic List (e.g. List<int>)!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } var rowType = attr.RowType; if (rowType.GetIsAbstract() || !typeof(Row).IsAssignableFrom(rowType)) { throw new ArgumentException(String.Format( "Field '{0}' in row type '{1}' has a LinkingSetRelationBehavior " + "but specified row type is not valid row class!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } if (!typeof(IIdRow).IsAssignableFrom(rowType)) { throw new ArgumentException(String.Format( "Field '{0}' in row type '{1}' has a LinkingSetRelationBehavior " + "but specified row type doesn't implement IIdRow!", Target.PropertyName ?? Target.Name, row.GetType().FullName)); } listFactory = FastReflection.DelegateForConstructor<IList>(listType); rowFactory = FastReflection.DelegateForConstructor<Row>(rowType); listHandlerFactory = FastReflection.DelegateForConstructor<IListRequestProcessor>( typeof(ListRequestHandler<>).MakeGenericType(rowType)); saveHandlerFactory = FastReflection.DelegateForConstructor<ISaveRequestProcessor>( typeof(SaveRequestHandler<>).MakeGenericType(rowType)); saveRequestFactory = FastReflection.DelegateForConstructor<ISaveRequest>( typeof(SaveRequest<>).MakeGenericType(rowType)); deleteHandlerFactory = FastReflection.DelegateForConstructor<IDeleteRequestProcessor>( typeof(DeleteRequestHandler<>).MakeGenericType(rowType)); var detailRow = rowFactory(); thisKeyField = detailRow.FindFieldByPropertyName(attr.ThisKey) ?? detailRow.FindField(attr.ThisKey); if (ReferenceEquals(thisKeyField, null)) throw new ArgumentException(String.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a linking set relation in field '{2}' of row type '{3}'.", attr.ThisKey, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); this.thisKeyCriteria = new Criteria(thisKeyField.PropertyName ?? thisKeyField.Name); itemKeyField = detailRow.FindFieldByPropertyName(attr.ItemKey) ?? detailRow.FindField(attr.ItemKey); if (ReferenceEquals(itemKeyField, null)) throw new ArgumentException(String.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a linking set relation in field '{2}' of row type '{3}'.", attr.ItemKey, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); if (!string.IsNullOrEmpty(attr.FilterField)) { this.filterField = detailRow.FindFieldByPropertyName(attr.FilterField) ?? detailRow.FindField(attr.FilterField); if (ReferenceEquals(null, this.filterField)) throw new ArgumentException(String.Format("Field '{0}' doesn't exist in row of type '{1}'." + "This field is specified for a linking set relation as FilterField in field '{2}' of row type '{3}'.", attr.FilterField, detailRow.GetType().FullName, Target.PropertyName ?? Target.Name, row.GetType().FullName)); this.filterCriteria = new Criteria(filterField.PropertyName ?? filterField.Name); this.filterValue = filterField.ConvertValue(attr.FilterValue, CultureInfo.InvariantCulture); if (this.filterValue == null) { this.filterCriteria = this.filterCriteria.IsNull(); this.filterCriteriaT0 = this.filterField.IsNull(); } else { this.filterCriteria = this.filterCriteria == new ValueCriteria(this.filterValue); this.filterCriteriaT0 = this.filterField == new ValueCriteria(this.filterValue); } } return true; }
// Gets the corresponding DBImportPath object using it's FullPath property public static DBImportPath Get(string fullPath) { DBField pathField = DBField.GetField(typeof(DBImportPath), "FullPath"); ICriteria criteria = new BaseCriteria(pathField, "like", fullPath); List<DBImportPath> resultSet = MovingPicturesCore.DatabaseManager.Get<DBImportPath>(criteria); if (resultSet.Count > 0) return resultSet[0]; DBImportPath newImportPath = new DBImportPath(); newImportPath.FullPath = fullPath; return newImportPath; }
protected override IQueryable <MeetingNote> GetByCriteria(BaseCriteria <MeetingNoteViewModel> criteria) { return(Repository.GetQuery().Where(x => !x.IsRemoved)); }