Search in sources :

Example 1 with GetUserRequest

use of com.cmput301w18t05.taskzilla.request.command.GetUserRequest in project Taskzilla by CMPUT301W18T05.

the class ViewTaskActivity method thePinkButton.

/**
 * thePinkButton
 * when the task is requested or bidded
 * there will be a pink button where the requester can decline one of the existing bids
 * onclick it shows a dialog with a listview of existing bids and a button to confirm declination
 *
 * @param view the view this button is in
 * @author myapplestory
 */
public void thePinkButton(android.view.View view) {
    final AlertDialog mBuilder = new AlertDialog.Builder(ViewTaskActivity.this).create();
    final View mView = getLayoutInflater().inflate(R.layout.dialog_decline_bid, null);
    final ListView declineBidListView = mView.findViewById(R.id.DeclineBidList);
    final Button declineBidButton = mView.findViewById(R.id.DeclineBidButton);
    ArrayList<String> tempList = new ArrayList<>();
    selectedBid = null;
    if (BidList.isEmpty()) {
        tempList.add("No bids :'(");
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, tempList);
        declineBidListView.setAdapter(adapter);
        declineBidButton.setText("SAD");
        declineBidButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                mBuilder.dismiss();
            }
        });
    } else {
        for (Bid bid : BidList) {
            ProfileController controller = new ProfileController(mView, getBaseContext());
            controller.setUserID(bid.getUserId());
            controller.getUserRequest();
            DecimalFormat cents = new DecimalFormat("#0.00");
            tempList.add("Best bidder: " + controller.getUser().getName() + "\nBid Amount: $" + cents.format(bid.getBidAmount()));
        }
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_single_choice, tempList);
        declineBidListView.setAdapter(adapter);
        declineBidListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        declineBidButton.setText("DECLINE BID");
        declineBidListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                selectedBid = BidList.get(i);
            }
        });
        declineBidButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                if (selectedBid == null) {
                    Toast.makeText(ViewTaskActivity.this, "Select a bid before declining", Toast.LENGTH_SHORT).show();
                    return;
                }
                RemoveBidRequest removeRequest = new RemoveBidRequest(selectedBid);
                RequestManager.getInstance().invokeRequest(removeRequest);
                String temp = "Your bid has been declined!";
                Notification notification = new Notification("Bid Declined", task.getRequesterId(), selectedBid.getUserId(), taskID, taskName, temp, currentUser.getInstance());
                NotificationManager.getInstance().sendNotification(notification);
                BidList.remove(selectedBid);
                updateBidsList();
                if (BidList.size() == 1) {
                    EditButton.setVisibility(View.VISIBLE);
                    task.setStatus("requested");
                    TaskStatus.setText("requested");
                    updateBidsList();
                } else {
                    Float bestBidTemp = -1.0f;
                    String bestBidderIdTemp = "-1";
                    for (Bid bid : BidList) {
                        if (bestBidTemp == -1.0f) {
                            bestBidTemp = bid.getBidAmount();
                            GetUserRequest request = new GetUserRequest(bid.getUserId());
                            RequestManager.getInstance().invokeRequest(getApplicationContext(), request);
                            User tempBidder = request.getResult();
                            bestBidderIdTemp = tempBidder.getId();
                        }
                        if (bid.getBidAmount() < bestBidTemp && !task.getBestBidder().equals(bid.getUserId())) {
                            Log.i("CHANGE", bid.getBidAmount().toString());
                            bestBidTemp = bid.getBidAmount();
                            GetUserRequest request = new GetUserRequest(bid.getUserId());
                            RequestManager.getInstance().invokeRequest(getApplicationContext(), request);
                            User tempBidder = request.getResult();
                            bestBidderIdTemp = tempBidder.getId();
                        }
                    }
                    task.setBestBid(bestBidTemp);
                    task.setBestBidder(bestBidderIdTemp);
                    task.updateThis();
                }
                setProviderField();
                mBuilder.dismiss();
            }
        });
    }
    mBuilder.setView(mView);
    mBuilder.show();
}
Also used : AlertDialog(android.support.v7.app.AlertDialog) ProfileController(com.cmput301w18t05.taskzilla.controller.ProfileController) GetUserRequest(com.cmput301w18t05.taskzilla.request.command.GetUserRequest) User(com.cmput301w18t05.taskzilla.User) com.cmput301w18t05.taskzilla.currentUser(com.cmput301w18t05.taskzilla.currentUser) DecimalFormat(java.text.DecimalFormat) ArrayList(java.util.ArrayList) Notification(com.cmput301w18t05.taskzilla.Notification) ListView(android.widget.ListView) ExpandableListView(android.widget.ExpandableListView) ImageButton(android.widget.ImageButton) Button(android.widget.Button) Bid(com.cmput301w18t05.taskzilla.Bid) View(android.view.View) AdapterView(android.widget.AdapterView) TextView(android.widget.TextView) ListView(android.widget.ListView) RecyclerView(android.support.v7.widget.RecyclerView) ScrollView(android.widget.ScrollView) ExpandableListView(android.widget.ExpandableListView) RemoveBidRequest(com.cmput301w18t05.taskzilla.request.command.RemoveBidRequest) AdapterView(android.widget.AdapterView) ArrayAdapter(android.widget.ArrayAdapter)

