public void UpdateReportDates(UserReport userReport, DateTime startDate, DateTime endDate) { userReport.StartDate = startDate; userReport.EndDate = endDate; _userReportRepository.Update(userReport); _unitOfWork.Commit(); }
public IEnumerable<Dictionary<string, object>> Execute(UserReport userReport, IEnumerable<Argument> args) { var reportResult = Execute(userReport.Report, args); // var projectedResult = Project(reportResult, _outputParser.Parse(userReport.Output)); //return projectedResult; return reportResult; }
public void UpdateFilterToUserReport(UserReport userReport, IEnumerable<KeyValuePair<string, string>> filters) { RemoveFilter(userReport); var groups = filters.GroupBy(pair => pair.Key); UpdateFilters(userReport, groups); _unitOfWork.Commit(); }
public void UpdateUserReportOutput(UserReport userReport, string output, string outputConfiguration) { userReport.Output = output; userReport.OutputConfiguration = outputConfiguration; _userReportRepository.Update(userReport); _unitOfWork.Commit(); }
private void UpdateFilters(UserReport userReport, IEnumerable<IGrouping<string, KeyValuePair<string, string>>> groups) { foreach (var item in groups) { userReport.Filters.Add( new UserReportFilter { ColunmName = item.Key, Values = new List<UserReportFilterValue>(item.Select(x => new UserReportFilterValue {Value = x.Value})) }); } _userReportRepository.Update(userReport); }
private void RemoveFilter(UserReport userReport) { var userFilterValueRepository = _unitOfWork.Get<UserReportFilterValue>(); var valuesToDelete = new List<UserReportFilterValue>(); foreach (var value in userReport.Filters.SelectMany(f => f.Values)) { valuesToDelete.Add(value); } valuesToDelete.ForEach(entity=>userFilterValueRepository.Delete(entity.Id)); var userFilterRepository = _unitOfWork.Get<UserReportFilter>(); userReport.Filters.ToList().ForEach(entity=>userFilterRepository.Delete(entity.Id)); }
public IEnumerable<Dictionary<string, object>> Run(UserReport userReport, IEnumerable<Argument> args) { try { var result = _reportExecuter.Execute(userReport, args); return result; } catch (DataAccessException e) { throw new ReportExecuterException("See inner exception", e); } }
private void UpdateReportStatistics(UserReport userReport, int rowCount) { userReport.ExecutionCount++; userReport.RowCount = rowCount; _unitOfWork.Commit(); }
private UserReportViewModel GetUserReportViewModel(UserReport userReport) { var parameters = _reportConfigurator.GetReportParameters(userReport.Report.Query); var userFiltersConfig = userReport.Filters.SelectMany(f => f.Values.Select(v => new KeyValuePair<string, string>(f.ColunmName, v.Value))); var reportLabels = userReport.Report.Labels.Select(label => new LabelViewModel {ColumnName = label.ColumnName, Label = label.Label}); return new UserReportViewModel { UserId = userReport.User.RefId, ReportId = userReport.ReportId, DefaultOuput = userReport.Report.Output, Output = userReport.Output, Name = userReport.Report.Name, ParamsDefaultConfiguration = userReport.Report.ParamsDefaultConfiguration, Parameters = parameters.ToArray(), StartDate = userReport.StartDate, EndDate = userReport.EndDate, UserFilters = userReport.Report.UserFilters, UserFiltersConfig = userFiltersConfig, PredefinedFilters = userReport.Report.PredefinedFilters.Where(f => f.ReportId == userReport.Report.Id).Select(x => GetPredefinedFilterViewModel(x.Filter)).ToArray(), SubReport = userReport.Report.SubReports .Where(r => r.FromId == userReport.Report.Id).Select(x => new SubReportConfigModel { SubReportId = x.ToId, DependencyProperty = x.DependencyProperty, IndexParamName = x.IndexParamName }), IndexColumnName = userReport.Report.IndexColumnName, ParentReportIds = userReport.Report.ParentReports.Where(r => r.ToId == userReport.Report.Id).Select(x => x.FromId), IsStandAlone = userReport.Report.IsStandAlone, Labels = reportLabels, OutputConfiguration = userReport.OutputConfiguration, Category = userReport.Report.Category, RowCount = userReport.RowCount, ShouldBeShownAtDesktop = userReport.ShouldBeShownAtDesktop, ExecutionCount = userReport.ExecutionCount }; }
private void AddReportsToUser(User user) { var reports = _reportRepository.Get(); foreach (var report in reports) { string output = string.IsNullOrEmpty(report.DefaultOutput) ? report.Output : report.DefaultOutput; UserReport userReport = new UserReport { Output = output, OutputConfiguration = GetOutputConfigurationFromOutput(output), ReportId = report.Id, User = user, }; _userReportRepository.Add(userReport); } }