combined booking classes

This commit is contained in:
IvanaE 2018-11-23 14:51:40 -05:00
parent 82124d4155
commit c42098ad28
9 changed files with 221 additions and 268 deletions

View file

@ -70,8 +70,7 @@
android:label="Availabilities"
android:screenOrientation="portrait" />
<activity android:name=".SignUpPart2" />
<activity android:name=".ServiceProviderBookings" />
<activity android:name=".HomeOwnerBookings" />
<activity android:name=".Bookings" />
<activity android:name=".FindServiceProvider" />
<activity android:name=".MakeBooking" />
<activity android:name=".HomeOwnerEditProfile"></activity>

View file

@ -0,0 +1,184 @@
package com.uottawa.olympus.olympusservices;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
public class Bookings extends AppCompatActivity {
//field for RecyclerView
private RecyclerView mRecyclerView;
//field for adapter of Recycler view
private RecyclerView.Adapter mAdapter;
//field for layout manager of Recyler view.
private RecyclerView.LayoutManager mLayoutManager;
String username;
DBHelper dbhelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bookings);
Bundle bundle = getIntent().getExtras();
username = bundle.getString("username");
dbhelper = new DBHelper(this);
/*
Booking[] bookings;
//get bookings here
mRecyclerView = (RecyclerView) findViewById(R.id.Bookings);
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter = new AdminServicesList.MyAdapter(booking, this);
mRecyclerView.setAdapter(mAdapter);
*/
}
/**
* Override so that previous screen refreshes when pressing the
* back button on this activity of the app.
*
*/
@Override
public void onBackPressed(){
Intent intent = new Intent(getApplicationContext(),Welcome.class);
intent.putExtra("username", username);
startActivity(intent);
finish();
}
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.BookingHolder> {
private Booking[] bookings;
private Context context;
// Provide a reference to the views for each data item
// Complex data items may need more than one view per item, and
// you provide access to all the views for a data item in a view holder
// Provide a suitable constructor (depends on the kind of dataset)
public MyAdapter(Booking[] bookings, Context context) {
this.bookings = bookings;
}
// Create new views (invoked by the layout manager)
@NonNull
@Override
public BookingHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.booking_list_item, parent, false);
BookingHolder vh = new BookingHolder(v);
return vh;
}
// Replace the contents of a view (invoked by the layout manager)
@Override
public void onBindViewHolder(BookingHolder holder, int position) {
Booking booking = bookings[position];
//holder.name.setText(booking.getServiceprovider().getFirstname()+" "+booking.getServiceprovider().getLastname());
}
// Return the size of your dataset (invoked by the layout manager)
@Override
public int getItemCount() {
return bookings.length;
}
class BookingHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
TextView homeowner;
TextView serviceprovider;
TextView date;
TextView start;
TextView end;
TextView status;
public BookingHolder(View row){
super(row);
homeowner = row.findViewById(R.id.HomeOwnerName);
serviceprovider = row.findViewById(R.id.ServiceProviderName);
date = row.findViewById(R.id.DateName);
start = row.findViewById(R.id.StartTime);
end = row.findViewById(R.id.EndTime);
status = row.findViewById(R.id.StatusName);
row.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if(dbhelper.findUserByUsername(username).getRole()=="ServiceProvider"){
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Bookings.this);
alertDialogBuilder.setMessage("Cancel or Confirm your booking");
alertDialogBuilder.setPositiveButton("Confirm",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
//confirm booking
Toast.makeText(Bookings.this,"Booking is confirmed",Toast.LENGTH_LONG).show();
Bookings.this.recreate();
}
});
alertDialogBuilder.setNegativeButton("No",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//delete booking
Toast.makeText(Bookings.this,"Booking is deleted",Toast.LENGTH_LONG).show();
Bookings.this.recreate();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
else{
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Bookings.this);
alertDialogBuilder.setMessage("Are you sure you want to cancel your booking");
alertDialogBuilder.setPositiveButton("Cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
//cancel booking
Toast.makeText(Bookings.this,"Booking is cancelled",Toast.LENGTH_LONG).show();
Bookings.this.recreate();
}
});
alertDialogBuilder.setNegativeButton("Nevermind",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
}
}
}
}

View file

@ -1,120 +0,0 @@
package com.uottawa.olympus.olympusservices;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class HomeOwnerBookings extends AppCompatActivity {
//field for RecyclerView
private RecyclerView mRecyclerView;
//field for adapter of Recycler view
private RecyclerView.Adapter mAdapter;
//field for layout manager of Recyler view.
private RecyclerView.LayoutManager mLayoutManager;
String username;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_owner_bookings);
Bundle bundle = getIntent().getExtras();
username = bundle.getString("username");
/*
Booking[] bookings;
//get bookings here
mRecyclerView = (RecyclerView) findViewById(R.id.Bookings);
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter = new AdminServicesList.MyAdapter(booking, this);
mRecyclerView.setAdapter(mAdapter);
*/
}
/**
* Override so that previous screen refreshes when pressing the
* back button on this activity of the app.
*
*/
@Override
public void onBackPressed(){
Intent intent = new Intent(getApplicationContext(),Welcome.class);
intent.putExtra("username", username);
startActivity(intent);
finish();
}
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.BookingHolder> {
private Booking[] bookings;
private Context context;
// Provide a reference to the views for each data item
// Complex data items may need more than one view per item, and
// you provide access to all the views for a data item in a view holder
// Provide a suitable constructor (depends on the kind of dataset)
public MyAdapter(Booking[] bookings, Context context) {
this.bookings = bookings;
}
// Create new views (invoked by the layout manager)
@NonNull
@Override
public BookingHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.booking_list_item, parent, false);
BookingHolder vh = new BookingHolder(v);
return vh;
}
// Replace the contents of a view (invoked by the layout manager)
@Override
public void onBindViewHolder(BookingHolder holder, int position) {
Booking booking = bookings[position];
holder.name.setText(booking.getServiceprovider().getFirstname()+" "+booking.getServiceprovider().getLastname());
}
// Return the size of your dataset (invoked by the layout manager)
@Override
public int getItemCount() {
return bookings.length;
}
class BookingHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
TextView name;
TextView rate;
public BookingHolder(View row){
super(row);
name = row.findViewById(R.id.Name);
rate = row.findViewById(R.id.Rate);
row.setOnClickListener(this);
}
@Override
public void onClick(View view) {
TextView nameview = (TextView)view.findViewById(R.id.Name);
String name = nameview.getText().toString();
}
}
}
}