Example 2 with GetUserRequest

use of com.cmput301w18t05.taskzilla.request.command.GetUserRequest in project Taskzilla by CMPUT301W18T05.

the class NewReviewActivity method setValues.

public void setValues() {
    revieweeType = getIntent().getStringExtra("who");
    targetUserId = getIntent().getStringExtra("id");
    currentUserId = currentUser.getInstance().getId();
    GetUserRequest request = new GetUserRequest(targetUserId);
    request.execute();
    targetUser = request.getResult();
    targetUserName = targetUser.getName();
    nameTextView.setText("Review for " + targetUserName);
}
Also used : GetUserRequest(com.cmput301w18t05.taskzilla.request.command.GetUserRequest)

Example 3 with GetUserRequest

use of com.cmput301w18t05.taskzilla.request.command.GetUserRequest in project Taskzilla by CMPUT301W18T05.

the class ProfileController method getUserRequest.

public void getUserRequest() {
    GetUserRequest request = new GetUserRequest(userId);
    RequestManager.getInstance().invokeRequest(ctx, request);
    this.user = request.getResult();
}
Also used : GetUserRequest(com.cmput301w18t05.taskzilla.request.command.GetUserRequest)

Example 4 with GetUserRequest

use of com.cmput301w18t05.taskzilla.request.command.GetUserRequest in project Taskzilla by CMPUT301W18T05.

the class ProfileController method updateUserRequest.

/**
 * getUserRequest
 * get user from RequestManager and set the
 * user to be the result for the controller
 *
 * @author Micheal-Nguyen
 */
public void updateUserRequest(User user) {
    AddUserRequest request = new AddUserRequest(user);
    RequestManager.getInstance().invokeRequest(ctx, request);
}
Also used : AddUserRequest(com.cmput301w18t05.taskzilla.request.command.AddUserRequest)

Example 5 with GetUserRequest

use of com.cmput301w18t05.taskzilla.request.command.GetUserRequest in project Taskzilla by CMPUT301W18T05.

the class ExpandableBidListAdapter method getChildView.

/**
 * @param groupPosition which group was clicked
 * @param childPosition which child was clicked
 * @param isLastChild if it the last element in the list
 * @param view the listview parent in context
 * @param parent the parent group this group belongs to
 * @return the textview to be displayed
 * @author myapplestory
 *
 * gets bids on this task as well as the bid amount and big owner name
 * and displays it
 */
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View view, ViewGroup parent) {
    Bid currentBid = this.bidList.get(childPosition);
    GetUserRequest getUserRequest = new GetUserRequest(currentBid.getUserId());
    RequestManager.getInstance().invokeRequest(getUserRequest);
    User BidOwner = getUserRequest.getResult();
    TextView textView = new TextView(context);
    String output = "$" + String.format(Locale.CANADA, "%.2f", currentBid.getBidAmount()) + "    By user: " + BidOwner.getName();
    textView.setText(output);
    textView.setTextColor(0xffff88ff);
    textView.setTextSize(18);
    textView.setPadding(144, 0, 0, 0);
    textView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Toast.makeText(context, "Secret developer settings enabled", Toast.LENGTH_SHORT).show();
        }
    });
    return textView;
}
Also used : GetUserRequest(com.cmput301w18t05.taskzilla.request.command.GetUserRequest) TextView(android.widget.TextView) TextView(android.widget.TextView) View(android.view.View)

Aggregations

GetUserRequest (com.cmput301w18t05.taskzilla.request.command.GetUserRequest)6 View (android.view.View)2 TextView (android.widget.TextView)2 Bid (com.cmput301w18t05.taskzilla.Bid)2 User (com.cmput301w18t05.taskzilla.User)2 com.cmput301w18t05.taskzilla.currentUser (com.cmput301w18t05.taskzilla.currentUser)2 AlertDialog (android.support.v7.app.AlertDialog)1 RecyclerView (android.support.v7.widget.RecyclerView)1 AdapterView (android.widget.AdapterView)1 ArrayAdapter (android.widget.ArrayAdapter)1 Button (android.widget.Button)1 ExpandableListView (android.widget.ExpandableListView)1 ImageButton (android.widget.ImageButton)1 ListView (android.widget.ListView)1 ScrollView (android.widget.ScrollView)1 Notification (com.cmput301w18t05.taskzilla.Notification)1 ProfileController (com.cmput301w18t05.taskzilla.controller.ProfileController)1 AddUserRequest (com.cmput301w18t05.taskzilla.request.command.AddUserRequest)1 RemoveBidRequest (com.cmput301w18t05.taskzilla.request.command.RemoveBidRequest)1 DecimalFormat (java.text.DecimalFormat)1