示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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);
        }