Пример #1
0
        public ActionResult GetScoreFor(CategoryColumn x)
        {
            var analytics = Analytics.FromSession();

            switch (x)
            {
            case CategoryColumn.Age:
                return(Json(((List <ProcedureDataItem>)analytics.ProcedureResults.Results)
                            .Where(r => r.Age.HasValue)
                            .GroupBy(r => r.Age.Value)
                            .Select(r => new { x = r.Key, y = Math.Truncate(100 * r.Average(s => s.Score)) / 100 })
                            .OrderBy(r => r.x)
                            .ToArray(), JsonRequestBehavior.AllowGet));

            case CategoryColumn.Class:
                return(Json(((List <ProcedureDataItem>)analytics.ProcedureResults.Results)
                            .Where(r => !string.IsNullOrWhiteSpace(r.Class))
                            .GroupBy(r => r.Class)
                            .Select(r => new { x = r.Key, y = Math.Truncate(100 * r.Average(s => s.Score)) / 100 })
                            .OrderBy(r => r.x)
                            .ToArray(), JsonRequestBehavior.AllowGet));

            case CategoryColumn.Ethnicity:
                return(Json(((List <ProcedureDataItem>)analytics.ProcedureResults.Results)
                            .Where(r => !string.IsNullOrWhiteSpace(r.Ethnicity))
                            .GroupBy(r => r.Ethnicity)
                            .Select(r => new { x = r.Key, y = Math.Truncate(100 * r.Average(s => s.Score)) / 100 })
                            .OrderBy(r => r.x)
                            .ToArray(), JsonRequestBehavior.AllowGet));

            case CategoryColumn.Gender:
                return(Json(((List <ProcedureDataItem>)analytics.ProcedureResults.Results)
                            .Where(r => !string.IsNullOrWhiteSpace(r.Gender))
                            .GroupBy(r => r.Gender)
                            .Select(r => new { x = r.Key, y = Math.Truncate(100 * r.Average(s => s.Score)) / 100 })
                            .OrderBy(r => r.x)
                            .ToArray(), JsonRequestBehavior.AllowGet));

            case CategoryColumn.InstitutionId:
                return(Json(((List <ProcedureDataItem>)analytics.ProcedureResults.Results)
                            .GroupBy(r => r.InstitutionId)
                            .Select(r => new { x = r.Key, y = Math.Truncate(100 * r.Average(s => s.Score)) / 100 })
                            .OrderBy(r => r.x)
                            .ToArray(), JsonRequestBehavior.AllowGet));

            default:
                return(Json(((List <ProcedureDataItem>)analytics.ProcedureResults.Results)
                            .GroupBy(r => r.Name)
                            .Select(r => new { x = r.Key, y = Math.Truncate(100 * r.Average(s => s.Score)) / 100 })
                            .OrderBy(r => r.x)
                            .ToArray(), JsonRequestBehavior.AllowGet));
            }
        }
Пример #2
0
        /// <summary>
        /// Raises the <see cref="ColumnChanged" /> event.
        /// </summary>
        /// <param name="column">The <see cref="CategoryColumn"/> which has raised the event.</param>
        /// <param name="value">The changed value.</param>
        public virtual void OnColumnChanged(CategoryColumn column, object value)
        {
            if (!SuppressEntityEvents)
            {
                CategoryEventHandler handler = ColumnChanged;
                if (handler != null)
                {
                    handler(this, new CategoryEventArgs(column, value));
                }

                // warn the parent list that i have changed
                OnEntityChanged();
            }
        }
Пример #3
0
        /// <summary>
        /// Raises the <see cref="ColumnChanging" /> event.
        /// </summary>
        /// <param name="column">The <see cref="CategoryColumn"/> which has raised the event.</param>
        /// <param name="value">The changed value.</param>
        public virtual void OnColumnChanging(CategoryColumn column, object value)
        {
            if (IsEntityTracked && EntityState != EntityState.Added && !EntityManager.TrackChangedEntities)
            {
                EntityManager.StopTracking(entityTrackingKey);
            }

            if (!SuppressEntityEvents)
            {
                CategoryEventHandler handler = ColumnChanging;
                if (handler != null)
                {
                    handler(this, new CategoryEventArgs(column, value));
                }
            }
        }
Пример #4
0
        /// <summary>
        /// Determines whether the property value has changed from the original data.
        /// </summary>
        /// <param name="column">The column.</param>
        /// <returns>
        ///     <c>true</c> if the property value has changed; otherwise, <c>false</c>.
        /// </returns>
        public bool IsPropertyChanged(CategoryColumn column)
        {
            switch (column)
            {
            case CategoryColumn.CategoryId:
                return(entityData.CategoryId != _originalData.CategoryId);

            case CategoryColumn.Name:
                return(entityData.Name != _originalData.Name);

            case CategoryColumn.Descn:
                return(entityData.Descn != _originalData.Descn);

            default:
                return(false);
            }
        }
Пример #5
0
        public static string GetColumnName(CategoryColumn column)
        {
            switch (column) {

                case CategoryColumn.CategoryID:
                    return "CategoryID";

                case CategoryColumn.CategoryName:
                    return "CategoryName";

                case CategoryColumn.Description:
                    return "Description";

                case CategoryColumn.Picture:
                    return "Picture";

            }
            throw new InvalidOperationException("Invalid Enumeration Value");
        }
Пример #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:CategoryComparer"/> class.
 /// </summary>
 /// <param name="column">The column to sort on.</param>
 public CategoryComparer(CategoryColumn column)
 {
     this.whichComparison = column;
 }
Пример #7
0
 ///<summary>
 /// Initalizes a new Instance of the CategoryEventArgs class.
 ///</summary>
 public CategoryEventArgs(CategoryColumn column, object value)
 {
     this.column = column;
     this.value  = value;
 }
Пример #8
0
 ///<summary>
 /// Initalizes a new Instance of the CategoryEventArgs class.
 ///</summary>
 public CategoryEventArgs(CategoryColumn column)
 {
     this.column = column;
 }
Пример #9
0
 /// <summary>
 /// Raises the <see cref="ColumnChanged" /> event.
 /// </summary>
 /// <param name="column">The <see cref="CategoryColumn"/> which has raised the event.</param>
 public virtual void OnColumnChanged(CategoryColumn column)
 {
     OnColumnChanged(column, null);
     return;
 }