示例#1
0
        /// <summary>
        /// Get a Training Load related custom parameter
        /// </summary>
        /// <param name="field"></param>
        /// <returns></returns>
        public static ICustomDataFieldDefinition GetCustomProperty(CSCustomFields field)
        {
            // All data types so far are numbers
            ICustomDataFieldDefinition fieldDef = null;
            ICustomDataFieldDataType   dataType = CustomDataFieldDefinitions.StandardDataType(CustomDataFieldDefinitions.StandardDataTypes.NumberDataTypeId);
            ICustomDataFieldObjectType objType;

            Guid   id;
            string name;
            string options = "";

            switch (field)
            {
            case CSCustomFields.CourseScoreCycling:
                objType = CustomDataFieldDefinitions.StandardObjectType(typeof(IActivity));
                id      = GUIDs.customCSCycling;
                name    = Resources.Strings.Label_CourseScore
                          + ": " + Resources.Strings.Label_Cycling;
                fieldDef = GetCustomProperty(dataType, objType, id, name);
                options  = "2";
                break;

            case CSCustomFields.CourseScoreRunning:
                objType = CustomDataFieldDefinitions.StandardObjectType(typeof(IActivity));
                id      = GUIDs.customCSRunning;
                name    = Resources.Strings.Label_CourseScore
                          + ": " + Resources.Strings.Label_Running;
                fieldDef = GetCustomProperty(dataType, objType, id, name);
                break;

            case CSCustomFields.ScoreDistanceCycling:
                objType = CustomDataFieldDefinitions.StandardObjectType(typeof(IActivity));
                id      = GUIDs.customCSCyclingDistance;
                name    = Resources.Strings.Label_CourseScore + "/" +
                          Length.LabelAbbr(PluginMain.GetApplication().SystemPreferences.DistanceUnits)
                          + ": " + Resources.Strings.Label_Cycling;
                fieldDef = GetCustomProperty(dataType, objType, id, name);
                break;

            case CSCustomFields.ScoreDistanceRunning:
                objType = CustomDataFieldDefinitions.StandardObjectType(typeof(IActivity));
                id      = GUIDs.customCSRunningDistance;
                name    = Resources.Strings.Label_CourseScore + "/" +
                          Length.LabelAbbr(PluginMain.GetApplication().SystemPreferences.DistanceUnits)
                          + ": " + Resources.Strings.Label_Running;
                fieldDef = GetCustomProperty(dataType, objType, id, name);
                break;
            }

            return(fieldDef);
        }
        /// <summary>
        /// Get a Training Load related custom parameter
        /// </summary>
        /// <param name="field"></param>
        /// <returns></returns>
        public static ICustomDataFieldDefinition GetCustomProperty(TLCustomFields field)
        {
            // All data types so far are numbers
            ICustomDataFieldDefinition fieldDef = null;
            ICustomDataFieldDataType   dataType = CustomDataFieldDefinitions.StandardDataType(CustomDataFieldDefinitions.StandardDataTypes.NumberDataTypeId);
            ICustomDataFieldObjectType objType;
            Guid   id;
            string name;

            switch (field)
            {
            case TLCustomFields.Trimp:
                if (customTrimp != null)
                {
                    return(customTrimp);
                }
                objType     = CustomDataFieldDefinitions.StandardObjectType(typeof(IActivity));
                id          = GUIDs.customTrimp;
                name        = "Trimp";
                fieldDef    = GetCustomProperty(dataType, objType, id, name);
                customTrimp = fieldDef;
                break;

            case TLCustomFields.TSS:
                if (customTSS != null)
                {
                    return(customTSS);
                }
                objType   = CustomDataFieldDefinitions.StandardObjectType(typeof(IActivity));
                id        = GUIDs.customTSS;
                name      = "TSS";
                fieldDef  = GetCustomProperty(dataType, objType, id, name);
                customTSS = fieldDef;
                break;

            case TLCustomFields.NormPwr:
                if (customNP != null)
                {
                    return(customNP);
                }
                objType  = CustomDataFieldDefinitions.StandardObjectType(typeof(IActivity));
                id       = GUIDs.customNP;
                name     = "NormPwr";
                fieldDef = GetCustomProperty(dataType, objType, id, name);
                customNP = fieldDef;
                break;

            case TLCustomFields.FTPcycle:
                if (customFTPcycle != null)
                {
                    return(customFTPcycle);
                }
                objType        = CustomDataFieldDefinitions.StandardObjectType(typeof(IAthleteInfoEntry));
                id             = GUIDs.customFTPcycle;
                name           = "FTPcycle";
                fieldDef       = GetCustomProperty(dataType, objType, id, name);
                customFTPcycle = fieldDef;
                break;

            case TLCustomFields.FTPrun:
                if (customFTPrun != null)
                {
                    return(customFTPrun);
                }
                objType      = CustomDataFieldDefinitions.StandardObjectType(typeof(IAthleteInfoEntry));
                id           = GUIDs.customFTPrun;
                name         = "FTPrun";
                fieldDef     = GetCustomProperty(dataType, objType, id, name);
                customFTPrun = fieldDef;
                break;
            }

            return(fieldDef);
        }