コード例 #1
0
        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));
        }
コード例 #2
0
 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);
 }