// PUT api/users/username public User Put(string username, [FromBody] Driver editedUser) { if (editedUser.DriverLocation != null) { try { jsonParser.EditDriver(username, editedUser); return(editedUser); } catch (Exception) { return(null); } } else { try { Customer castCustomer = new Customer(); castCustomer.FirstName = editedUser.FirstName; castCustomer.LastName = editedUser.LastName; castCustomer.ContactPhone = editedUser.ContactPhone; castCustomer.Email = editedUser.Email; castCustomer.Gender = editedUser.Gender; castCustomer.JMBG = editedUser.JMBG; castCustomer.Password = editedUser.Password; castCustomer.Rides = editedUser.Rides; castCustomer.Username = editedUser.Username; castCustomer.Role = Roles.Customer.ToString(); jsonParser.EditUser(username, castCustomer); return(castCustomer); } catch (Exception) { try { Dispatcher castDispatcher = new Dispatcher(); castDispatcher.FirstName = editedUser.FirstName; castDispatcher.LastName = editedUser.LastName; castDispatcher.ContactPhone = editedUser.ContactPhone; castDispatcher.Email = editedUser.Email; castDispatcher.Gender = editedUser.Gender; castDispatcher.JMBG = editedUser.JMBG; castDispatcher.Password = editedUser.Password; castDispatcher.Rides = editedUser.Rides; castDispatcher.Username = editedUser.Username; castDispatcher.Role = Roles.Dispatcher.ToString(); jsonParser.EditDispatcher(username, castDispatcher); return(castDispatcher); } catch (Exception) { return(null); } } } }
public HttpResponseMessage Post([FromBody] Ride newRide) { try { newRide.DateAndTime = DateTime.Now; if (newRide.RideVehicle.VehicleType == null || newRide.RideVehicle.VehicleType == string.Empty) { newRide.RideVehicle.VehicleType = VehicleTypes.Passenger.ToString(); } // ko je dodao voznju? if (newRide.RideCustomer == null) { newRide.RideCustomer = new Customer() { } } ; else { newRide.StatusOfRide = RideStatuses.CREATED_ONWAIT.ToString(); } if (newRide.RideDriver == null) { newRide.RideDriver = new Driver(); } else { newRide.RideDriver = jsonParser.ReadDrivers().Where(d => d.Username == newRide.RideDriver.Username).First(); newRide.RideDriver.IsFree = false; jsonParser.EditDriver(newRide.RideDriver.Username, newRide.RideDriver); } if (newRide.RideDispatcher == null) { newRide.RideDispatcher = new Dispatcher(); } else { newRide.StatusOfRide = RideStatuses.FORMED.ToString(); } // dodaj voznju Ride writtenRide = jsonParser.WriteRide(newRide); if (writtenRide.StatusOfRide == RideStatuses.FORMED.ToString()) { newRide.RideDispatcher.Rides.Add(writtenRide); jsonParser.EditDispatcher(newRide.RideDispatcher.Username, newRide.RideDispatcher); newRide.RideDriver.Rides.Add(writtenRide); jsonParser.EditDriver(newRide.RideDriver.Username, newRide.RideDriver); } else if (writtenRide.StatusOfRide == RideStatuses.CREATED_ONWAIT.ToString()) { newRide.RideCustomer.Rides.Add(writtenRide); jsonParser.EditUser(newRide.RideCustomer.Username, newRide.RideCustomer); } return(Request.CreateResponse(HttpStatusCode.Created, $"{writtenRide.ID}")); } catch (Exception) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }