Exemple #1
0
 public static string TimestampHeader(string timestamp, TimeSpan?delay, string delayFormat = null)
 {
     return(delay.HasValue
         ?
            string.Join(SemiColon.ToString(), timestamp, false == string.IsNullOrWhiteSpace(delayFormat) ? delay.Value.ToString(delayFormat) : delay.Value.ToString())
         :
            timestamp);
 }
        private void ProcessInternalName(SPField field, string mode, StringBuilder result)
        {
            if (field == null)
            {
                throw new ArgumentNullException(nameof(field));
            }

            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }

            var memMode = _fieldProperties[field.InternalName][mode];

            if (memMode.Split(SemiColon.ToCharArray()).Length > 3)
            {
                var    memModeValue                 = memMode.Split(SemiColon.ToCharArray())[0];
                var    memOptionFieldWhere          = memMode.Split(SemiColon.ToCharArray())[1];
                var    memOptionValueFieldNameWhere = string.Empty;
                string memOptionConditionWhere;
                var    memOptionValueUserWhere  = string.Empty;
                var    memOptionValueFieldWhere = string.Empty;

                if (memOptionFieldWhere == "[Me]")
                {
                    memOptionConditionWhere = memMode.Split(SemiColon.ToCharArray())[2];
                    memOptionValueUserWhere = memMode.Split(SemiColon.ToCharArray())[3];
                }
                else
                {
                    memOptionValueFieldNameWhere = memMode.Split(SemiColon.ToCharArray())[2];
                    memOptionConditionWhere      = memMode.Split(SemiColon.ToCharArray())[3];

                    if (memMode.Split(SemiColon.ToCharArray()).Length > 4)
                    {
                        memOptionValueFieldWhere = memMode.Split(SemiColon.ToCharArray())[4];
                    }
                }

                if (memModeValue.Equals(WhereText))
                {
                    ProcessWhere(
                        field,
                        mode,
                        result,
                        memOptionFieldWhere,
                        memOptionValueFieldNameWhere,
                        memOptionConditionWhere,
                        memOptionValueFieldWhere,
                        memOptionValueUserWhere);
                }
                else
                {
                    result.Append(
                        $"\n<select id=\"OptionFieldWhere{field.InternalName}{mode}\" runat=\"server\" onchange=\"javascript:OptionFieldWhereChange(\'{field.InternalName}{mode}\');\">")
                    .Append("\n<option selected=\"selected\" value=\"[Me]\">[Me]</option>")
                    .Append("\n<option value=\"[Field]\">Field</option>")
                    .Append("\n</select>")
                    .Append($"\n<select id=\"OptionFieldNameWhere{field.InternalName}{mode}\" runat=\"server\" style=\"display:none\" >");

                    foreach (var fieldItem in _displayableFields.Values)
                    {
                        result.Append($"\n<option value=\"{fieldItem.InternalName}\">{fieldItem.Title}</option>");
                    }

                    result.Append("\n</select>")
                    .Append($"\n<select id=\"OptionConditionWhere{field.InternalName}{mode}\" runat=\"server\" style=\"width: 200px\">")
                    .Append("\n<option selected=\"selected\" value=\"IsInGroup\">Is in group</option>")
                    .Append("\n<option value=\"IsNotInGroup\">Is not in group</option>")
                    .Append("\n</select>")
                    .Append($"\n<select id=\"OptionValueUserWhere{field.InternalName}{mode}\" runat=\"server\" style=\"width: 200px\">");

                    foreach (var spGroup in _groups)
                    {
                        result.Append($"\n<option value=\"{spGroup.Name}\">{spGroup.Name}</option>");
                    }

                    result.Append("\n</select>")
                    .Append(
                        $"\n<input id=\"OptionValueFieldWhere{field.InternalName}{mode}\" class=\"ms-long\" style=\"width: 200px; display: none\" />");
                }
            }
        }