public CauHinhPC GetByID(string id) { CauHinhPC proList = new CauHinhPC(); var query = (from prods in context.CauHinhPCs where prods.MaCH == id select prods).ToList(); foreach (var item in query) { proList = new CauHinhPC { MaCH = item.MaCH, MaCPU = item.MaCPU, MaMain = item.MaMain, MaRam = item.MaRam, MaRam2 = item.MaRam2, MaHDD = item.MaHDD, MaHDD2 = item.MaHDD2, MaCase = item.MaCase, MaNguon = item.MaNguon, MaGPU = item.MaGPU, Diem = Convert.ToInt32(item.Diem), Giaban = Convert.ToInt32(item.Giaban) }; } return(proList); }
public IList <string> GetList(int Giatien, string MaCH) { IList <CHPCtemp> lstCHPC = new List <CHPCtemp>(); CauHinhPC CHPC = new CauHinhPC(); CHPC = new CauHinhPCController().GetByID(MaCH); int Giadu = Giatien - CHPC.Giaban; int Giasaumuagpu = 0; int Giasaumuacpu = 0; int Giasaumuamain = 0; int Giasaumuaram = 0; CPU CPU = new CPU(); CPU = new CPUController().GetByID(CHPC.MaCPU); GPU GPU = new GPU(); if (CHPC.MaGPU != null) { GPU = new GPUController().GetByID(CHPC.MaGPU); } else { GPU = new GPUController().GetByID(CPU.Dohoa); } Mainboard MAIN = new Mainboard(); MAIN = new MainboardController().GetByID(CHPC.MaMain); RAM RAM = new RAM(); RAM = new RAMController().GetByID(CHPC.MaRam); if (CHPC.MaRam2 != null) { RAM RAM2 = new RAM(); RAM2 = new RAMController().GetByID(CHPC.MaRam); } if (CHPC.MaGPU != null) { IList <GPU> lstGpu = new List <GPU>(); lstGpu = new GPUController().GetList(GPU.Diem, Giadu, GPU.Giaban).ToList(); if (lstGpu.Count != 0) { for (int i = 0; i < lstGpu.Count; i++) { Giasaumuagpu = Giadu - (lstGpu[i].Giaban - GPU.Giaban); IList <CPU> lstCpu = new List <CPU>(); lstCpu = new CPUController().GetList(CPU.Diem, lstGpu[i].Diem, Giasaumuagpu, CPU.Giaban).ToList(); if (lstCpu.Count != 0) { for (int j = 0; j < lstCpu.Count; j++) { Giasaumuacpu = Giasaumuagpu - (lstCpu[j].Giaban - CPU.Giaban); IList <Mainboard> lstMain = new List <Mainboard>(); lstMain = new MainboardController().GetList(lstCpu[j].Socket, lstGpu[i].PCI, Giasaumuacpu, MAIN.Giaban).ToList(); if (lstMain.Count != 0) { for (int k = 0; k < lstMain.Count; k++) { Giasaumuamain = Giasaumuacpu - (lstMain[k].Giaban - MAIN.Giaban); if (CHPC.MaRam2 == null) { IList <RAM> lstRam = new List <RAM>(); lstRam = new RAMController().GetList(Giasaumuamain, RAM.Giaban, RAM.DungLuong, lstMain[k].LoaiRamToiDa).ToList(); if (lstRam.Count != 0) { for (int l = 0; l < lstRam.Count; l++) { Giasaumuaram = Giasaumuamain - (lstRam[l].Giaban - RAM.Giaban); lstCHPC.Add(new CHPCtemp { MaGPU = lstGpu[i].MaGPU, MaCPU = lstCpu[j].MaCPU, MaMain = lstMain[k].MaMain, MaRam = lstRam[l].MaRam, MaRam2 = null, MaHDD = CHPC.MaHDD, MaHDD2 = CHPC.MaHDD2, MaCase = CHPC.MaCase, MaNguon = CHPC.MaNguon, Giaban = Giatien - Giasaumuaram }); } } } } } } } } } } else { IList <GPU> lstGpu = new List <GPU>(); lstGpu = new GPUController().GetList(GPU.Diem, Giadu, GPU.Giaban).ToList(); if (lstGpu.Count != 0) { for (int i = 0; i < lstGpu.Count; i++) { Giasaumuagpu = Giadu - (lstGpu[i].Giaban - GPU.Giaban); if (lstGpu[i].HangChipset == "SX0004") { IList <CPU> lstCpu = new List <CPU>(); lstCpu = new CPUController().GetList2(CPU.Diem, lstGpu[i].MaGPU, Giasaumuagpu, CPU.Giaban).ToList(); if (lstCpu.Count != 0) { for (int j = 0; j < lstCpu.Count; j++) { Giasaumuacpu = Giasaumuagpu - (lstCpu[j].Giaban - CPU.Giaban); IList <Mainboard> lstMain = new List <Mainboard>(); lstMain = new MainboardController().GetList2(lstCpu[j].Socket, Giasaumuacpu, MAIN.Giaban).ToList(); if (lstMain.Count != 0) { for (int k = 0; k < lstMain.Count; k++) { Giasaumuamain = Giasaumuacpu - (lstMain[k].Giaban - MAIN.Giaban); if (CHPC.MaRam2 == null) { IList <RAM> lstRam = new List <RAM>(); lstRam = new RAMController().GetList(Giasaumuamain, RAM.Giaban, RAM.DungLuong, lstMain[k].LoaiRamToiDa).ToList(); if (lstRam.Count != 0) { for (int l = 0; l < lstRam.Count; l++) { Giasaumuaram = Giasaumuamain - (lstRam[l].Giaban - RAM.Giaban); lstCHPC.Add(new CHPCtemp { MaGPU = lstGpu[i].MaGPU, MaCPU = lstCpu[j].MaCPU, MaMain = lstMain[k].MaMain, MaRam = lstRam[l].MaRam, MaRam2 = null, MaHDD = CHPC.MaHDD, MaHDD2 = CHPC.MaHDD2, MaCase = CHPC.MaCase, MaNguon = CHPC.MaNguon, Giaban = Giatien - Giasaumuaram }); } } } } } } } } else { IList <CPU> lstCpu = new List <CPU>(); lstCpu = new CPUController().GetList(CPU.Diem, lstGpu[i].Diem, Giasaumuagpu, CPU.Giaban).ToList(); if (lstCpu.Count != 0) { for (int j = 0; j < lstCpu.Count; j++) { Giasaumuacpu = Giasaumuagpu - (lstCpu[j].Giaban - CPU.Giaban); IList <Mainboard> lstMain = new List <Mainboard>(); lstMain = new MainboardController().GetList(lstCpu[j].Socket, lstGpu[i].PCI, Giasaumuacpu, MAIN.Giaban).ToList(); if (lstMain.Count != 0) { for (int k = 0; k < lstMain.Count; k++) { Giasaumuamain = Giasaumuacpu - (lstMain[k].Giaban - MAIN.Giaban); if (CHPC.MaRam2 == null) { IList <RAM> lstRam = new List <RAM>(); lstRam = new RAMController().GetList(Giasaumuamain, RAM.Giaban, RAM.DungLuong, lstMain[k].LoaiRamToiDa).ToList(); if (lstRam.Count != 0) { for (int l = 0; l < lstRam.Count; l++) { Giasaumuaram = Giasaumuamain - (lstRam[l].Giaban - RAM.Giaban); lstCHPC.Add(new CHPCtemp { MaGPU = lstGpu[i].MaGPU, MaCPU = lstCpu[j].MaCPU, MaMain = lstMain[k].MaMain, MaRam = lstRam[l].MaRam, MaRam2 = null, MaHDD = CHPC.MaHDD, MaHDD2 = CHPC.MaHDD2, MaCase = CHPC.MaCase, MaNguon = CHPC.MaNguon, Giaban = Giatien - Giasaumuaram }); } } } } } } } } } } } for (var a = 0; a <= lstCHPC.Count - 1; a++) { for (var b = 0; b < a; b++) { CHPCtemp temp = new CHPCtemp(); if (lstCHPC[a].Giaban > lstCHPC[b].Giaban) { temp = lstCHPC[a]; lstCHPC[a] = lstCHPC[b]; lstCHPC[b] = temp; } } } IList <CHPCtemp> lstCHPCResult = new List <CHPCtemp>(); IList <string> lstName = new List <string>(); if (lstCHPC.Count < 10) { for (int i = 0; i < lstCHPC.Count; i++) { string Name = ""; Name = PostName(lstCHPC[i]); lstName.Add(Name); } return(lstName); } else { for (int i = 0; i < 10; i++) { string Name = ""; Name = PostName(lstCHPC[i]); lstName.Add(Name); } return(lstName); } }