public IList <StatisticDto> GetPolicyStatistics(string policyId, string sortField = "PolId", string sortDirection = "ASC") { var statistics = this.PolicyDataService.GetStatistics(policyId); var retStats = new List <StatisticDto>(); foreach (PolicyDataService.Statistic item in statistics) { if (!string.IsNullOrEmpty(item.Unit)) { var coverStat = item as PolicyDataService.CoverStatistic; var monStat = item as PolicyDataService.MonitoredStatistic; var polStat = item as PolicyDataService.PolicyStatistic; var stat = new StatisticDto(); stat.PolId = item.PolId; stat.Reference = item.Reference; stat.SCC = item.SCC; stat.GrossIncLR = item.GrossIncLR; stat.IncClaimsMkt = item.IncClaimsMkt; stat.IncClaimsSyn = item.IncClaimsSyn; stat.Inception = item.Inception; stat.OsClaimsMkt = item.OsClaimsMkt; stat.OsClaimsSyn = item.OsClaimsSyn; stat.PdClaimsMkt = item.PdClaimsMkt; stat.PdClaimsSyn = item.PdClaimsSyn; stat.SgndPrmSyn = item.ApiSyn; if (coverStat != null) { stat.EstPrmSyn = coverStat.EstPremiumMkt; stat.EstPrmMkt = coverStat.EstNetPremiumMkt; stat.SgndPrmMkt = coverStat.SgndNetPremium; } if (monStat != null) { stat.EstPrmSyn = monStat.EstPremiumMktDecln; stat.EstPrmMkt = monStat.EstNetPremiumMktDecln; stat.SgndPrmMkt = monStat.SgndNetPremium; } if (polStat != null) { stat.EstPrmSyn = polStat.EpiSyn; stat.EstPrmMkt = polStat.EstNetPremium; stat.SgndPrmMkt = polStat.SgndNetPremium; } retStats.Add(stat); } } var query = from s in retStats.AsQueryable() select s; return((string.IsNullOrEmpty(sortField) ? query :string.Equals(sortDirection, "ASC", StringComparison.CurrentCultureIgnoreCase) ? query.OrderBy(sortField) : query.OrderByDescending(sortField)).ToList()); }
public StatisticDto GetTotalStatistic() { var userId = Convert.ToInt32(_httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value); StatisticDto statistic = new StatisticDto() { Gave = _context.Debts.Where(debt => debt.GiverId == userId).Sum(n => n.Sum), Took = _context.Debts.Where(debt => debt.TakerId == userId).Sum(n => n.Sum) }; return(statistic); }
public async Task <StatisticDto> InsertStatisticAsync(StatisticDto statisticDto) { var user = await _context.Users .Select(u => new { u.FirstName, u.LastName, UserId = u.Id }) .AsNoTracking() .FirstOrDefaultAsync(u => u.UserId == statisticDto.UserId); if (user == null) { return(null); } var xml = new XmlDocument(); xml.Load(@"Helper\Statistic.xml"); var nodeFirstName = xml.SelectSingleNode("Statistik/Vorname"); var nodeLastName = xml.SelectSingleNode("Statistik/Nachname"); var nodeYear = xml.SelectSingleNode("Statistik/Jahr"); if (nodeFirstName == null || nodeLastName == null || nodeYear == null) { _logger.InsertDatabaseLog(new DataBaseLog { Type = "XML Error StatisticRepository", Message = "Fehler beim Zugriff auf XML Node" }); return(null); } nodeFirstName.InnerText = user.FirstName; nodeLastName.InnerText = user.LastName; nodeYear.InnerText = DateTime.Now.Year.ToString(); await _context.Statistics.AddAsync(new Statistic { LicenceId = statisticDto.LicenceId, UserId = statisticDto.UserId, Year = DateTime.Now.Year, StatisticXml = xml.OuterXml }); var checkInsert = await Complete(); return(checkInsert ? statisticDto : null); }
public async Task <ActionResult <StatisticDto> > Post(StatisticDto statisticDto) { if (statisticDto == null) { return(BadRequest("Fehler: Keine Daten")); } var checkInsert = await _statisticRepository.InsertStatisticAsync(statisticDto); if (checkInsert == null) { return(BadRequest("Statistik konnte nicht hinzugefügt werden")); } return(Ok(checkInsert)); }
public async Task <StatisticDto> UpdateStatisticAsync(StatisticDto statisticDto) { var statisticToUpdate = await _context.Statistics.FindAsync(statisticDto.Id); if (statisticToUpdate == null) { return(null); } statisticToUpdate.UserId = statisticDto.UserId; var doc = new XDocument(); var statistic = new XElement("Statistik"); doc.Add(statistic); statistic.Add(new XElement("Fischerverein", statisticDto.Statistic.FishingClub)); statistic.Add(new XElement("Vorname", statisticDto.Statistic.FirstName)); statistic.Add(new XElement("Nachname", statisticDto.Statistic.LastName)); statistic.Add(new XElement("Jahr", statisticDto.Statistic.Year)); foreach (var month in statisticDto.Statistic.Months) { var months = new XElement("Monate"); months.Add(new XElement("Monat", month.Month)); statistic.Add(months); foreach (var day in month.Days) { var days = new XElement("Tage"); days.Add(new XElement("Tag", day.Day)); days.Add(new XElement("Stunden", day.Hour)); months.Add(days); foreach (var fish in day.FishCatches) { var fishCatch = new XElement("Fang"); fishCatch.Add(new XElement("Fisch", fish.Fish)); fishCatch.Add(new XElement("Anzahl", fish.Number)); days.Add(fishCatch); } } } statisticToUpdate.StatisticXml = doc.ToString(); var checkUpdate = await Complete(); return(checkUpdate ? statisticDto : null); }
public async Task <ActionResult <StatisticDto> > Put(int id, StatisticDto statisticDto) { var statistic = await _statisticRepository.GetStatisticByIdAsync(id); if (statistic == null) { return(BadRequest("Statistik nicht vorhanden")); } var checkUpdate = await _statisticRepository.UpdateStatisticAsync(statisticDto); if (checkUpdate == null) { return(BadRequest("Fehler: Statistik konnte nicht aktualisiert werden")); } return(Ok(checkUpdate)); }
public TextStatisticsDto MapToDto(TextStatistics dto) { var statisticsDto = new TextStatisticsDto(); foreach (var stat in dto.Statistics) { var statisticDto = new StatisticDto() { Count = stat.Value, Type = stat.Type.ToString() }; statisticsDto.Statistics.Add(statisticDto); } return(statisticsDto); }
/// <inheritdoc /> public StatisticDto GetHomeStat() { var stat = new StatisticDto { SolvedTasks = GetSolvedTaskNumber(), UnSolvedTasks = GetNotSolvedTaskNumber() }; stat.Periods = new List <PeriodStatistic>(); var periods = _periodService.GetUserPeriodList(); periods.ForEach(period => { stat.Periods.Add(new PeriodStatistic { IsCurrent = period.IsCurrent, Label = period.Name, Marks = period.Subjects.Where(x => x.Result != null).Select(x => (int)x.Result).ToList() }); }); return(stat); }
public IList<StatisticDto> GetPolicyStatistics(string policyId, string sortField = "PolId", string sortDirection = "ASC") { var statistics = this.PolicyDataService.GetStatistics(policyId); var retStats = new List<StatisticDto>(); foreach (PolicyDataService.Statistic item in statistics) { if (!string.IsNullOrEmpty(item.Unit)) { var coverStat = item as PolicyDataService.CoverStatistic; var monStat = item as PolicyDataService.MonitoredStatistic; var polStat = item as PolicyDataService.PolicyStatistic; var stat = new StatisticDto(); stat.PolId = item.PolId; stat.Reference = item.Reference; stat.SCC = item.SCC; stat.GrossIncLR = item.GrossIncLR; stat.IncClaimsMkt = item.IncClaimsMkt; stat.IncClaimsSyn = item.IncClaimsSyn; stat.Inception = item.Inception; stat.OsClaimsMkt = item.OsClaimsMkt; stat.OsClaimsSyn = item.OsClaimsSyn; stat.PdClaimsMkt = item.PdClaimsMkt; stat.PdClaimsSyn = item.PdClaimsSyn; stat.SgndPrmSyn = item.ApiSyn; if (coverStat != null) { stat.EstPrmSyn = coverStat.EstPremiumMkt; stat.EstPrmMkt = coverStat.EstNetPremiumMkt; stat.SgndPrmMkt = coverStat.SgndNetPremium; } if (monStat != null) { stat.EstPrmSyn = monStat.EstPremiumMktDecln; stat.EstPrmMkt = monStat.EstNetPremiumMktDecln; stat.SgndPrmMkt = monStat.SgndNetPremium; } if (polStat != null) { stat.EstPrmSyn = polStat.EpiSyn; stat.EstPrmMkt = polStat.EstNetPremium; stat.SgndPrmMkt = polStat.SgndNetPremium; } retStats.Add(stat); } } var query = from s in retStats.AsQueryable() select s; return (string.IsNullOrEmpty(sortField) ? query :string.Equals(sortDirection, "ASC", StringComparison.CurrentCultureIgnoreCase) ? query.OrderBy(sortField) : query.OrderByDescending(sortField)).ToList(); }
public async Task <List <StatisticDto> > GetUserStatisticsAsync(int userId) { var statistics = await _context.Statistics .Include(s => s.User) .Include(s => s.Licence) .Where(s => s.User.Id == userId) .AsNoTracking() .OrderByDescending(l => l.Year) .ToListAsync(); var dtoList = new List <StatisticDto>(); foreach (var item in statistics) { var dto = new StatisticDto(); var xml = new XmlDocument(); xml.LoadXml(item.StatisticXml); dto.Id = item.Id; dto.Year = item.Year; dto.FullName = $"{item.User.FirstName} {item.User.LastName}"; dto.UserId = item.UserId; dto.LicenceName = item.Licence.LicenseName; var statistic = new CatchStatistic { FishingClub = xml.SelectSingleNode("Statistik/Fischerverein")?.InnerText, Year = xml.SelectSingleNode("Statistik/Jahr")?.InnerText, FirstName = xml.SelectSingleNode("Statistik/Vorname")?.InnerText, LastName = xml.SelectSingleNode("Statistik/Nachname")?.InnerText, Months = new List <Months>() }; var months = xml.SelectNodes("Statistik/Monate"); if (months != null) { foreach (XmlNode month in months) { if (month.HasChildNodes == false) { continue; } var newMonth = new Months { Month = month.SelectSingleNode("Monat")?.InnerText, Days = new List <Days>() }; statistic.Months.Add(newMonth); var days = month.SelectNodes("Tage"); if (days == null) { continue; } foreach (XmlNode day in days) { if (day.HasChildNodes == false) { continue; } var newTag = new Days { Day = day.SelectSingleNode("Tag")?.InnerText, Hour = day.SelectSingleNode("Stunden")?.InnerText, FishCatches = new List <FishCatch>() }; newMonth.Days.Add(newTag); var fishCatches = day.SelectNodes("Fang"); if (fishCatches == null) { continue; } foreach (XmlNode fishCatch in fishCatches) { if (fishCatch.HasChildNodes == false) { continue; } var newFang = new FishCatch { Number = fishCatch.SelectSingleNode("Anzahl")?.InnerText, Fish = fishCatch.SelectSingleNode("Fisch")?.InnerText }; newTag.FishCatches.Add(newFang); } } } } dto.Statistic = statistic; dtoList.Add(dto); } return(dtoList); }