public List <string> ProcessDrive([FromBody] KomentarVozacPrenos k) { Drive por = new Drive(); string ss1 = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/Drives.xml"); string drv = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/Drivers.xml"); string adm = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/Admins.xml"); List <Dispatcher> dispatchers = xml.ReadDispatcher(adm); List <Drive> drives = xml.ReadDrives(ss1); List <Driver> drivers = xml.ReadDrivers(drv); ClosestDistance cd = new ClosestDistance(); Driver driver = new Driver(); Dispatcher dispacer = new Dispatcher(); List <Tuple <Point, string> > proslediListu = new List <Tuple <Point, string> >(); foreach (Driver d in drivers) { if (!d.Blocked && !d.Zauzet && (d.Car.CarType == k.voz.CarType)) { Point poi = new Point(); poi.X = Double.Parse(d.Location.X); poi.Y = Double.Parse(d.Location.Y); proslediListu.Add(new Tuple <Point, string>(poi, d.UserName)); } } List <string> najblizi = new List <string>(); if (proslediListu.Any()) { Point ip = new Point(); ip.X = Double.Parse(k.voz.Arrival.X); ip.Y = Double.Parse(k.voz.Arrival.Y); najblizi = cd.OrderByDistance(proslediListu, ip); } return(najblizi); }
public bool Comment([FromBody] KomentarVozacPrenos k) { bool por = false; string ss1 = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/Drives.xml"); string drv = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/Drivers.xml"); List <Drive> drives = xml.ReadDrives(ss1); List <Driver> drivers = xml.ReadDrivers(drv); foreach (Drive dri in drives) { if (dri.Driver.UserName == k.voz.Driver.UserName && DateTime.Parse(dri.DataAndTime) == DateTime.Parse(k.voz.DataAndTime)) { dri.Comment.Date = DateTime.Parse(String.Format("{0:F}", DateTime.Now)); dri.Comment.Description = k.KommOpis; dri.Comment.Rating = 0; dri.Comment.user = k.voz.Driver.UserName; dri.Driver.Zauzet = false; dri.Status = Enums.DriveStatus.Unsuccessful; por = true; break; } } if (por) { foreach (Driver kp in drivers) { if (kp.UserName == k.voz.Driver.UserName) { kp.Zauzet = false; break; } } } xml.WriteDrives(drives, ss1); xml.WriteDrivers(drivers, drv); return(por); }