Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// <summary>
- /// Set new task custom field value
- /// </summary>
- /// <param name="projectDS">Checked out single project</param>
- /// <param name="taskRow">Task for update</param>
- /// <param name="lookupTableDS">Lookup tables</param>
- /// <param name="mdPropRow">Enterprise task custom field</param>
- /// <param name="fieldValue">New value for enterprise task custom field</param>
- static internal void SetTaskCustomField(ProjectDataSet projectDS, ProjectDataSet.TaskRow taskRow, LookupTableMultiLangDataSet lookupTableDS, CustomFieldDataSet.CustomFieldsRow mdPropRow, string fieldValue)
- {
- var taskCustomFieldsTable = projectDS.TaskCustomFields;
- var projUid = taskRow.PROJ_UID;
- var taskUid = taskRow.TASK_UID;
- //...
- //Getting current custom field value
- var customFieldRow = taskCustomFieldsTable.Rows.Cast<ProjectDataSet.TaskCustomFieldsRow>().Where(x => x.MD_PROP_UID == mdPropRow.MD_PROP_UID && x.PROJ_UID == projUid && x.TASK_UID == taskUid).FirstOrDefault();
- if (!string.IsNullOrEmpty(fieldValue))
- {
- //If new value for task custom field is non empty -> update custom field value. It's WORKING correct
- }
- else
- {
- if (customFieldRow != null)
- {
- try
- {
- taskCustomFieldsTable.RemoveTaskCustomFieldsRow(customFieldRow);
- }
- catch (Exception e)
- {
- //Custom logging
- Logger.WriteError(String.Format("SetTaskCustomField TaskUID = "{0}" Deleting Task custom field value Error", taskRow.TASK_UID.ToString()), e);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement