public async Task <FlowViewModel> Get(string language, string tag, string geography, int year) { if (false == "fr".Equals(language)) { language = "en"; } if (true == string.IsNullOrEmpty(geography)) { geography = "ca"; } else { geography = geography.ToLower(); } if (true == string.IsNullOrEmpty(tag)) { tag = "root"; } else { tag = tag.ToLower(); } var location = await _context.Geos.Where(p => p.Iso3166 == geography).SingleOrDefaultAsync(); var table = await _context.Tables.Where(p => p.Tag == tag).SingleOrDefaultAsync(); var flows = await _context.Flows.Include(p => p.Source).Include(p => p.Target).Where(p => p.Geo.Iso3166 == geography && p.Year == year && p.Table.Tag == tag).ToArrayAsync(); var model = new FlowViewModel { Geography = location?.Name(language), Name = table?.Name(language), Note = table?.NoteEn, Tag = tag, Year = year, Data = flows.Select(p => new object[3] { p.Source.Name(language), p.Target.Name(language), p.Value }) }; //{ // "nodes":[ // {"name":"Agricultural 'waste'"}, // {"name":"Bio-conversion"}, // {"name":"Liquid"}, // {"name":"Losses"},{"name":"Solid"},{"name":"Gas"},{"name":"Biofuel imports"},{"name":"Biomass imports"},{"name":"Coal imports"},{"name":"Coal"},{"name":"Coal reserves"},{"name":"District heating"},{"name":"Industry"},{"name":"Heating and cooling - commercial"},{"name":"Heating and cooling - homes"},{"name":"Electricity grid"},{"name":"Over generation / exports"},{"name":"H2 conversion"},{"name":"Road transport"},{"name":"Agriculture"},{"name":"Rail transport"},{"name":"Lighting & appliances - commercial"},{"name":"Lighting & appliances - homes"},{"name":"Gas imports"},{"name":"Ngas"},{"name":"Gas reserves"},{"name":"Thermal generation"},{"name":"Geothermal"},{"name":"H2"},{"name":"Hydro"},{"name":"International shipping"},{"name":"Domestic aviation"},{"name":"International aviation"},{"name":"National navigation"},{"name":"Marine algae"},{"name":"Nuclear"},{"name":"Oil imports"},{"name":"Oil"},{"name":"Oil reserves"},{"name":"Other waste"},{"name":"Pumped heat"},{"name":"Solar PV"},{"name":"Solar Thermal"},{"name":"Solar"},{"name":"Tidal"},{"name":"UK land based bioenergy"},{"name":"Wave"},{"name":"Wind"} // ], // "links":[ // {"source":0,"target":1,"value":124.729}, // {"source":1,"target":2,"value":0.597}, // {"source":1,"target":3,"value":26.862},{"source":1,"target":4,"value":280.322},{"source":1,"target":5,"value":81.144},{"source":6,"target":2,"value":35},{"source":7,"target":4,"value":35},{"source":8,"target":9,"value":11.606},{"source":10,"target":9,"value":63.965},{"source":9,"target":4,"value":75.571},{"source":11,"target":12,"value":10.639},{"source":11,"target":13,"value":22.505},{"source":11,"target":14,"value":46.184},{"source":15,"target":16,"value":104.453},{"source":15,"target":14,"value":113.726},{"source":15,"target":17,"value":27.14},{"source":15,"target":12,"value":342.165},{"source":15,"target":18,"value":37.797},{"source":15,"target":19,"value":4.412},{"source":15,"target":13,"value":40.858},{"source":15,"target":3,"value":56.691},{"source":15,"target":20,"value":7.863},{"source":15,"target":21,"value":90.008},{"source":15,"target":22,"value":93.494},{"source":23,"target":24,"value":40.719},{"source":25,"target":24,"value":82.233},{"source":5,"target":13,"value":0.129},{"source":5,"target":3,"value":1.401},{"source":5,"target":26,"value":151.891},{"source":5,"target":19,"value":2.096},{"source":5,"target":12,"value":48.58},{"source":27,"target":15,"value":7.013},{"source":17,"target":28,"value":20.897},{"source":17,"target":3,"value":6.242},{"source":28,"target":18,"value":20.897},{"source":29,"target":15,"value":6.995},{"source":2,"target":12,"value":121.066},{"source":2,"target":30,"value":128.69},{"source":2,"target":18,"value":135.835},{"source":2,"target":31,"value":14.458},{"source":2,"target":32,"value":206.267},{"source":2,"target":19,"value":3.64},{"source":2,"target":33,"value":33.218},{"source":2,"target":20,"value":4.413},{"source":34,"target":1,"value":4.375},{"source":24,"target":5,"value":122.952},{"source":35,"target":26,"value":839.978},{"source":36,"target":37,"value":504.287},{"source":38,"target":37,"value":107.703},{"source":37,"target":2,"value":611.99},{"source":39,"target":4,"value":56.587},{"source":39,"target":1,"value":77.81},{"source":40,"target":14,"value":193.026},{"source":40,"target":13,"value":70.672},{"source":41,"target":15,"value":59.901},{"source":42,"target":14,"value":19.263},{"source":43,"target":42,"value":19.263},{"source":43,"target":41,"value":59.901},{"source":4,"target":19,"value":0.882},{"source":4,"target":26,"value":400.12},{"source":4,"target":12,"value":46.477},{"source":26,"target":15,"value":525.531},{"source":26,"target":3,"value":787.129},{"source":26,"target":11,"value":79.329},{"source":44,"target":15,"value":9.452},{"source":45,"target":1,"value":182.01},{"source":46,"target":15,"value":19.013},{"source":47,"target":15,"value":289.366} // ] //} return(model); }
public ActionResult CheckForNextStep(string processId, int id) { FlowViewModel viewModel = new FlowViewModel(); viewModel.DataModel = unit.Flows.GetById(id); viewModel.CommandList = service.WorkflowCommands(Guid.Parse(processId), null); return(View(viewModel)); }
public ActionResult Index() { FlowViewModel viewModel = new FlowViewModel(); viewModel.DataModels = unit.Flows.GetAll().Include(f => f.SampleForm).ToList(); //var flows = db.Flows.Include(f => f.SampleForm); return(View(viewModel)); }
public ActionResult DeleteConfirmed(int id) { FlowViewModel viewModel = new FlowViewModel(); viewModel.DataModel = unit.Flows.GetById(id); unit.Flows.Delete(viewModel.DataModel); unit.Flows.Save(); return(RedirectToAction("Index")); }
// GET: Flows/Create public ActionResult Create() { FlowViewModel viewModel = new FlowViewModel(); viewModel.SampleForms = unit.Form.GetAll().ToList(); viewModel.SchemeCodeList = service.GetSchemes(); //ViewBag.SampleFormId = new SelectList(db.SampleForms, "Id", "Message"); return(View(viewModel)); }
public FlowPage(FlowViewModel viewModel) { InitializeComponent(); BindingContext = this.viewModel = viewModel; viewModel.StepCollection.CollectionChanged += StepCollectionOnCollectionChanged; viewModel.StepCollection.ForEach(step => FlowViews.Add(FlowStepToView(step))); }
/// <summary> /// SQL获取节点信息 /// </summary> /// <param name="sysname"></param> /// <param name="model"></param> /// <returns></returns> public async Task <List <long> > GetFlowNodeInfo(string sysname, FlowViewModel model) { string url = string.Format(_appSettings.Value.MsApplication.url + _appSettings.Value.WorkFlow.GetFlowNodeInfo, sysname); var content = new StringContent(model.ToJson(), System.Text.Encoding.UTF8, "application/json"); var response = await _apiClient.PostAsync(url, content); response.EnsureSuccessStatusCode(); string res = await response.Content.ReadAsStringAsync(); return(res.ToObject <List <long> >()); }
public ActionResult Edit(FlowViewModel flows) { if (ModelState.IsValid) { unit.Flows.Update(flows.DataModel); unit.Flows.Save(); return(RedirectToAction("Index")); } flows.SampleForms = unit.Form.GetAll().ToList(); // ViewBag.SampleFormId = new SelectList(db.SampleForms, "Id", "Message", flows.SampleFormId); return(View(flows)); }
public FlowGroupViewModel(string name, IEnumerable<Type> flowTypes, FlowListViewModel flowListViewModel) { Name = name; Flows = new ObservableCollection<FlowViewModel>(); var allowedParameterTypes = new[] { typeof(int), typeof(int?), typeof(decimal), typeof(decimal?), typeof(short), typeof(short?), typeof(long), typeof(long?), typeof(float), typeof(float?), typeof(bool), typeof(bool?), typeof(string), typeof(char), typeof(char?), typeof(DateTime), typeof(DateTime?) }; var options = new AutomationFlowRunnerOptions() { ResultListener = flowListViewModel }; var orderedFlowTypes = flowTypes .OrderBy(x => x.GetCustomAttribute<UIExecutableAttribute>().OptionalDependencyGroupOrder ?? -1) .ThenBy(FlowViewModel.GetDisplayName); foreach (var flowType in orderedFlowTypes) { var constructors = flowType.GetConstructors().OrderByDescending(x => x.GetParameters().Length); foreach (var constructorInfo in constructors) { var parameters = constructorInfo.GetParameters(); if (parameters.All(x => allowedParameterTypes.Contains(x.ParameterType))) { var parameterViewModels = parameters.Select(x => new FlowParameterViewModel(x)); var flowViewModel = new FlowViewModel(flowType, constructorInfo, parameterViewModels, options); Flows.Add(flowViewModel); } } } }
public ActionResult Create(FlowViewModel flows) { if (ModelState.IsValid) { flows.DataModel.WorkflowInstanceId = service.StartFlow(flows.DataModel.WorkflowSchemeName); unit.Flows.Insert(flows.DataModel); unit.Flows.Save(); return(RedirectToAction("Index")); } flows.SampleForms = unit.Form.GetAll().ToList(); //ViewBag.SampleFormId = new SelectList(db.SampleForms, "Id", "Message", flows.SampleFormId); return(View(flows)); }
public async Task <IActionResult> EditFlow(int id) { var flow = await _taskTemplateAppService.Get(new EntityDto <int> { Id = id }); var vmModel = new FlowViewModel { Flow = flow }; return(View("EditFlow", vmModel)); }
// GET: Flows/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } FlowViewModel viewModel = new FlowViewModel(); viewModel.DataModel = unit.Flows.GetById(id); if (viewModel.DataModel == null) { return(HttpNotFound()); } return(View(viewModel)); }
public void BeforeEach() { _progressService = new ProgressServiceMoqaLate(); _flowStreamConnection = new FlowStreamingConnectionMoqaLate(); _flowViewModel = new FlowViewModel( new AppSettingsMoqaLate(), _mockFlowdockContext, _progressService, new NavigationManagerMoqaLate(), _flowStreamConnection, new MessageServiceMoqaLate() ); _flowViewModel.FlowId = "some:flow"; }
/// <summary> /// 工作流查询数据 /// </summary> /// <param name="sql"></param> /// <returns></returns> public async Task <List <long> > GetFlowNodeInfo(FlowViewModel model) { try { var dbflow = await databaseFixture.Db.OaWorkflowsql.FindByIdAsync(model.sql); string mysql = dbflow.FlowSQL; var dbparamnames = dbflow.Param.Split(','); DynamicParameters dbArgs = new DynamicParameters(); foreach (string item in dbparamnames) { if (item.ToLower().Equals("userid", StringComparison.OrdinalIgnoreCase)) { dbArgs.Add(item, model.UserId); } else { foreach (var key in model.param.Keys) { if (key.ToLower() == item.ToLower()) { dbArgs.Add(item, model.param[key]); break; } } } } var res = await databaseFixture.Db.Connection.QueryAsync <string>(mysql, dbArgs); var list = res.Where(m => !string.IsNullOrEmpty(m)).ToList(); if (list.Any()) { string userids = res.ToList()[0]; string[] array = userids.Split(','); return(array.Select(x => Convert.ToInt64(x)).ToList()); } else { throw new Exception("人员查询未找到!!!"); } } catch (Exception ex) { throw new Exception(ex.Message); } }
// GET: Flows/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } FlowViewModel viewModel = new FlowViewModel(); viewModel.DataModel = unit.Flows.GetById(id); viewModel.SampleForms = unit.Form.GetAll().ToList(); //Flows flows = db.Flows.Find(id); if (viewModel.DataModel == null) { return(HttpNotFound()); } // ViewBag.SampleFormId = new SelectList(db.SampleForms, "Id", "Message", flows.SampleFormId); return(View(viewModel)); }
public ActionResult CheckForNextStep(FlowViewModel flows) { var p = workflowModel.Runtime.EnableCodeActions(); var d = workflowModel.Runtime.WithActionProvider(new ActionProvider()); var ss = workflowModel.Runtime.GetProcessInstanceAndFillProcessParameters(flows.DataModel.WorkflowInstanceId); var vv = ss.CurrentActivity.Implementation; foreach (var item in vv) { workflowModel.Runtime.ActionProvider.ExecuteAction(item.ActionName, ss, workflowModel.Runtime, null); } var commands = service.WorkflowCommands(flows.DataModel.WorkflowInstanceId, null); var command = commands.FirstOrDefault(c => c.CommandName == flows.DataModel.CurrentStateId); workflowModel.Runtime.ExecuteCommand(flows.DataModel.WorkflowInstanceId, null, null, command); flows.DataModel.CurrentStateId = workflowModel.Runtime.GetCurrentState(flows.DataModel.WorkflowInstanceId, null).Name; unit.Flows.Update(flows.DataModel); unit.Flows.Save(); return(RedirectToAction("Index")); }
public async Task <List <long> > GetFlowNodeInfo([FromBody] FlowViewModel model) { return(await flowService.GetFlowNodeInfo(model)); }