////********************** adding lines ******************// //private void PopulateAssignedLineData(Driver driver) //{ // var allLines = db.Lines; // var busLines = new HashSet<int>(driver.Lines.Select(c => c.LineID)); // var viewModel = new List<AssignedLineData>(); // foreach (var line in allLines) // { // viewModel.Add(new AssignedLineData // { // LineID = line.LineID, // Direction = line.Direction, // LineNumber = line.LineNumber, // Assigned = busLines.Contains(line.LineID) // }); // } // ViewBag.Lines = viewModel; //} ////************************************************// ////**************** editing lines ***********************// //private void UpdateDriverLines(string[] selectedLines, Driver driverToUpdate) //{ // if (selectedLines == null) // { // driverToUpdate.Lines = new List<Line>(); // return; // } // var selectedLinesHS = new HashSet<string>(selectedLines); // var busLines = new HashSet<int> // (driverToUpdate.Lines.Select(c => c.LineID)); // foreach (var line in db.Lines) // { // if (selectedLinesHS.Contains(line.LineID.ToString())) // { // if (!busLines.Contains(line.LineID)) // { // driverToUpdate.Lines.Add(line); // } // } // else // { // if (busLines.Contains(line.LineID)) // { // driverToUpdate.Lines.Remove(line); // } // } // } //} ////************************************************// //***Methods For App support***//// //[HttpGet] public ActionResult LoginDriver() { DriverForApp dataFromApp; //create mock Driver with credentials send from app Request.InputStream.Position = 0; var result = new System.IO.StreamReader(Request.InputStream).ReadToEnd(); dataFromApp = JsonConvert.DeserializeObject<DriverForApp>(result); IEnumerable<Driver> serverDrivers = db.Drivers.ToList(); //get all drivers from server if (serverDrivers != null) { foreach (Driver driv in serverDrivers) //compare credentials from application with database { if (driv.DriverLogin == dataFromApp.DriverLogin && driv.DriverPass == dataFromApp.DriverPass) { //credentials found, return the Driver object but remove password firstly (we dont want to send it via Internet) dataFromApp = new DriverForApp(driv); // create Driver object which application may recognize. It is a copy of driver from server dataFromApp.DriverPass = null; //hide the password return Json(dataFromApp, JsonRequestBehavior.AllowGet); //send driver to app } } } //if not found, login failed String message = "FAIL"; // change this value to some global constant return Json(message, JsonRequestBehavior.AllowGet); }
public ActionResult GetDriver(int id) { try { //Bus busik = db.Buses.Find(id); Driver driv = db.Drivers.Find(id); DriverForApp driverToSend = new DriverForApp(driv); if (driverToSend != null) { //wybitnie niebezpieczne rozwiązanie return Json(driverToSend, JsonRequestBehavior.AllowGet); } else { String message = "Empty result"; // change this value to some global constant return Json(message, JsonRequestBehavior.AllowGet); } } catch (Exception ex) { String message = "Error occurred"; return Json(message, JsonRequestBehavior.AllowGet); // change this value to some global constant (for easier future maintenance) } }