# 2022/11/11 電算中心學習筆記 ###### tags: `NTUST-CC` HTML<=>Controller<=>Service<=>Repository ## HTML 就是指你當下要實行的畫面。 ## Service 裡面所寫的是前端所寫的東西,帶到Controller後所要處理的服務。 以下列來說,要做的服務有搜尋、新增、修改和刪除。 > void 代表我在做新增修改刪除時不回傳東西。 > v_stu_status代表在IStuStatusRepository.cs所對應到的一個Table。   ### IStuStatusService.cs ```javascript= public interface IStuStatusService { string GetSutdentInfo(string studentid); void Add(v_stu_status stu);//stu為v_stu_status的物件object void Update(v_stu_status stu, string IDCard);//在Update假設會用到IDCard(身分證)的字串 void Delete(v_stu_status stu); } ``` ### StuStatusService.cs ```javascript= public string GetSutdentInfo(string studentid) { var reslut = stuStatusRepository.Where(item=>item.StudentNo== studentid).FirstOrDefault(); var aa = stuStatusRepository.Where(item=>item.StudentNo== studentid).FirstOrDefault(); var customersResponse = mapper.Map<StudentInfo>(aa); return reslut.StudentName; } public void Add(v_stu_status stu) { stuStatusRepository.Add(stu); UnitOfWork.Commit(); } public void Update(v_stu_status stu,string IDCard) { var org = stuStatusRepository.Get(item => item.StudentNo == stu.StudentNo);//找到table的StudentNo有否跟前抬回傳的StudentNo一樣。 org.Semester = stu.Semester; org.IDCard = IDCard; org.CreateDateTime = DateTime.Now.ToShortDateString();//直接抓電腦的時間 org.OutEmail = stu.OutEmail; org.StudentEngName = stu.StudentEngName; org.StudentName = stu.StudentName; stuStatusRepository.Update(org);//repository update整個object UnitOfWork.Commit(); } public void Delete(v_stu_status stu) { var org = stuStatusRepository.Get(item => item.StudentNo == stu.StudentNo); stuStatusRepository.Delete(org); UnitOfWork.Commit();//代表刪除repo.內的這個動作已End } ``` ## Controller 基本上一個HTML對應的一個Controller,在進到Service之前,要知道前端所帶來什麼值。 以下列範例來說 ```javascript= public ActionResult Index() { v_stu_status s = new v_stu_status();//我們用匿名方式,去呼叫table來到值 s.IDCard = "dfdfds";//以下這些都是假設我們這些世崇前端帶回的值。 s.Semester="=234"; s.OutEmail = "gfjj"; s.StudentEngName = "23e4r1"; s.StudentName = "wqdd"; s.StudentNo = "44444"; stuStatusService.Add(s);//新增上方的整個資訊(物件s) s.Semester = "FGGGGGGG";//原本Semester="=234"要更新為"FGGGGGGG" stuStatusService.Update(s,"LLLL");//這邊的s是我們要更新Semester所以要修新的值;"LLLL"是IStuStatusService.cs所說需要的字串IDCard stuStatusService.Delete(s); var aa = stuStatusService.GetSutdentInfo("M10810207"); // logger.Info("AAAAA"); var a = User.Identity.Name; return View(); } ``` ## 測試 ### Add  ### Update  ### Delete 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up