public static async Task SetPost(SubEntitiesViewModel model, IEntityService service, string function) { var date = DateTimeParser.FromWebFormat(model.Date); var headers = await service.GetAll(function, model.Id, date).FirstOrDefaultAsync(); model.Headers = headers.ToList(); model.HeadersSelection = headers.ToList(); bool isInSelectionMode = model.SelectedColumns != null ? true : false; if (isInSelectionMode) { var dto = AutoMapperConfig.MapperInstance.Map <GetWithSelectionDto>(model); model.Values = await service.GetAllSelected(function, dto, 1).ToListAsync(); headers = await service.GetAllSelected(function, dto).FirstOrDefaultAsync(); model.Headers = headers.ToList(); } else if (!isInSelectionMode) { model.Values = await service.GetAll(function, model.Id, date).ToListAsync(); } if (model.SelectTerm != null) { model.Values = await CreateTableView.AddTableToViewAsync(model.Values, model.SelectTerm.ToLower()).ToListAsync(); } }
public static async Task SetPost(EntitiesViewModel model, IEntityService service, string functionAll, string functionActive) { var date = DateTimeParser.FromWebFormat(model.Date); bool isInSelectionMode = model.SelectedColumns != null ? true : false; var headers = await service.GetAll(functionActive, null, date).FirstOrDefaultAsync(); model.Headers = headers.ToList(); model.HeadersSelection = headers.ToList(); // --------------------------------------------------------- // // Algorithm for getting values and headers based on: // 1. Date update of table // 2. Selection mode as columns or not // 3. Active entities or not // 4. Selected entity or not if (isInSelectionMode) { var dto = AutoMapperConfig.MapperInstance.Map <GetWithSelectionDto>(model); if (model.IsActive) { headers = await service.GetAllSelected(functionActive, dto).FirstOrDefaultAsync(); model.Headers = headers.ToList(); model.Values = await service.GetAllSelected(functionActive, dto, 1).ToListAsync(); } else if (!model.IsActive) { headers = await service.GetAllSelected(functionAll, dto, 1).FirstOrDefaultAsync(); model.Headers = headers.ToList(); model.Values = await service.GetAllSelected(functionAll, dto, 1).ToListAsync(); } } else if (!isInSelectionMode) { if (model.IsActive) { model.Values = await service.GetAll(functionActive, null, date, 1).ToListAsync(); } else if (!model.IsActive) { model.Values = await service.GetAll(functionAll, null, date, 1).ToListAsync(); } } if (model.SelectTerm != null) { model.Values = await CreateTableView.AddTableToViewAsync(model.Values, model.SelectTerm.ToLower()).ToListAsync(); } }