コード例 #1
0
        public UserCustomField SubmitCustomFieldValue(UserCustomField apiCustomFieldValue)
        {
            string path = template.UrlFor(UrlTemplate.USER_CUSTOMFIELD_PATH).Build();
            string response;

            try
            {
                string payload = JsonConvert.SerializeObject(apiCustomFieldValue, settings);
                if (DoesCustomFieldValueExist(apiCustomFieldValue.Id))
                {
                    response = client.Put(path, payload);
                }
                else
                {
                    response = client.Post(path, payload);
                }
                return(JsonConvert.DeserializeObject <UserCustomField>(response));
            }
            catch (OssServerException e)
            {
                throw new OssServerException("Could not add/update the custom field to account." + " Exception: " + e.Message, e.ServerError, e);
            }
            catch (Exception e)
            {
                throw new OssException("Could not add/update the custom field to account." + " Exception: " + e.Message, e);
            }
        }
コード例 #2
0
        /// <summary>
        /// Saves this instance.
        /// </summary>
        /// <param name="entity">The custom field to save.</param>
        /// <returns></returns>
        public static bool SaveOrUpdate(UserCustomField entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }
            if (string.IsNullOrEmpty(entity.Name))
            {
                throw (new ArgumentException("The custom field name cannot be empty or null"));
            }

            if (entity.Id > Globals.NEW_ID)
            {
                if (DataProviderManager.Provider.UpdateUserCustomField(entity))
                {
                    UpdateCustomFieldView();
                    return(true);
                }
            }

            var tempId = DataProviderManager.Provider.CreateNewUserCustomField(entity);

            if (tempId <= 0)
            {
                return(false);
            }

            entity.Id = tempId;
            UpdateCustomFieldView();
            return(true);
        }
コード例 #3
0
        ///
        /// Create an user custom field.
        /// If the custom field already existed then update it.
        ///
        ///
        /// @param customFieldValue
        /// @return user custom field id
        /// @throws com.silanis.esl.sdk.EslException
        ///
        public CustomFieldValue SubmitCustomFieldValue(CustomFieldValue customFieldValue)
        {
            UserCustomField apiCustomFieldValue = customFieldValue.toAPIUserCustomField();

            apiCustomFieldValue = apiClient.SubmitCustomFieldValue(apiCustomFieldValue);
            return(CustomFieldValueBuilder.CustomFieldValue(apiCustomFieldValue).build());
        }
コード例 #4
0
        /// <summary>
        /// Handles the Click event of the lnkAddCustomField control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        protected void lnkAddCustomField_Click(object sender, EventArgs e)
        {
            var newName = txtName.Text.Trim();

            if (newName == String.Empty)
            {
                return;
            }

            var dataType  = (ValidationDataType)Enum.Parse(typeof(ValidationDataType), dropDataType.SelectedValue);
            var fieldType = (CustomFieldType)Enum.Parse(typeof(CustomFieldType), rblCustomFieldType.SelectedValue);
            var required  = chkRequired.Checked;

            var newCustomField = new UserCustomField
            {
                Name      = newName,
                DataType  = dataType,
                Required  = required,
                FieldType = fieldType
            };

            if (UserCustomFieldManager.SaveOrUpdate(newCustomField))
            {
                txtName.Text = "";
                dropDataType.SelectedIndex = 0;
                chkRequired.Checked        = false;
                BindCustomFields();
            }
            else
            {
                lblError.Text = LoggingManager.GetErrorMessageResource("SaveCustomFieldError");
            }
        }
コード例 #5
0
        internal UserCustomField toAPIUserCustomField()
        {
            UserCustomField result = new UserCustomField();

            result.Name  = "";
            result.Id    = Id;
            result.Value = Value;
            return(result);
        }
コード例 #6
0
        ///
        /// Create an user custom field.
        /// If the custom field already existed then update it.
        ///
        ///
        /// @param customFieldValue
        /// @return user custom field id
        /// @throws com.silanis.esl.sdk.EslException
        ///
        public CustomFieldValue SubmitCustomFieldValue(CustomFieldValue customFieldValue)
        {
            string path = template.UrlFor(UrlTemplate.USER_CUSTOMFIELD_PATH).Build();
            string response;

            try {
                string payload = JsonConvert.SerializeObject(customFieldValue.toAPIUserCustomField(), settings);
                if (DoesCustomFieldValueExist(customFieldValue.Id))
                {
                    response = client.Put(path, payload);
                }
                else
                {
                    response = client.Post(path, payload);
                }
                UserCustomField result = JsonConvert.DeserializeObject <UserCustomField>(response);

                return(CustomFieldValueBuilder.CustomFieldValue(result).build());
            } catch (Exception e) {
                throw new EslException("Could not add/update the custom field to account." + e.Message);
            }
        }
コード例 #7
0
        ///
        /// Get a custom field for the user.
        ///
        /// @return user custom field
        ///
        public CustomFieldValue GetCustomFieldValue(string customFieldId)
        {
            UserCustomField userCustomField = apiClient.GetUserCustomField(customFieldId);

            return(new CustomFieldValueConverter(userCustomField).ToSDKCustomFieldValue());
        }
コード例 #8
0
 internal static CustomFieldValueBuilder CustomFieldValue(UserCustomField userCustomField)
 {
     return(new CustomFieldValueBuilder().
            WithId(userCustomField.Id).
            WithValue(userCustomField.Value));
 }
コード例 #9
0
 public abstract bool UpdateUserCustomField(UserCustomField customFieldToUpdate);
コード例 #10
0
 public abstract int CreateNewUserCustomField(UserCustomField newCustomField);