public double setAfstand(TimelineContent content) { UserProfile user = db.UserProfiles.Find(WebSecurity.CurrentUserId); Locatie locatie = new Locatie(); double afstand = locatie.Afstand(user.locatie, content.locatie); return afstand; }
// GET api/Timeline public IEnumerable<TimelineContent> Get(int id = 0) { List<TimelineContent> timelineContent = new List<TimelineContent>(); Dienst[] diensten = db.diensten.ToList().Where(d => d.status == DienstStatus.open).OrderByDescending(d => d.laatsteVerandering).ToArray(); TimelineBericht[] berichten = db.timelineBerichten.Where(c => c.toplevelComment == true).OrderByDescending(c => c.plaatsingsDatum).ToArray(); foreach (Dienst dienst in diensten) { TimelineContent content = new TimelineContent(); content.username = dienst.aanvrager.UserName; if (dienst.fotos.Count > 0) { content.coverphotoName = "../Images/UserUploads/" + dienst.aanvrager.UserName + "/" + dienst.fotos.First().naam + ".jpg"; } else { content.coverphotoName = "../Images/max.jpg"; } content.id = dienst.id; content.titel = dienst.titel; content.volledigeNaam = dienst.aanvrager.volledigeNaam; content.voornaam = dienst.aanvrager.voornaam; content.plaatsingsdatum = Global.convertDateTimeToUnixTimestamp(dienst.datumPlaatsing); content.type = "dienst"; content.locatie = dienst.aanvrager.locatie; content.afstand = setAfstand(content); timelineContent.Add(content); } foreach (TimelineBericht bericht in berichten) { TimelineContent content = new TimelineContent(); content.username = bericht.verzender.UserName; content.id = bericht.Id; content.plaatsingsdatum = Global.convertDateTimeToUnixTimestamp(bericht.plaatsingsDatum); content.titel = bericht.titel; content.type = "post"; content.volledigeNaam = bericht.verzender.volledigeNaam; content.voornaam = bericht.verzender.voornaam; content.tekst = bericht.tekst; timelineContent.Add(content); } return timelineContent.OrderByDescending(c => c.plaatsingsdatum).Skip(id).Take(n); }