本文整理汇总了C#中WorkflowTypeService.Save方法的典型用法代码示例。如果您正苦于以下问题:C# WorkflowTypeService.Save方法的具体用法?C# WorkflowTypeService.Save怎么用?C# WorkflowTypeService.Save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorkflowTypeService
的用法示例。
在下文中一共展示了WorkflowTypeService.Save方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: btnSave_Click
/// <summary>
/// Handles the Click event of the btnSave control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
protected void btnSave_Click( object sender, EventArgs e )
{
WorkflowType workflowType;
WorkflowTypeService service = new WorkflowTypeService();
int workflowTypeId = int.Parse( hfWorkflowTypeId.Value );
if ( workflowTypeId == 0 )
{
workflowType = new WorkflowType();
workflowType.IsSystem = false;
workflowType.Name = string.Empty;
}
else
{
workflowType = service.Get( workflowTypeId );
}
workflowType.Name = tbName.Text;
workflowType.Description = tbDescription.Text;
workflowType.CategoryId = cpCategory.SelectedValueAsInt();
workflowType.Order = int.Parse( tbOrder.Text );
workflowType.WorkTerm = tbWorkTerm.Text;
if ( !string.IsNullOrWhiteSpace( tbProcessingInterval.Text ) )
{
workflowType.ProcessingIntervalSeconds = int.Parse( tbProcessingInterval.Text );
}
workflowType.IsPersisted = cbIsPersisted.Checked;
workflowType.LoggingLevel = ddlLoggingLevel.SelectedValueAsEnum<WorkflowLoggingLevel>();
workflowType.IsActive = cbIsActive.Checked;
if ( !Page.IsValid )
{
return;
}
if ( !workflowType.IsValid )
{
// Controls will render the error messages
return;
}
RockTransactionScope.WrapTransaction( () =>
{
List<WorkflowActivityTypeEditor> workflowActivityTypeEditorList = phActivities.Controls.OfType<WorkflowActivityTypeEditor>().ToList();
// delete WorkflowActionTypes that aren't assigned in the UI anymore
WorkflowActionTypeService workflowActionTypeService = new WorkflowActionTypeService();
List<WorkflowActionType> actionTypesInDB = workflowActionTypeService.Queryable().Where( a => a.ActivityType.WorkflowTypeId.Equals( workflowType.Id ) ).ToList();
List<WorkflowActionType> actionTypesInUI = new List<WorkflowActionType>();
foreach ( WorkflowActivityTypeEditor workflowActivityTypeEditor in workflowActivityTypeEditorList )
{
foreach ( WorkflowActionTypeEditor editor in workflowActivityTypeEditor.Controls.OfType<WorkflowActionTypeEditor>() )
{
actionTypesInUI.Add( editor.WorkflowActionType );
}
}
var deletedActionTypes = from actionType in actionTypesInDB
where !actionTypesInUI.Select( u => u.Guid ).Contains( actionType.Guid )
select actionType;
deletedActionTypes.ToList().ForEach( actionType =>
{
workflowActionTypeService.Delete( actionType, CurrentPersonId );
workflowActionTypeService.Save( actionType, CurrentPersonId );
} );
// delete WorkflowActivityTypes that aren't assigned in the UI anymore
WorkflowActivityTypeService workflowActivityTypeService = new WorkflowActivityTypeService();
List<WorkflowActivityType> activityTypesInDB = workflowActivityTypeService.Queryable().Where( a => a.WorkflowTypeId.Equals( workflowType.Id ) ).ToList();
List<WorkflowActivityType> activityTypesInUI = workflowActivityTypeEditorList.Select( a => a.GetWorkflowActivityType() ).ToList();
var deletedActivityTypes = from activityType in activityTypesInDB
where !activityTypesInUI.Select( u => u.Guid ).Contains( activityType.Guid )
select activityType;
deletedActivityTypes.ToList().ForEach( activityType =>
{
workflowActivityTypeService.Delete( activityType, CurrentPersonId );
workflowActivityTypeService.Save( activityType, CurrentPersonId );
} );
// add or update WorkflowActivityTypes(and Actions) that are assigned in the UI
int workflowActivityTypeOrder = 0;
foreach ( WorkflowActivityTypeEditor workflowActivityTypeEditor in workflowActivityTypeEditorList )
{
WorkflowActivityType editorWorkflowActivityType = workflowActivityTypeEditor.GetWorkflowActivityType();
WorkflowActivityType workflowActivityType = workflowType.ActivityTypes.FirstOrDefault( a => a.Guid.Equals( editorWorkflowActivityType.Guid ) );
if ( workflowActivityType == null )
{
workflowActivityType = editorWorkflowActivityType;
workflowType.ActivityTypes.Add( workflowActivityType );
//.........这里部分代码省略.........