package zh.codegym.task.task17.task1711;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.text.SimpleDateFormat;
/*
CRUD 2
*/
public class Solution {
public static volatile List<Person> allPeople = new ArrayList<>();
static {
allPeople.add(Person.createMale("唐纳德·坎普", new Date())); // id=0
allPeople.add(Person.createMale("拉里·盖茨", new Date())); // id=1
}
public static void main(String[] args) {
try {
switch (args[0]) {
case "-c":
synchronized(Solution.class) {
for (int i=0; i<args.length/3-1; i++) {
Date date = new SimpleDateFormat("MM dd yyyy").parse(args[3+i*3]);
if (args[2+i*3].equals("m")) {
allPeople.add(Person.createMale(args[1+i*3], date)); // id=0
}else {
allPeople.add(Person.createFemale(args[1+i*3], date)); // id=0
}
System.out.println(allPeople.size()-1);
}
}
case "-u":
synchronized(Solution.class) {
for (int j=0; j<args.length/4-1; j++) {
int idu = Integer.parseInt(args[1*j]);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM dd yyyy");
Date date = simpleDateFormat.parse(args[4+4*j]);
if (args[3+4*j].equals("m")) {
allPeople.set(idu, Person.createMale(args[2+4*j], date));
}else {
allPeople.set(idu, Person.createFemale(args[2+4*j], date));
}
}
}
case "-d":
synchronized(Solution.class) {
for (int k=1; k<args.length-1; k++) {
int idd = Integer.parseInt(args[k]);
allPeople.get(idd).setSex(null);
allPeople.get(idd).setBirthDate(null);
allPeople.get(idd).setName(null);
}
}
case "-i":
synchronized(Solution.class) {
for (int l=1; l<args.length-1; l++) {
int idi = Integer.parseInt(args[1]);
String s = null;
if (allPeople.get(idi).getSex().equals(Sex.FEMALE)) {
s = "f";
}else {
s = "m"; // id=0
}
String date2 = new SimpleDateFormat("MMM dd yyyy", Locale.ENGLISH).format(allPeople.get(idi).getBirthDate());
System.out.println(allPeople.get(idi).getName() +" "+ s +" " + date2);
}
}
}
}catch (Exception e) {
}
}
}