public async Task GetChild(T entity, Expression <Func <T, object> > propertyExpression) { // Note: I know that I use this method only to load counties; if this changes in the future, then I need to change the implementation var dataEntity = entity as Data; dataEntity.County = CountiesSeeder.GetData().First(x => x.Id == dataEntity.CountyId); }
public List <CountyDto> GetCounties() { var counties = CountiesSeeder.GetData().Select(x => new CountyDto { Id = x.Id, Name = x.Name }).ToList(); return(counties); }
private void SeedDatabase() { var counties = CountiesSeeder.GetData(); _db.InsertOrReplaceAll(counties); var averageGrossSalaries = AverageGrossSalarySeeder.GetData(); _db.DeleteAll <AverageGrossSalary>(); _db.InsertAll(averageGrossSalaries); var averageNetSalaries = AverageNetSalarySeeder.GetData(); _db.DeleteAll <AverageNetSalary>(); _db.InsertAll(averageNetSalaries); var numberOfTourists = NumberOfTouristsSeeder.GetData(); _db.DeleteAll <NumberOfTourists>(); _db.InsertAll(numberOfTourists); var numberOfNights = NumberOfNightsSeeder.GetData(); _db.DeleteAll <NumberOfNights>(); _db.InsertAll(numberOfNights); var numberOfEmployees = NumberOfEmployeesSeeder.GetData(); _db.DeleteAll <NumberOfEmployees>(); _db.InsertAll(numberOfEmployees); var numberOfUnemployed = UnemployedSeeder.GetData(); _db.DeleteAll <Unemployed>(); _db.InsertAll(numberOfUnemployed); var export = ExportFobSeeder.GetData(); _db.DeleteAll <ExportFob>(); _db.InsertAll(export); var import = ImportCifSeeder.GetData(); _db.DeleteAll <ImportCif>(); _db.InsertAll(import); var sold = SoldFobCifSeeder.GetData(); _db.DeleteAll <SoldFobCif>(); _db.InsertAll(sold); }
private async Task <string> GetDescriptionForCountyDetails() { var query = this.HttpContext.Request.Query; var dataProviderController = _serviceProvider.GetService(typeof(CountyDetailsController)) as CountyDetailsController; Func <int, int, string, bool, Task <object> > getData = (countyId1Param, countyId2Param, chapterParam, needToProcessAllYearParam) => dataProviderController.GetCountyDetails(countyId1Param, countyId2Param, chapterParam, needToProcessAllYearParam); var needToProcessAllYear = bool.Parse(query["needToProcessAllYear"]); var countyId1 = int.Parse(query["countyId1"]); var countyId2 = int.Parse(query["countyId2"]); var data = await getData(countyId1, countyId2, query["chapter"], needToProcessAllYear) as CountyDetailsDto; var pointOfInterests = data.Data.OrderByDescending(x => x.Year) .ThenByDescending(x => x.YearFraction) .First(); var countyList = CountiesSeeder.GetData().ToDictionary(x => x.Name, x => x.Id); var description = $"In anul {pointOfInterests.Year}{(needToProcessAllYear ? string.Empty : $", luna {pointOfInterests.YearFraction}")}, pentru judetul {countyList.First(x => x.Value == countyId1).Key}, indicatorul statistic '{query["chapter"]}' a avut valoarea {pointOfInterests.Value}.";
public async Task <object> GetCountyDetails(int countyId, int countyId2, string chapter, bool needToProcessAllYear) { if (!ChapterList.ContainsKey(chapter) || countyId < 1) { return(null); } var countyAbbreviations = new Dictionary <string, string>() { { "Alba", "AB" }, { "Arad", "AR" }, { "Arges", "AG" }, { "Bacau", "BC" }, { "Bihor", "BH" }, { "Bistrita-Nasaud", "BN" }, { "Botosani", "BT" }, { "Brasov", "BV" }, { "Braila", "BR" }, { "Buzau", "BZ" }, { "Caras-Severin", "CS" }, { "Calarasi", "CL" }, { "Cluj", "CJ" }, { "Constanta", "CT" }, { "Covasna", "CV" }, { "Dambovita", "DB" }, { "Dolj", "DJ" }, { "Galati", "GL" }, { "Giurgiu", "GR" }, { "Gorj", "GJ" }, { "Harghita", "HR" }, { "Hunedoara", "HD" }, { "Ialomita", "IL" }, { "Iasi", "IS" }, { "Ilfov", "IF" }, { "Maramures", "MM" }, { "Mehedinti", "MH" }, { "Mures", "MS" }, { "Neamt", "NT" }, { "Olt", "OT" }, { "Prahova", "PH" }, { "Satu Mare", "SM" }, { "Salaj", "SJ" }, { "Sibiu", "SB" }, { "Suceava", "SV" }, { "Teleorman", "TR" }, { "Timis", "TM" }, { "Tulcea", "TL" }, { "Vaslui", "VS" }, { "Valcea", "VL" }, { "Vrancea", "VN" }, { "Bucuresti", "B" }, }; var countyList = CountiesSeeder.GetData().ToDictionary(x => x.Name, x => x.Id); var valueColumnCaption = string.Format("{0} {1}", UnitOfMeasureList[chapter], countyAbbreviations[countyList.First(x => x.Value == countyId).Key]); var data = (await CountyDetailsProvider.GetData(countyId, ChapterList[chapter], needToProcessAllYear)) .OrderByDescending(x => x.Year) .ThenByDescending(x => x.YearFraction) .Select(x => new DataDto { Id = x.Id, CountyId = x.CountyId, Subchapter = x.Subchapter, Year = x.Year, YearFraction = x.YearFraction, Value = x.Value, Value2 = x.Value2 }) .ToList(); string value2ColumnCaption = null; bool value2ColumnVisibility; // kept for compatibility with the mobile VM in case I ever want to merge the duplicated logic if (countyId2 >= 1 && countyId != countyId2) { var data2 = await CountyDetailsProvider.GetData(countyId2, ChapterList[chapter], needToProcessAllYear); foreach (var item2 in data2) { var item = data.FirstOrDefault(x => x.Year == item2.Year && x.YearFraction == item2.YearFraction); if (item != null) { item.Value2 = item2.Value; } } value2ColumnCaption = string.Format("{0} {1}", UnitOfMeasureList[chapter], countyAbbreviations[countyList.First(x => x.Value == countyId2).Key]); value2ColumnVisibility = true; } else { value2ColumnVisibility = false; } return(new CountyDetailsDto { ValueColumnCaption = valueColumnCaption, Value2ColumnCaption = value2ColumnCaption, Data = data }); }