Exemplo n.º 1
0
        public Activity UpdateActivity(string activityId, ActivityParameter parameter, string value)
        {
            string text = string.Empty;

            switch (parameter)
            {
            case ActivityParameter.Commute:
                text = "name";
                break;

            case ActivityParameter.Description:
                text = "description";
                break;

            case ActivityParameter.GearId:
                text = "gear_id";
                break;

            case ActivityParameter.Name:
                text = "name";
                break;

            case ActivityParameter.Private:
                text = "private";
                break;

            case ActivityParameter.Trainer:
                text = "trainer";
                break;
            }
            string uriString = string.Format("{0}/{1}?{2}={3}&access_token={4}", "https://www.strava.com/api/v3/activities", activityId, text, value, Authentication.AccessToken);
            string json      = WebRequest.SendPut(new Uri(uriString));

            return(Unmarshaller <Activity> .Unmarshal(json));
        }
Exemplo n.º 2
0
        public async Task <Activity> UpdateActivityAsync(string activityId, ActivityParameter parameter, string value)
        {
            string param = string.Empty;

            switch (parameter)
            {
            case ActivityParameter.Commute:
                param = "name";
                break;

            case ActivityParameter.Description:
                param = "description";
                break;

            case ActivityParameter.GearId:
                param = "gear_id";
                break;

            case ActivityParameter.Name:
                param = "name";
                break;

            case ActivityParameter.Private:
                param = "private";
                break;

            case ActivityParameter.Trainer:
                param = "trainer";
                break;
            }
            string putUrl = string.Format("{0}/{1}?{2}={3}&access_token={4}", "https://www.strava.com/api/v3/activities", activityId, param, value, Authentication.AccessToken);

            return(Unmarshaller <Activity> .Unmarshal(await WebRequest.SendPutAsync(new Uri(putUrl))));
        }
Exemplo n.º 3
0
        public async Task <ActionResult <Activity> > GetRandomActivityAsync(
            [FromQuery] ActivityParameter activityParameter)
        {
            var activities = await GetActivityItems();

            List <Activity> activitesFromParameter = new List <Activity>();

            if (activityParameter != null)
            {
                foreach (var activity in activities.Value)
                {
                    bool addActivity = true;


                    if (activityParameter.ActivityLevel != activity.ActivityLevel)
                    {
                        addActivity = false;
                    }

                    if (activityParameter.Environment != activity.Environment)
                    {
                        addActivity = false;
                    }

                    if (activityParameter.TimeInterval < activity.TimeInterval)
                    {
                        addActivity = false;
                    }
                    if (addActivity)
                    {
                        activitesFromParameter.Add(activity);
                    }
                }
            }

            if (activitesFromParameter.Count == 0)
            {
                return(NotFound());
            }

            var r   = new Random();
            var inx = r.Next(0, activitesFromParameter.Count - 1);

            return(activitesFromParameter[inx]);
        }
Exemplo n.º 4
0
        public void Add
            (ParametersDeletedFromTemplate rowParameter,
            ActivityParameter activityParametersRow, out Size size)
        {
            var node = Add(rowParameter, false);

            var parametersItem = new FlexLabelItem(rowParameter, activityParametersRow)
            {
                IsParameterValue = true,
                Top = node.DataItem.Top
            };
            var nodeAp = new FlexNodeReport(this, parametersItem);

            ChildList.Add(nodeAp);
            //нод, который отвечает за контрол, выводится с фиксированной высотой
            nodeAp.DataItem.Height = DefaultControlHeight;
            size = new Size(rowParameter.intWidth, rowParameter.intHeight);
        }
