public DashboardComplex ConvertToDALEntity(ApiDashboard businessEntity) { var result1 = new DalDashboard(businessEntity.Id, businessEntity.User.Id, businessEntity.Name, businessEntity.IsVisible, businessEntity.Order); result1.IsDirty = businessEntity.IsDirty; result1.IsMarkForDeletion = businessEntity.IsMarkForDeletion; var result2 = new List <DalDashboardFilterRelation>(); for (int i = 0; i < businessEntity.Relations.Count; i++) { ApiDashboardFilterRelation relation = businessEntity.Relations[i]; if (relation.Filter != null && relation.Filter is ApiFilter) { var tmp = new DalDashboardFilterRelation(relation.Id, businessEntity.Id, (relation.Filter as ApiFilter).Id, null, relation.IsVisible, relation.Order); tmp.IsDirty = relation.IsDirty; tmp.IsMarkForDeletion = relation.IsMarkForDeletion; result2.Add(tmp); } if (relation.Filter != null && relation.Filter is ApiDashboard) { var tmp = new DalDashboardFilterRelation(relation.Id, businessEntity.Id, null, (relation.Filter as ApiDashboard).Id, relation.IsVisible, relation.Order); tmp.IsDirty = relation.IsDirty; tmp.IsMarkForDeletion = relation.IsMarkForDeletion; result2.Add(tmp); } } return(new DashboardComplex(result1, result2)); }
public ApiDashboardFilterRelation ConvertToApiEntity(DalDashboardFilterRelation dataEntity) { IApiFilter filter = null; if (dataEntity.FilterTargetId != null) { filter = _filters.Where(t => t.Id == dataEntity.FilterTargetId).FirstOrDefault(); } else { filter = _dashboards.Where(t => t.Id == dataEntity.DashboardTargetId).FirstOrDefault(); } var result = new ApiDashboardFilterRelation(dataEntity.Id, filter, dataEntity.IsVisible, dataEntity.Order); result.IsDirty = dataEntity.IsDirty; result.IsMarkForDeletion = dataEntity.IsMarkForDeletion; return(result); }
public DalDashboardFilterRelation ConvertToDALEntity(ApiDashboardFilterRelation businessEntity, ApiDashboard source, ApiDashboardFilterRelation next) { int?filterId = null; int?dashboardId = null; if (businessEntity.Filter is ApiFilter) { filterId = (businessEntity.Filter as ApiFilter).Id; } else { dashboardId = (businessEntity.Filter as ApiDashboard).Id; } var result = new DalDashboardFilterRelation(businessEntity.Id, source.Id, filterId, dashboardId, businessEntity.IsVisible, businessEntity.Order); result.IsDirty = businessEntity.IsDirty; result.IsMarkForDeletion = businessEntity.IsMarkForDeletion; return(result); }