public async Task <bool> CreateAsync(TriggerRouterViewModel model, IDataSource dataSource) { var triggerRouter = new TriggerRouter { TriggerId = model.Trigger.Id.Value, RouterId = model.Router.Id.Value }; await this.DbContext.TriggerRouter.AddAsync(triggerRouter); bool result = false; try { await this.DbContext.SaveChangesAsync(); model.Id = model.Id; result = true; } catch { } return(result); }
public Task <IDataSourceResponse <TriggerRouterViewModel> > ReadAsync(DataSourceRequest request) { var responseData = this.DbContext.TriggerRouter .Include("Router") .Include("Router.Project") .Include("Router.SourceNodeGroup").Include("Router.SourceNodeGroup.Project") .Include("Router.TargetNode").Include("Router.TargetNode.NodeGroup") .Include("Trigger").Include("Trigger.Channel") .Select(tr => tr); if (request.ServerFiltering != null) { var filter = request.ServerFiltering.FilterCollection.SingleOrDefault(f => f.Field == "RouterId"); int routerId = Convert.ToInt32(filter.Value); responseData = responseData.Where(tr => tr.RouterId == routerId); } IDataSourceResponse <TriggerRouterViewModel> response = new DataSourceResponse <TriggerRouterViewModel> { TotalRowCount = responseData.Count() }; if (request.ServerPaging != null) { int skip = Math.Max(request.ServerPaging.PageSize * (request.ServerPaging.Page - 1), 0); responseData = responseData.OrderBy(tr => tr.TriggerId).ThenBy(tr => tr.RouterId).Skip(skip).Take(request.ServerPaging.PageSize); } var dataCollection = responseData.ToList(); foreach (var data in dataCollection) { response.DataCollection.Add(TriggerRouterViewModel.NewInstance(data)); } return(Task.FromResult(response)); }
public Task <bool?> UpdateAsync(string key, TriggerRouterViewModel model, IDataSource dataSource) { throw new NotImplementedException(); }