/// <summary> /// Validates the specified entity. /// </summary> /// <param name="original">The original.</param> /// <param name="newValues">The new values.</param> /// <returns></returns> public bool Validate(ReferenceViewEntity original, ReferenceViewEntity newValues) { if (!newValues.Action.HasValue || newValues.Action.Value == ReferenceAction.Delete) { return(true); } if (newValues.Action.Value == ReferenceAction.Insert || original.Key != newValues.Key) { return(!_repository.Exists(newValues)); } return(true); }
/// <summary> /// Gets the view data. /// </summary> /// <param name="pageNumber">The page number.</param> /// <param name="pageSize">Size of the page.</param> /// <returns></returns> public IEnumerable <ReferenceViewEntity> GetViewData(int pageNumber, int pageSize) { var list = new List <ReferenceViewEntity>(); var cs = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString; using (var conn = new SqlConnection(cs)) { var startRow = ((pageNumber - 1) * pageSize) + 1; var endRow = startRow + pageSize - 1; var sql = String.Format(FormatSelect, _schemaName, _tableName, _keyColumn, _descriptionColumn, _abbrvColumn, _sortOrderColumn, _isActiveColumn, startRow, endRow); conn.Open(); using (var command = new SqlCommand(sql, conn)) { using (var reader = command.ExecuteReader()) { while (reader.Read()) { var entity = new ReferenceViewEntity { Key = reader["Key"].ToString(), Description = reader["Description"].ToString(), Abbreviation = reader["Abbrv"].ToString(), SortOrder = Convert.ToInt32(reader["SortOrder"]), IsActive = Convert.ToBoolean(reader["IsActive"]) }; list.Add(entity); } } } conn.Close(); } return(list); }
/// <summary> /// Determines if the entity exists /// </summary> /// <param name="entity">The entity.</param> /// <returns></returns> public bool Exists(ReferenceViewEntity entity) { var cs = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString; int count; //identity field column, no need to check for unique key issues if (String.Compare(_keyColumn, _abbrvColumn, true) != 0) { return(false); } using (var conn = new SqlConnection(cs)) { conn.Open(); using (var command = new SqlCommand(String.Format(FormatExists, _schemaName, _tableName, _keyColumn), conn)) { command.Parameters.AddWithValue("@key", entity.Abbreviation); count = (int)command.ExecuteScalar(); } conn.Close(); } return(count > 0); }