public ActionResult AddWorkFlow() { WorkFlowViewModel viewModel = new WorkFlowViewModel(); viewModel.WorkflowName = ""; viewModel.WorkflowID = 0; viewModel.StatusID = 402; viewModel.AllowParallelWorkflows = 1; viewModel.IsWorkflowAllowedMoreThanOnce = false; List <WorkflowTriggerViewModel> triggers = new List <WorkflowTriggerViewModel>(); WorkflowTriggerViewModel startTrigger = new WorkflowTriggerViewModel() { TriggerTypeID = 0, WorkflowID = 0, WorkflowTriggerID = 0, IsStartTrigger = true }; WorkflowTriggerViewModel stopTrigger = new WorkflowTriggerViewModel() { TriggerTypeID = 0, WorkflowID = 0, WorkflowTriggerID = 0, IsStartTrigger = false }; triggers.Add(startTrigger); triggers.Add(stopTrigger); viewModel.Triggers = triggers; ViewBag.DateFormat = this.Identity.ToDateFormat(); ViewBag.ParentID = 0; ViewBag.SenderName = this.Identity.ToFirstName() + " " + this.Identity.ToLastName(); return(View("AddEditWorkflow", viewModel)); }
private static WorkFlowViewModel ProcessWorkflowFromServer(WorkFlowViewModel source, WorkFlowViewModel destination) { source.Triggers.GroupBy(t => new { t.IsStartTrigger, t.TriggerTypeID }).Each(t => { var trigger = new WorkflowTriggerViewModel(); trigger.IsStartTrigger = t.Key.IsStartTrigger; trigger.WorkflowID = destination.WorkflowID; trigger.FormIDs = t.Where(f => f.FormID != null).Select(f => f.FormID); trigger.FormNames = t.Where(f => f.FormID != null).Select(f => f.FormName); trigger.TagIDs = t.Where(tag => tag.TagID != null).Select(tag => tag.TagID); trigger.TagNames = t.Where(tag => tag.TagID != null).Select(tag => tag.TagName); trigger.LeadAdapterIDs = t.Where(leadadapter => leadadapter.LeadAdapterID != null).Select(leadadapter => leadadapter.LeadAdapterID); trigger.LeadAdapterNames = t.Where(leadadapter => leadadapter.LeadAdapterID != null).Select(leadadapter => leadadapter.LeadAdapterName); trigger.SearchDefinitionIDs = t.Where(s => s.SearchDefinitionID != null).Select(s => s.SearchDefinitionID); trigger.SearchDefinitionNames = t.Where(s => s.SearchDefinitionID != null).Select(s => s.SearchDefinitionName); trigger.TriggerTypeID = t.Select(ty => ty.TriggerTypeID).FirstOrDefault(); trigger.LifecycleDropdownValueID = t.Where(l => l.LifecycleDropdownValueID != null).Select(l => l.LifecycleDropdownValueID).SingleOrDefault(); trigger.LifecycleName = t.Where(l => l.LifecycleDropdownValueID != null).Select(x => x.LifecycleName).FirstOrDefault(); trigger.OpportunityStageID = t.Where(l => l.OpportunityStageID != null).Select(l => l.OpportunityStageID).SingleOrDefault(); trigger.OpportunityStageName = t.Where(l => l.OpportunityStageID != null).Select(l => l.OpportunityStageName).FirstOrDefault(); trigger.CampaignID = t.Where(l => l.CampaignID != null).Select(l => l.CampaignID).SingleOrDefault(); trigger.CampaignName = t.Where(l => l.CampaignID != null).Select(l => l.CampaignName).FirstOrDefault(); trigger.SelectedLinks = t.Select(l => l.SelectedLinks).FirstOrDefault(); trigger.SelectedURLs = t.Select(l => l.SelectedURLs).FirstOrDefault(); trigger.LeadScore = t.Select(s => s.LeadScore).FirstOrDefault(); trigger.IsAnyWebPage = t.Select(s => s.IsAnyWebPage).FirstOrDefault(); trigger.WebPage = t.Select(s => s.WebPage).FirstOrDefault(); trigger.Duration = t.Select(s => s.Duration).FirstOrDefault(); trigger.Operator = t.Select(s => s.Operator).FirstOrDefault(); trigger.ActionType = t.Select(s => s.ActionType).FirstOrDefault(); trigger.ActionTypeName = t.Select(s => s.ActionTypeName).FirstOrDefault(); trigger.TourType = t.Select(s => s.TourType).FirstOrDefault(); trigger.TourTypeName = t.Select(s => s.TourTypeName).FirstOrDefault(); destination.Triggers = destination.Triggers.Where(dt => dt.IsStartTrigger != t.Key.IsStartTrigger).Concat(new[] { trigger }); }); destination.Triggers = destination.Triggers.OrderBy(t => t.IsStartTrigger).Reverse(); return(destination); }