View file

@ -1,120 +0,0 @@
package com.uottawa.olympus.olympusservices;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class ServiceProviderBookings extends AppCompatActivity {
//field for RecyclerView
private RecyclerView mRecyclerView;
//field for adapter of Recycler view
private RecyclerView.Adapter mAdapter;
//field for layout manager of Recyler view.
private RecyclerView.LayoutManager mLayoutManager;
String username;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_owner_bookings);
Bundle bundle = getIntent().getExtras();
username = bundle.getString("username");
/*
Booking[] bookings;
//get bookings here
mRecyclerView = (RecyclerView) findViewById(R.id.Bookings);
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter = new AdminServicesList.MyAdapter(booking, this);
mRecyclerView.setAdapter(mAdapter);
*/
}
/**
* Override so that previous screen refreshes when pressing the
* back button on this activity of the app.
*
*/
@Override
public void onBackPressed(){
Intent intent = new Intent(getApplicationContext(),Welcome.class);
intent.putExtra("username", username);
startActivity(intent);
finish();
}
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.BookingHolder> {
private Booking[] bookings;
private Context context;
// Provide a reference to the views for each data item
// Complex data items may need more than one view per item, and
// you provide access to all the views for a data item in a view holder
// Provide a suitable constructor (depends on the kind of dataset)
public MyAdapter(Booking[] bookings, Context context) {
this.bookings = bookings;
}
// Create new views (invoked by the layout manager)
@NonNull
@Override
public BookingHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.booking_list_item, parent, false);
BookingHolder vh = new BookingHolder(v);
return vh;
}
// Replace the contents of a view (invoked by the layout manager)
@Override
public void onBindViewHolder(BookingHolder holder, int position) {
Booking booking = bookings[position];
holder.name.setText(booking.getServiceprovider().getFirstname()+" "+booking.getServiceprovider().getLastname());
}
// Return the size of your dataset (invoked by the layout manager)
@Override
public int getItemCount() {
return bookings.length;
}
class BookingHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
TextView name;
TextView rate;
public BookingHolder(View row){
super(row);
name = row.findViewById(R.id.Name);
rate = row.findViewById(R.id.Rate);
row.setOnClickListener(this);
}
@Override
public void onClick(View view) {
TextView nameview = (TextView)view.findViewById(R.id.Name);
String name = nameview.getText().toString();
}
}
}
}

View file

@ -79,7 +79,7 @@ public class ServiceProviderWelcome extends AppCompatActivity {
finish();
}
public void SeeBookings(View view){
Intent intent = new Intent(getApplicationContext(),ServiceProviderBookings.class);
Intent intent = new Intent(getApplicationContext(),Bookings.class);
intent.putExtra("username", username);
startActivity(intent);
finish();

View file

@ -61,7 +61,7 @@ public class Welcome extends AppCompatActivity {
}
public void SeeBookings(View view){
Intent intent = new Intent(getApplicationContext(),HomeOwnerBookings.class);
Intent intent = new Intent(getApplicationContext(),Bookings.class);
intent.putExtra("username", username);
startActivity(intent);
finish();

View file

@ -11,7 +11,7 @@
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/background"
tools:context=".HomeOwnerBookings">
tools:context=".Bookings">
<android.support.v7.widget.RecyclerView
android:id="@+id/Bookings"

View file

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/background"
tools:context=".ServiceProviderBookings">
<android.support.v7.widget.RecyclerView
android:id="@+id/Bookings"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="500dp"/>
</LinearLayout>

View file

@ -122,7 +122,39 @@
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_weight="1"
android:text="Date Start-End"
android:text="Date"
android:textColor="@color/colorBlack"
android:textSize="15sp"
/>
<TextView
android:id="@+id/StartTime"
android:paddingLeft="10dp"
android:paddingTop="6dp"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_weight="1"
android:text="Start"
android:textColor="@color/colorBlack"
android:textSize="15sp"
/>
<TextView
android:id="@+id/Textfield"
android:paddingTop="6dp"
android:layout_width="5dp"
android:layout_height="45dp"
android:layout_weight="1"
android:text="-"
android:textColor="@color/colorBlack"
android:textSize="15sp"
/>
<TextView
android:id="@+id/EndTime"
android:paddingLeft="10dp"
android:paddingTop="6dp"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_weight="1"
android:text="End"
android:textColor="@color/colorBlack"
android:textSize="15sp"
/>