package view;
import action.C2SAction;
import action.CourseAction;
import action.StudentAction;
import model.C2S;
import model.Course;
import model.Student;
import java.sql.SQLException;
import java.util.List;
import java.util.Scanner;
import java.util.regex.Pattern;
/**
* Created by yinus
* Date:2016/4/6
* Time:19:45
*/
public class C2SView {
private static final String OPERATE_ADD = "ADD";
private static final String OPERATE_EXIT = "EXIT";
private static final String OPERATE_UPDATE = "UPDATE";
private static final String OPERATE_QUERY = "QUERY";
private static final String OPERATE_DELETE = "DELETE";
private static final String PROMPT="COURSE2STUDENT[A/D/U/Q/E]>";
private static final String Menu =""+
"[DELETE]DELETE COURSE\n"+
"[UPDATE]UPDATE COURSE\n"+
"[QUERY]QUERY COURSE\n"+
"[EXIT]EXIT\n"+
"IGNORE CASE & MAY USE THE FIRST LETTER TO OPERATE\n" +
PROMPT;
public static void view() throws SQLException {
System.out.print(Menu);
Scanner in = new Scanner(System.in);
while (in.hasNext()){
String keyWord = in.next().toUpperCase();
if (keyWord.equals(OPERATE_EXIT) || keyWord.substring(0, 1).equals(OPERATE_EXIT.substring(0,1))) {
break;
}
else if (keyWord.equals(OPERATE_QUERY) || keyWord.substring(0, 1).equals(OPERATE_QUERY.substring(0,1))) {
System.out.println("using S+id+C+id to query a specific course or only using C+number,S+number to query courses");
System.out.println("for example ,S2C2 reference the student whose id is 2 and the course id is 2.");
String str = in.next();
if (Pattern.matches("^[sS][0-9]+[cC][0-9]+$",str)){
String[] ss = str.split("[sScC]");
C2SAction ca = new C2SAction();
C2S c = ca.query(Integer.parseInt(ss[1]), Integer.parseInt(ss[2]));
System.out.println(c);
}
else if (Pattern.matches("^[cC][0-9]+[sS][0-9]+$",str)){
String[] ss = str.split("[sScC]");
C2SAction ca = new C2SAction();
C2S c = ca.query(Integer.parseInt(ss[2]), Integer.parseInt(ss[1]));
System.out.println(c);
}
else if(Pattern.matches("^[sS][0-9]+$",str)){
C2SAction ca = new C2SAction();
List<C2S> cs = ca.querys(Integer.parseInt(str.substring(1)), true);
cs.forEach(System.out::println);
}
else if (Pattern.matches("^[cC][0-9]+$",str)){
C2SAction ca = new C2SAction();
List<C2S> cs = ca.querys(Integer.parseInt(str.substring(1)), false);
cs.forEach(System.out::println);
}
System.out.print(PROMPT);
}
else if (keyWord.equals(OPERATE_DELETE)||keyWord.substring(0,1).equals(OPERATE_DELETE.substring(0,1))){
System.out.println("using S+id+C+id to delete a specific course or only using C+number,S+number to delete courses");
System.out.println("for example ,S2C2 reference the student whose id is 2 and the course id is 2.");
String str = in.next();
if (Pattern.matches("^[sS][0-9]+[cC][0-9]+$",str)){
String[] ss = str.split("[sScC]");
C2SAction ca = new C2SAction();
ca.delete(Integer.parseInt(ss[1]),Integer.parseInt(ss[2]));
System.out.println("DELETED SUCCESSFULLY");
}
else if (Pattern.matches("^[cC][0-9]+[sS][0-9]+$",str)){
String[] ss = str.split("[sScC]");
C2SAction ca = new C2SAction();
ca.delete(Integer.parseInt(ss[2]), Integer.parseInt(ss[1]));
System.out.println("DELETED SUCCESSFULLY");
}
else if(Pattern.matches("^[sS][0-9]+$",str)){
C2SAction ca = new C2SAction();
ca.delete(Integer.parseInt(str.substring(1)), true);
System.out.println("DELETED SUCCESSFULLY");
}
else if (Pattern.matches("^[cC][0-9]+$",str)){
C2SAction ca = new C2SAction();
ca.delete(Integer.parseInt(str.substring(1)), false);
System.out.println("DELETED SUCCESSFULLY");
}
System.out.print(PROMPT);
}
else if (keyWord.equals(OPERATE_UPDATE)||keyWord.substring(0,1).equals(OPERATE_UPDATE.substring(0,1))){
System.out.println("enter the stuID:");
int sid = in.nextInt();
System.out.println("enter the couID");
int cid=in.nextInt();
C2SAction ca = new C2SAction();
C2S c = ca.query(sid, cid);
System.out.println("enter the new credit");
double nCredit = in.nextDouble();
c.setCredit(nCredit);
ca.update(c);
System.out.println("UPDATED SUCCESSFULLY");
System.out.print(PROMPT);
}
else if (keyWord.equals(OPERATE_ADD)||keyWord.substring(0,1).equals(OPERATE_ADD.substring(0,1))){
System.out.println("enter the stuID:");
int sid = in.nextInt();
StudentAction sa = new StudentAction();
Student student = sa.queryById(sid);
if (student!=null){
System.out.println("enter the couID");
int cid=in.nextInt();
CourseAction caa = new CourseAction();
Course course =caa.queryById(cid);
if(course!=null){
System.out.println("enter the credit");
double cre = in.nextDouble();
C2SAction ca = new C2SAction();
ca.add(new C2S(sid,cid,cre));
}
else {
System.out.println("NO SUCH COURSE");
}
}
else {
System.out.println("NO SUCH STUDENT");
}
System.out.println("ADDED SUCCESSFULLY");
System.out.print(PROMPT);
}
}
}
}
package view;
import action.C2SAction;
import action.CourseAction;
import dao.C2SDao;
import model.Course;
import java.sql.SQLException;
import java.util.List;
import java.util.Scanner;
import java.util.regex.Pattern;
/**
* Created by yinus
* Date:2016/4/6
* Time:19:45
*/
public class CourseView {
private static final String OPERATE_EXIT = "EXIT";
private static final String OPERATE_ADD = "ADD";
private static final String OPERATE_UPDATE = "UPDATE";
private static final String OPERATE_QUERY = "QUERY";
private static final String OPERATE_DELETE = "DELETE";
private static final String PROMPT="COURSE[A/D/U/Q/E]>";
private static final String Menu =""+
"[ADD]ADD COURSE\n"+
"[DELETE]DELETE COURSE\n"+
"[UPDATE]UPDATE COURSE\n"+
"[QUERY]QUERY COURSE\n"+
"[EXIT]EXIT\n"+
"IGNORE CASE & MAY USE THE FIRST LETTER TO OPERATE" +
PROMPT;
public static void view() throws SQLException {
System.out.println(Menu);
Scanner input = new Scanner(System.in);
while (input.hasNext()) {
String keyWord = input.next().toUpperCase();
if (keyWord.equals(OPERATE_EXIT) || keyWord.substring(0, 1).equals(OPERATE_EXIT.substring(0,1))) {
break;
}
else if (keyWord.equals(OPERATE_QUERY) || keyWord.substring(0, 1).equals(OPERATE_QUERY.substring(0,1))) {
System.out.println("please enter the id or title of the course to be queried");
String str = input.next();
CourseAction courseAction = new CourseAction();
if (Pattern.matches("\\d+", str)) {
Course course = courseAction.queryById(Integer.parseInt(str));
System.out.println(course);
} else {
List<Course> courses = courseAction.queryByName(str);
courses.forEach(System.out::println);
}
System.out.print(PROMPT);
}
else if (keyWord.equals(OPERATE_ADD) || keyWord.substring(0, 1).equals(OPERATE_ADD.substring(0,1))) {
CourseAction courseAction = new CourseAction();
System.out.println("please enter the id and title of the course to be added ,separated by spaces");
int id = input.nextInt();
String title = input.next();
courseAction.add(new Course(id, title));
System.out.println("added successfully");
System.out.print(PROMPT);
}
else if (keyWord.equals(OPERATE_DELETE) || keyWord.substring(0, 1).equals(OPERATE_DELETE.substring(0,1))) {
CourseAction courseAction = new CourseAction();
System.out.println("please enter the id of the course to be delete");
int id = input.nextInt();
courseAction.delete(id);
C2SAction ca =new C2SAction();
ca.delete(id,false);
System.out.println("deleted successfully");
System.out.print(PROMPT);
}
else if (keyWord.equals(OPERATE_UPDATE) || keyWord.substring(0, 1).equals(OPERATE_UPDATE.substring(0,1))) {
System.out.println("please enter the id of the course to be updated");
int id = input.nextInt();
CourseAction courseAction = new CourseAction();
Course course=courseAction.queryById(id);
System.out.println("please enter the new title of the course");
String title = input.next();
course.setTitle(title);
courseAction.update(course);
System.out.println("updated successfully");
System.out.print(PROMPT);
}
}
}
}
package view;
import action.C2SAction;
import action.StudentAction;
import model.Student;
import java.sql.SQLException;
import java.util.List;
import java.util.Scanner;
import java.util.regex.Pattern;
/**
* Created by yinus
* Date:2016/4/6
* Time:19:45
*/
public class StudentView {
private static final String OPERATE_EXIT = "EXIT";
private static final String OPERATE_ADD = "ADD";
private static final String OPERATE_UPDATE = "UPDATE";
private static final String OPERATE_QUERY = "QUERY";
private static final String OPERATE_DELETE = "DELETE";
private static final String PROMPT="STUDENT[A/D/U/Q/E]>";
private static final String Menu =""+
"[ADD]ADD COURSE\n"+
"[DELETE]DELETE COURSE\n"+
"[UPDATE]UPDATE COURSE\n"+
"[QUERY]QUERY COURSE\n"+
"[EXIT]EXIT\n"+
"IGNORE CASE & MAY USE THE FIRST LETTER TO OPERATE" +
PROMPT;
public static void view() throws SQLException {
System.out.print(Menu);
Scanner input = new Scanner(System.in);
while (input.hasNext()){
String keyWord = input.next().toUpperCase();
if (keyWord.equals(OPERATE_EXIT) || keyWord.substring(0, 1).equals(OPERATE_EXIT.substring(0,1))) {
break;
}
else if (keyWord.equals(OPERATE_QUERY) || keyWord.substring(0, 1).equals(OPERATE_QUERY.substring(0,1))){
System.out.println("please enter the id or name of the student to be queried");
String str = input.next();
StudentAction studentAction = new StudentAction();
if (Pattern.matches("\\d+",str)) {
Student student = studentAction.queryById(Integer.parseInt(str));
System.out.println(student);
}
else{
List<Student> students = studentAction.queryByName(str);
students.forEach(System.out::println);
}
System.out.print(PROMPT);
}
else if (keyWord.equals(OPERATE_ADD) || keyWord.substring(0, 1).equals(OPERATE_ADD.substring(0,1))){
StudentAction studentAction = new StudentAction();
System.out.println("please enter the id and name of the student to be added ,separated by spaces");
int id = input.nextInt();
String name = input.next();
studentAction.add(new Student(id,name));
System.out.println("added successfully");
System.out.print(PROMPT);
}
else if (keyWord.equals(OPERATE_DELETE) || keyWord.substring(0, 1).equals(OPERATE_DELETE.substring(0,1))){
StudentAction studentAction = new StudentAction();
System.out.println("please enter the id of the student to be deleted");
int id = input.nextInt();
studentAction.delete(id);
C2SAction ca = new C2SAction();
ca.delete(id,true);
System.out.println("deleted successfully");
System.out.print(PROMPT);
}
else if (keyWord.equals(OPERATE_UPDATE) || keyWord.substring(0, 1).equals(OPERATE_UPDATE.substring(0,1))){
System.out.println("please enter the id of the student to updated");
int id = input.nextInt();
StudentAction studentAction = new StudentAction();
Student student = studentAction.queryById(id);
System.out.println("enter the new name of the student");
String name = input.next();
student.setName(name);
studentAction.update(student);
System.out.println("updated successfully");
System.out.print(PROMPT);
}
}
}
}