Commit 894a2a30 authored by Mrunzzz's avatar Mrunzzz

consume createEvent api

parent fb23a1b8
......@@ -24,7 +24,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.8 (1)" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
......
package in.ac.iitb.gymkhana.iitbapp.api;
import in.ac.iitb.gymkhana.iitbapp.api.model.EventCreateRequest;
import in.ac.iitb.gymkhana.iitbapp.api.model.EventCreateResponse;
import in.ac.iitb.gymkhana.iitbapp.api.model.LoginRequest;
import in.ac.iitb.gymkhana.iitbapp.api.model.LoginResponse;
import retrofit2.Call;
......@@ -9,4 +11,7 @@ import retrofit2.http.POST;
public interface RetrofitInterface {
@POST("/login/")
Call<LoginResponse> login(@Body LoginRequest loginRequest);
@POST("/createEvent/")
Call<EventCreateResponse> eventCreate(@Body EventCreateRequest eventCreateRequest);
}
package in.ac.iitb.gymkhana.iitbapp.api.model;
import android.support.annotation.Nullable;
import com.google.gson.annotations.SerializedName;
import java.sql.Timestamp;
/**
* Created by mrunz on 15/7/17.
*/
public class EventCreateRequest {
@SerializedName("event_name")
private String eventName;
@SerializedName("event_description")
private String eventDescription;
@SerializedName("event_timing_from")
private Timestamp eventTimingFrom;
@SerializedName("event_timing_to")
private Timestamp eventTimingTo;
@SerializedName("event_venue_id")
private int eventVenueID;
@SerializedName("event_maplocation_id")
private int eventMapLocationId;
@SerializedName("event_venue")
private String eventVenue;
@SerializedName("public_status")
private int publicStatus;
public EventCreateRequest(String eventName, String eventDescription,String eventVenue,Timestamp eventTimingFrom,Timestamp eventTimingTo,int publicStatus,@Nullable int eventVenueID,@Nullable int eventMapLocationId ) {
this.eventName=eventName;
this.eventDescription=eventDescription;
this.eventTimingFrom=eventTimingFrom;
this.eventTimingTo=eventTimingTo;
this.eventVenueID=eventVenueID;
this.eventMapLocationId=eventMapLocationId;
this.eventVenue=eventVenue;
this.publicStatus=publicStatus;
}
public String getEventName() {
return eventName;
}
public void setEventName(String eventName) {
this.eventName = eventName;
}
public String getEventDescription() {
return eventDescription;
}
public void setEventDescription(String eventDescription) {
this.eventDescription = eventDescription;
}
public Timestamp getEventTimingFrom() {
return eventTimingFrom;
}
public void setEventTimingFrom(Timestamp eventTimingFrom) {
this.eventTimingFrom = eventTimingFrom;
}
public Timestamp getEventTimingTo() {
return eventTimingTo;
}
public void setEventTimingTo(Timestamp eventTimingTo) {
this.eventTimingTo = eventTimingTo;
}
public int getEventVenueID() {
return eventVenueID;
}
public void setEventVenueID(@Nullable int eventVenueID) {
this.eventVenueID = eventVenueID;
}
public int getEventMapLocationId() {
return eventMapLocationId;
}
public void setEventMapLocationId(@Nullable int eventMapLocationId) {
this.eventMapLocationId = eventMapLocationId;
}
public String getEventVenue() {
return eventVenue;
}
public void setEventVenue(String eventVenue) {
this.eventVenue = eventVenue;
}
public int getPublicStatus() {
return publicStatus;
}
public void setPublicStatus(int publicStatus) {
this.publicStatus = publicStatus;
}
}
package in.ac.iitb.gymkhana.iitbapp.api.model;
import com.google.gson.annotations.SerializedName;
/**
* Created by mrunz on 15/7/17.
*/
public class EventCreateResponse {
private String result;
private String eventId;
public EventCreateResponse(String result,String eventId){
this.result=result;
this.eventId=eventId;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public String getEventId() {
return eventId;
}
public void setEventId(String eventId) {
this.eventId = eventId;
}
}
......@@ -2,8 +2,10 @@ package in.ac.iitb.gymkhana.iitbapp.fragment;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
......@@ -17,11 +19,24 @@ import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;
import java.sql.Timestamp;
import java.util.Calendar;
import butterknife.BindView;
import butterknife.ButterKnife;
import in.ac.iitb.gymkhana.iitbapp.MainActivity;
import in.ac.iitb.gymkhana.iitbapp.R;
import in.ac.iitb.gymkhana.iitbapp.api.RetrofitInterface;
import in.ac.iitb.gymkhana.iitbapp.api.ServiceGenerator;
import in.ac.iitb.gymkhana.iitbapp.api.model.EventCreateRequest;
import in.ac.iitb.gymkhana.iitbapp.api.model.EventCreateResponse;
import in.ac.iitb.gymkhana.iitbapp.api.model.LoginRequest;
import in.ac.iitb.gymkhana.iitbapp.api.model.LoginResponse;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import static android.content.ContentValues.TAG;
public class AddEventFragment extends Fragment {
......@@ -31,6 +46,8 @@ public class AddEventFragment extends Fragment {
CheckBox publicCheckBox;
@BindView(R.id.tv_date)
TextView date;
@BindView(R.id.et_eventName)
EditText eventName;
@BindView(R.id.tv_time)
TextView time;
@BindView(R.id.et_venue)
......@@ -41,6 +58,8 @@ public class AddEventFragment extends Fragment {
ImageView eventImage;
@BindView(R.id.ib_eventImage)
ImageButton imageButton;
Timestamp timestamp;
int publicStatus;
View view;
......@@ -55,62 +74,86 @@ public class AddEventFragment extends Fragment {
container.removeAllViews();
view = inflater.inflate(R.layout.fragment_add_event, container, false);
ButterKnife.bind(this,view);
ButterKnife.bind(this, view);
date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar calendar=Calendar.getInstance();
int mYear=calendar.get(Calendar.YEAR);
int mMonth=calendar.get(Calendar.MONTH);
int mDay=calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog=new DatePickerDialog(getContext(), new DatePickerDialog.OnDateSetListener() {
Calendar calendar = Calendar.getInstance();
int mYear = calendar.get(Calendar.YEAR);
int mMonth = calendar.get(Calendar.MONTH);
int mDay = calendar.get(Calendar.DAY_OF_MONTH);
long millis = calendar.getTimeInMillis();
DatePickerDialog datePickerDialog = new DatePickerDialog(getContext(), new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
date.setText(dayOfMonth + "/" + month + "/" + year);
}
} ,mYear,mMonth,mDay);
datePickerDialog.show();
}, mYear, mMonth, mDay);
datePickerDialog.show();
timestamp = new Timestamp(millis);
}
});
if (publicCheckBox.isChecked()) {
publicStatus = 1;
} else
publicStatus = 0;
time.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar calendar=Calendar.getInstance();
int mHour=calendar.get(Calendar.HOUR_OF_DAY);
int mMin=calendar.get(Calendar.MINUTE);
TimePickerDialog timePickerDialog=new TimePickerDialog(getContext(), new TimePickerDialog.OnTimeSetListener() {
Calendar calendar = Calendar.getInstance();
int mHour = calendar.get(Calendar.HOUR_OF_DAY);
int mMin = calendar.get(Calendar.MINUTE);
long millis = calendar.getTimeInMillis();
TimePickerDialog timePickerDialog = new TimePickerDialog(getContext(), new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
time.setText(hourOfDay+":"+minute);
time.setText(hourOfDay + ":" + minute);
}
},mHour,mMin,true);
}, mHour, mMin, true);
timePickerDialog.show();
timestamp = new Timestamp(millis);
}
});
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(),"Add Image", Toast.LENGTH_SHORT).show();
Toast.makeText(getContext(), "Add Image", Toast.LENGTH_SHORT).show();
//TODO (1) upload image to server
}
});
createEvent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(),"Add Event", Toast.LENGTH_SHORT).show();
//TODO (2) save event
addEvent();
}
});
return view;
}
//TODO(3) configure onBackPressed
public void addEvent() {
EventCreateRequest eventCreateRequest = new EventCreateRequest(eventName.getText().toString(), details.getText().toString(), venue.getText().toString(), timestamp, timestamp, publicStatus, 0, 0);
RetrofitInterface retrofitInterface = ServiceGenerator.createService(RetrofitInterface.class);
retrofitInterface.eventCreate(eventCreateRequest).enqueue(new Callback<EventCreateResponse>() {
@Override
public void onResponse(Call<EventCreateResponse> call, Response<EventCreateResponse> response) {
Toast.makeText(getContext(), "Event Created", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<EventCreateResponse> call, Throwable t) {
Toast.makeText(getContext(), "Event Creation Failed", Toast.LENGTH_SHORT).show();
}
});
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment