Ejemplo n.º 1
0
        // 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);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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));
            }
        }