public void UpdateDatabase(TravelAgencyDbContext db) { using (var reportsContext = new ReportsFluentModel()) { var schemaHandler = reportsContext.GetSchemaHandler(); this.EnsureDB(schemaHandler); var allReports = db.Excursions .Select(x => new Report() { Id = x.ExcursionId, Name = x.Name, Duration = (int)DbFunctions.DiffDays(x.StartDate, x.EndDate), Destination = x.Destination.Country, ClientsCount = x.Clients, TotalIncome = x.PricePerClient * x.Clients, TransportCompany = x.Transport.CompanyName, TransportType = x.Transport.Type.ToString(), GuideName = x.Guide.Name, ExpenseId = x.ExpenseId }).ToList(); var reportNames = reportsContext.GetAll <Report>().Select(x => x.Name).ToList(); foreach (var report in allReports) { if (!reportNames.Contains(report.Name)) { reportsContext.Add(report); } } reportsContext.SaveChanges(); } }
public void UpdateDatabase(TravelAgencyDbContext db) { using (var reportsContext = new ReportsFluentModel()) { var schemaHandler = reportsContext.GetSchemaHandler(); this.EnsureDB(schemaHandler); var allReports = db.Excursions .Select(x => new Report() { Id = x.ExcursionId, Name = x.Name, Duration = (int)DbFunctions.DiffDays(x.StartDate, x.EndDate), Destination = x.Destination.Country, ClientsCount = x.Clients, TotalIncome = x.PricePerClient * x.Clients, TransportCompany = x.Transport.CompanyName, TransportType = x.Transport.Type.ToString(), GuideName = x.Guide.Name, ExpenseId = x.ExpenseId }).ToList(); var reportNames = reportsContext.GetAll<Report>().Select(x => x.Name).ToList(); foreach (var report in allReports) { if (!reportNames.Contains(report.Name)) { reportsContext.Add(report); } } reportsContext.SaveChanges(); } }
public string[,] GenerateReports(TravelAgencyDbContext db) { using (var reportsContext = new ReportsFluentModel()) { var schemaHandler = reportsContext.GetSchemaHandler(); var sqliteReports = this.sqliteReader.GetData(); var currentReports = reportsContext.GetAll <Report>().Select(x => new { Name = x.Name, ExpenseId = x.ExpenseId, Income = x.TotalIncome }).ToList(); var finalReportsLength = currentReports.Count; string[,] finalReports = new string[finalReportsLength, 2]; for (int i = 0; i < finalReportsLength; i++) { var currentReport = currentReports[i]; foreach (var sqliteReport in sqliteReports) { if (sqliteReport.Key == currentReport.ExpenseId) { var expenseToAdd = currentReport.Income - sqliteReport.Value; finalReports[i, 0] = currentReport.Name; finalReports[i, 1] = sqliteReport.Value.ToString(); } } } return(finalReports); } }
public string[,] GenerateReports(TravelAgencyDbContext db) { using (var reportsContext = new ReportsFluentModel()) { var schemaHandler = reportsContext.GetSchemaHandler(); var sqliteReports = this.sqliteReader.GetData(); var currentReports = reportsContext.GetAll<Report>().Select(x => new { Name = x.Name, ExpenseId = x.ExpenseId, Income = x.TotalIncome }).ToList(); var finalReportsLength = currentReports.Count; string[,] finalReports = new string[finalReportsLength, 2]; for (int i = 0; i < finalReportsLength; i++) { var currentReport = currentReports[i]; foreach (var sqliteReport in sqliteReports) { if (sqliteReport.Key == currentReport.ExpenseId) { var expenseToAdd = currentReport.Income - sqliteReport.Value; finalReports[i, 0] = currentReport.Name; finalReports[i, 1] = sqliteReport.Value.ToString(); } } } return finalReports; } }