Exemplo n.º 5
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActivityParameter GetParameterValue()
        {
            ActivityParameter result = null;

            if ((ActivityParameters != null) && (ActivityParameters.Count > 0))
            {
                long idfsParameter    = 0;
                long idfsFormTemplate = 0;

                var parameter = GetParameterTemplate();
                if (parameter != null)
                {
                    idfsParameter    = parameter.idfsParameter;
                    idfsFormTemplate = parameter.idfsFormTemplate;
                }
                else
                {
                    var deletedParameter = GetParametersDeletedFromTemplate();
                    if ((deletedParameter != null) && (deletedParameter.idfsFormTemplate.HasValue))
                    {
                        idfsParameter    = deletedParameter.idfsParameter;
                        idfsFormTemplate = deletedParameter.idfsFormTemplate.Value;
                    }
                }

                if ((idfsParameter > 0) && (idfsFormTemplate > 0))
                {
                    result =
                        idfRow > 0 ?
                        ActivityParameters.FirstOrDefault(
                            m =>
                            ((m.idfsParameter == idfsParameter) &&
                             (m.idfsFormTemplate == idfsFormTemplate)) &&
                            (m.idfRow == idfRow)) :
                        ActivityParameters.FirstOrDefault(
                            m =>
                            ((m.idfsParameter == idfsParameter) &&
                             (m.idfsFormTemplate == idfsFormTemplate)));
                }
            }

            return(result);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Updates an activity. Requires write permissions.
        /// </summary>
        /// <param name="activityId">The Strava id of the activity that will be updated.</param>
        /// <param name="parameter">The parameter that will be updated.</param>
        /// <param name="value">The value the parameter is updated to.</param>
        /// <returns>A detailed representation of the updated activity.</returns>
        public async Task <Activity> UpdateActivityAsync(String activityId, ActivityParameter parameter, String value)
        {
            String param = String.Empty;

            switch (parameter)
            {
            case ActivityParameter.Commute:
                param = "name";
                break;

            case ActivityParameter.Description:
                param = "description";
                break;

            case ActivityParameter.GearId:
                param = "gear_id";
                break;

            case ActivityParameter.Name:
                param = "name";
                break;

            case ActivityParameter.Private:
                param = "private";
                break;

            case ActivityParameter.Trainer:
                param = "trainer";
                break;
            }

            String putUrl = String.Format("{0}/{1}?{2}={3}&access_token={4}",
                                          Endpoints.Activity,
                                          activityId,
                                          param,
                                          value,
                                          Authentication.AccessToken);

            String json = await WebRequest.SendPutAsync(new Uri(putUrl));

            return(Unmarshaller <Activity> .Unmarshal(json));
        }
Exemplo n.º 7
0
        public void Add
            (ParameterTemplate parameterTemplateRow,
            ActivityParameter activityParametersRow)
        {
            Add(parameterTemplateRow, false);

            var parametersItem = new FlexLabelItem(parameterTemplateRow, activityParametersRow)
            {
                IsParameterValue = true
            };
            var nodeAp = new FlexNodeReport(this, parametersItem);

            //нод, который отвечает за контрол, выводится с фиксированной высотой
            nodeAp.DataItem.Height = DefaultControlHeight;
            if (nodeAp.DataItem.Height > parametersItem.Height)
            {
                nodeAp.DataItem.Height = parametersItem.Height;
            }
            ChildList.Add(nodeAp);
        }
Exemplo n.º 8
0
        internal FlexLabelItem(ParametersDeletedFromTemplate rowParameter, ActivityParameter row)
            : base(row)
        {
            if (rowParameter.intScheme.Equals((int)FFParameterScheme.Left) ||
                rowParameter.intScheme.Equals((int)FFParameterScheme.Right))
            {
                Width  = rowParameter.intWidth - rowParameter.intLabelSize;
                Height = rowParameter.intHeight;
            }
            else
            {
                Width  = rowParameter.intWidth;
                Height = rowParameter.intHeight - rowParameter.intLabelSize;
            }
            Top          = rowParameter.intTop;
            Left         = rowParameter.intLeft;
            LinkedObject = row;
            switch (rowParameter.intScheme)
            {
            case (int)FFParameterScheme.Left:
                Left += rowParameter.intLabelSize;
                break;

            case (int)FFParameterScheme.Right:
                Left -= rowParameter.intLabelSize;
                break;

            case (int)FFParameterScheme.Top:
                Top += rowParameter.intLabelSize;
                break;

            case (int)FFParameterScheme.Bottom:
                Top -= rowParameter.intLabelSize;
                break;
            }

            FontSize = ReportSettings.DefaultFontSize;
            Text     = row != null?string.IsNullOrEmpty(row.strNameValue) ? row.varValue.ToString() : row.strNameValue : string.Empty;
        }
Exemplo n.º 9
0
 public void AddToActivityParameters(ActivityParameter activityParameter)
 {
     base.AddObject("ActivityParameters", activityParameter);
 }
Exemplo n.º 10
0
 public static ActivityParameter CreateActivityParameter(global::System.Guid activityParameterID, global::System.Guid tenantID, string name, string type, global::System.Guid activityParameterSetID)
 {
     ActivityParameter activityParameter = new ActivityParameter();
     activityParameter.ActivityParameterID = activityParameterID;
     activityParameter.TenantID = tenantID;
     activityParameter.Name = name;
     activityParameter.Type = type;
     activityParameter.ActivityParameterSetID = activityParameterSetID;
     return activityParameter;
 }
Exemplo n.º 11
0
        /// <summary>
        /// Updates an activity. Requires write permissions.
        /// </summary>
        /// <param name="activityId">The Strava id of the activity that will be updated.</param>
        /// <param name="parameter">The parameter that will be updated.</param>
        /// <param name="value">The value the parameter is updated to.</param>
        /// <returns>A detailed representation of the updated activity.</returns>
        public async Task<Activity> UpdateActivityAsync(String activityId, ActivityParameter parameter, String value)
        {
            String param = String.Empty;

            switch (parameter)
            {
                case ActivityParameter.Commute:
                    param = "name";
                    break;
                case ActivityParameter.Description:
                    param = "description";
                    break;
                case ActivityParameter.GearId:
                    param = "gear_id";
                    break;
                case ActivityParameter.Name:
                    param = "name";
                    break;
                case ActivityParameter.Private:
                    param = "private";
                    break;
                case ActivityParameter.Trainer:
                    param = "trainer";
                    break;
            }

            String putUrl = String.Format("{0}/{1}?{2}={3}&access_token={4}",
                Endpoints.Activity,
                activityId,
                param,
                value,
                Authentication.AccessToken);

            String json = await Http.WebRequest.SendPutAsync(new Uri(putUrl));

            return Unmarshaller<Activity>.Unmarshal(json);
        }
Exemplo n.º 12
0
        internal FlexLabelItem
            (ParameterTemplate parentRow, ActivityParameter row)
            : base(row)
        {
            if (parentRow.intScheme.Equals((int)FFParameterScheme.Left) ||
                parentRow.intScheme.Equals((int)FFParameterScheme.Right))
            {
                Width  = parentRow.intWidth - parentRow.intLabelSize;
                Height = parentRow.intHeight;
            }
            else
            {
                Width  = parentRow.intWidth;
                Height = parentRow.intHeight - parentRow.intLabelSize;
            }
            Top  = parentRow.intTop;
            Left = parentRow.intLeft;

            switch (parentRow.intScheme)
            {
            case (int)FFParameterScheme.Left:
                Left += parentRow.intLabelSize;
                break;

            case (int)FFParameterScheme.Right:
                Left -= parentRow.intLabelSize;
                break;

            case (int)FFParameterScheme.Top:
                Top += parentRow.intLabelSize;
                break;

            case (int)FFParameterScheme.Bottom:
                Top -= parentRow.intLabelSize;
                break;
            }

            FontSize = ReportSettings.DefaultFontSize;

            if (row == null)
            {
                Text = string.Empty;
            }
            else if (ParameterControlTypeHelper.ConvertToParameterControlType(parentRow.idfsEditor).Equals(FFParameterEditors.CheckBox))
            {
                long val = (bool)row.varValue ? 10100001 : 10100002; //Yes/No
                using (var manager = DbManagerFactory.Factory.Create(ModelUserContext.Instance))
                {
                    Text = BaseReference.Accessor.Instance(null).rftYesNoValue_SelectList(manager).FirstOrDefault(c => c.idfsBaseReference == val, c => String.Empty);
                }
            }
            else if (!string.IsNullOrEmpty(row.strNameValue))
            {
                Text = row.strNameValue;
            }
            else if (row.varValue != null)
            {
                var str = row.varValue.ToString();
                if (parentRow.idfsParameterType.Equals((long)FFParameterTypes.Date))
                {
                    var itms = str.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                    if (itms.Length > 0)
                    {
                        Text = itms[0];
                    }
                }
                else
                {
                    Text = str;
                }
            }
        }
Exemplo n.º 13
0
 private void ReadActivityParametersFromAttValue(Activity activity, string parametersAttValue)
 {
     ReadNameAndValueString(
         parametersAttValue,
         (name, value) =>
             {
                 var param = new ActivityParameter {Name = name.Trim()};
                 if (activity.Parameters.Contains(param))
                     throw new WorkflowSchemeParserException(string.Format(
                         "Параметр с именем {0} уже добавлен ранее", param.Name), this);
                 activity.Parameters.Add(param);
                 ReadParameterValue(activity, param, value);
             });
 }
Exemplo n.º 14
0
 private void ReadActivityParameter(Activity activity)
 {
     var param = new ActivityParameter
                     {
                         Name = ReadAttributes(new[] {ATT_NAME})[ATT_NAME]
                     };
     if (param.Name == null)
         throw new WorkflowSchemeParserException("Не задано имя параметра действия", this);
     if (activity.Parameters.Contains(param))
         throw new WorkflowSchemeParserException(string.Format(
             "Параметр с именем {0} уже добавлен ранее", param.Name), this);
     activity.Parameters.Add(param);
     var paramValue = ReadElementContent();
     if (string.IsNullOrEmpty(paramValue))
         throw new WorkflowSchemeParserException(string.Format(
             "Не задано значение параметра {0}", param.Name), this);
     ReadParameterValue(activity, param, paramValue);
 }
Exemplo n.º 15
0
        private ActivityParameterEvaluator GetParameterEvaluator( 
            Activity activity, ActivityParameter param, string paramValue)
        {
            if (paramValue.StartsWith("@"))
            {
                paramValue = paramValue.Substring(1);
                if (string.IsNullOrEmpty(paramValue))
                    throw new WorkflowSchemeParserException(string.Format(
                        "Некорректное значение параметра {0}: {1}", param.Name, paramValue), this);
                if (paramValue.StartsWith("@"))
                {
                    paramValue = paramValue.Substring(1);
                    if (string.IsNullOrEmpty(paramValue))
                        throw new WorkflowSchemeParserException(string.Format(
                            "Некорректное значение параметра {0}: {1}", param.Name, paramValue), this);
                    try
                    {
                        return WorkflowBuiltinFunctions.GetEvaluatorForBuiltinFunction(paramValue);
                    }
                    catch (Exception ex)
                    {
                        throw new WorkflowSchemeParserException(
                            "Ошибка получения метода для получения значения параметра", ex, this);
                    }
                }
                int dotIndex = paramValue.IndexOf(PREFIX_DELIMITER);
                if (dotIndex > 0)
                {
                    var strArr = paramValue.Split(PREFIX_DELIMITER);
                    var prefix = strArr[0];
                    var propName = strArr[1];
                    if (string.IsNullOrEmpty(propName))
                        throw new WorkflowSchemeParserException(string.Format(
                            "Некорректное значение параметра {0}: {1}", param.Name, paramValue), this);
                    if (prefix == PREFIX_ROOT)
                        prefix = Scheme.RootActivityName;
                    var propOwner = GetReferencedActivity(prefix);
                    return GetParameterEvaluatorForPropertyReference(propName, propOwner);
                }
                if (activity.Parent == null)
                    throw new WorkflowSchemeParserException(string.Format(
                        "Для значения-ссылки @{0} параметра {1} не определено родительское действие",
                        paramValue, param.Name), this);

                return GetParameterEvaluatorForPropertyReference(paramValue, activity.Parent);
            }
            if (paramValue.StartsWith("[") && paramValue.EndsWith("]"))
            {
                paramValue = paramValue.Substring(1, paramValue.Length - 2);
                var array = paramValue.Split(',');
                var evaluatorArray = new ActivityParameterEvaluator[array.Length];
                for (int i = 0; i < array.Length; i++)
                    evaluatorArray[i] = GetParameterEvaluator(activity, param, array[i]);
                return new ActivityParameterEvaluator(evaluatorArray);
            }
            if (paramValue.StartsWith(@"\@"))
                paramValue = '@' + paramValue.Substring(2);
            return new ActivityParameterEvaluator(paramValue);
        }
Exemplo n.º 16
0
 private void ReadParameterValue(Activity activity, ActivityParameter param, string paramValue)
 {
     param.Evaluator = GetParameterEvaluator(activity, param, paramValue);
 }