import
android.content.Intent;
import
android.os.Bundle;
import
android.text.TextUtils;
import
android.view.View;
import
android.widget.Button;
import
android.widget.EditText;
import
android.widget.Toast;
import
androidx.appcompat.app.AppCompatActivity;
import
com.parse.GetCallback;
import
com.parse.ParseException;
import
com.parse.ParseObject;
import
com.parse.ParseQuery;
import
com.parse.SaveCallback;
public
class
UpdateCourseActivity
extends
AppCompatActivity {
private
EditText courseNameEdt, courseDurationEdt, courseDescriptionEdt;
private
Button updateCourseBtn;
private
String courseName, courseDuration, courseDescription, originalCourseName, objectID;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_update_course);
updateCourseBtn = findViewById(R.id.idBtnUpdate);
courseNameEdt = findViewById(R.id.idEdtCourseName);
courseDescriptionEdt = findViewById(R.id.idEdtCourseDescription);
courseDurationEdt = findViewById(R.id.idEdtCourseDuration);
courseNameEdt.setText(getIntent().getStringExtra(
"courseName"
));
courseDescriptionEdt.setText(getIntent().getStringExtra(
"courseDescription"
));
courseDurationEdt.setText(getIntent().getStringExtra(
"courseDuration"
));
originalCourseName = getIntent().getStringExtra(
"courseName"
);
updateCourseBtn.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
courseName = courseNameEdt.getText().toString();
courseDescription = courseDescriptionEdt.getText().toString();
courseDuration = courseDurationEdt.getText().toString();
if
(TextUtils.isEmpty(courseName)) {
courseNameEdt.setError(
"Please enter Course Name"
);
}
else
if
(TextUtils.isEmpty(courseDescription)) {
courseDescriptionEdt.setError(
"Please enter Course Description"
);
}
else
if
(TextUtils.isEmpty(courseDuration)) {
courseDurationEdt.setError(
"Please enter Course Duration"
);
}
else
{
updateData(originalCourseName, courseName, courseDescription, courseDuration);
}
}
});
}
private
void
updateData(String originalCourseName, String courseName, String courseDescription, String courseDuration) {
ParseQuery<ParseObject> query = ParseQuery.getQuery(
"courses"
);
query.whereEqualTo(
"courseName"
, originalCourseName);
query.getFirstInBackground(
new
GetCallback<ParseObject>() {
@Override
public
void
done(ParseObject object, ParseException e) {
if
(e ==
null
) {
objectID = object.getObjectId().toString();
query.getInBackground(objectID,
new
GetCallback<ParseObject>() {
@Override
public
void
done(ParseObject object, ParseException e) {
if
(e ==
null
) {
object.put(
"courseName"
, courseName);
object.put(
"courseDescription"
, courseDescription);
object.put(
"courseDuration"
, courseDuration);
object.saveInBackground(
new
SaveCallback() {
@Override
public
void
done(ParseException e) {
if
(e ==
null
) {
Toast.makeText(UpdateCourseActivity.
this
,
"Course Updated.."
, Toast.LENGTH_SHORT).show();
Intent i =
new
Intent(UpdateCourseActivity.
this
, HomeActivity.
class
);
startActivity(i);
}
else
{
Toast.makeText(UpdateCourseActivity.
this
,
"Fail to update data "
+ e.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
}
}
});
}
else
{
Toast.makeText(UpdateCourseActivity.
this
,
"Fail to update course "
+ e.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
}
}
});
}
else
{
Toast.makeText(UpdateCourseActivity.
this
,
"Fail to get object ID.."
, Toast.LENGTH_SHORT).show();
}
}
});
}
}