public void InsertAdditionalHeader([FromBody] JObject Data) { var header = ServiceContainer.GetService <PesWeb.Service.Modules.HeaderManage>(); tblHeaderAdditional H = new tblHeaderAdditional(); H.Part2ID = Convert.ToInt32(Data["PositionNo"].ToString()); H.Eva_ID = Convert.ToInt32(Data["Eva_Id"].ToString()); H.parent = Convert.ToInt32(Data["H_ID"].ToString()); //tblHeader hd = header.GetAllHeader().Where(a => a.H_ID == H.parent).FirstOrDefault(); H.H_Level = (Convert.ToInt32(Data["H_ID"].ToString()) == 0)? 1: (Convert.ToInt32(Data["H_ID"].ToString()) > 0)? header.GetAllHeader().Where(a => a.H_ID == H.parent).FirstOrDefault().H_Level + 1 : header.getHeaderAdditional().Where(a => a.H_ID == (-1) * H.parent).FirstOrDefault().H_Level + 1; H.Text = Data["Text"].ToString(); H.Text_Eng = Data["Text_Eng"].ToString(); if (H.Text.Length == 0) { H.Text = H.Text_Eng; } if (H.Text_Eng.Length == 0) { H.Text_Eng = H.Text; } H.Alias = Data["Alias"].ToString(); H.point = 0; header.InsertAdditionalHeader(H); }
public List <tblHeaderAdditional> FinalHeader(tblHeaderAdditional parent, List <tblHeaderAdditional> ListAll) { List <tblHeaderAdditional> ListResult = new List <tblHeaderAdditional>(); if (ListAll.Where(a => a.parent == parent.H_ID * (-1)).ToList().Count == 0) { ListResult.Add(parent); return(ListResult); } List <tblHeaderAdditional> Result = new List <tblHeaderAdditional>(); foreach (tblHeaderAdditional res in ListAll.Where(a => a.parent == parent.H_ID * (-1)).ToList()) { foreach (tblHeaderAdditional a in FinalHeader(res, ListAll)) { Result.Insert(Result.Count, a); } } return(Result); }
public void InsertAdditionalHeader(tblHeaderAdditional H) { PSESEntities db = new PSESEntities(); db.SP_InsertAdditionalHeader(H.parent, H.Text, H.Text_Eng, H.Eva_ID, H.Alias, H.H_Level, H.Part2ID); }
public List <JObject> GetAllHeader(int PositionID, int EvaID, int ID, string Language) { var header = ServiceContainer.GetService <PesWeb.Service.Modules.HeaderManage>(); var header2 = ServiceContainer.GetService <PesWeb.Service.Modules.EvaManage>(); List <tblScore> sc = header2.GetAllScore(); List <tblHeader> hd = header.GetAllHeader().ToList(); //List<tblHeaderJob> Allhj = header.getAllHeaderJob().ToList(); // tblProjectMember proj = header.getProjectMember().Where(a => a.ProjectID == Data["ProjectNO"].ToString()).Where(a => a.StaffID == Data["EmployeeNO"].ToString()).FirstOrDefault(); SP_GetEvaDataByEvaID_Result eva = header2.getEvaDataByEvaID(EvaID).Where(a => a.Part2ID == PositionID).FirstOrDefault(); List <tblHeaderJob> hj = header.getAllHeaderJob().Where(a => a.PositionNo == ((eva != null)? eva.Part2ID: PositionID)).ToList(); List <SP_GetHeaderByPosition_Result> GetHeader = header.getHeaderByPosition(PositionID, EvaID).OrderBy(a => a.H_ID).ToList(); List <tblHeader> Ans = new List <tblHeader>(); tblHeader p = new tblHeader(); int sum = 0; foreach (tblHeaderJob hh in hj) { if (hd.Where(a => a.H_ID == hh.H1_ID).FirstOrDefault() != null) { sum += FinalHeader(hd.Where(a => a.H_ID == hh.H1_ID).FirstOrDefault(), hd).ToList().Count; } } p.H_ID = 0; foreach (tblHeaderJob tmpHJ in hj) { foreach (tblHeader hd2 in hd.Where(a => a.H_ID == tmpHJ.H1_ID)) { foreach (tblHeader hd3 in FinalHeader(hd2, hd)) { if (sc.Where(a => a.Eva_ID == EvaID && a.H3_ID == hd3.H_ID).ToList().Count == 0) { //if (Ans.Where(a => a.H_ID == hd3.H_ID).ToList().Count == 0) Ans.Add(hd3); } } } } foreach (tblHeader h in Ans) { header2.InsertSCORE(EvaID, h.H_ID); } header2.UpdateEvaluationData(EvaID, PositionID); GetHeader = header.getHeaderByPosition(PositionID, EvaID).OrderBy(a => a.H_ID).ToList(); List <SP_GetHeaderByPosition_Result> H = new List <SP_GetHeaderByPosition_Result>(); //List<SP_GetHeaderByPosition_Result> H2 = new List<SP_GetHeaderByPosition_Result>(); // GetHeader.Reverse(0,GetHeader.Count); List <SP_GetHeaderByPosition_Result> GetHeader2 = new List <SP_GetHeaderByPosition_Result>(); List <tblHeaderAdditional> HdA = header.getHeaderAdditional(); foreach (tblHeaderAdditional HdATemp in HdA.Where(a => a.Eva_ID == EvaID && a.Part2ID == PositionID).ToList()) { if (HdATemp.H_status == 1 || ID == 2) { SP_GetHeaderByPosition_Result newHeader = new SP_GetHeaderByPosition_Result(); newHeader.Alias = HdATemp.Alias; newHeader.H_Level = HdATemp.H_Level; newHeader.Parent = HdATemp.parent; newHeader.Text = HdATemp.Text; newHeader.Text_Eng = HdATemp.Text_Eng; newHeader.Eva_ID = HdATemp.Eva_ID; newHeader.H_ID = (-1) * HdATemp.H_ID; newHeader.PositionNO = PositionID; newHeader.point = HdATemp.point; newHeader.Comment = HdATemp.Comment; if (HdATemp.Text_Eng == "-") { HdATemp.Text_Eng = HdATemp.Text; } if (HdATemp.Text == "-") { HdATemp.Text = HdATemp.Text_Eng; } newHeader.Text_Language = "{\"EN\":\"" + HdATemp.Text_Eng + "\",\"TH\":\"" + HdATemp.Text + "\"}"; newHeader.statusNo = "1"; GetHeader.Add(newHeader); } else if (ID == 1) { DeleteHeader((-1) * HdATemp.H_ID); } } List <tblScore> sc2 = sc.Where(a => a.Eva_ID == EvaID && a.point > 0).OrderBy(a => a.H3_ID).ToList(); sc2.ForEach(a => { SP_GetHeaderByPosition_Result tmp = GetHeader.Where(b => b.H_ID == a.H3_ID).FirstOrDefault(); if (tmp == null && a.point > 0) { SP_GetHeaderByPosition_Result newHeader = new SP_GetHeaderByPosition_Result(); tblHeader hd2 = hd.Where(b => b.H_ID == a.H3_ID).FirstOrDefault(); if (hd2 != null) { newHeader.Alias = hd2.Alias; newHeader.H_Level = hd2.H_Level; newHeader.Parent = hd2.Parent; newHeader.Text = hd2.Text; newHeader.Text_Eng = hd2.Text_Eng; newHeader.Eva_ID = EvaID; newHeader.H_ID = hd2.H_ID; newHeader.PositionNO = hd2.PositionNo; newHeader.point = a.point; newHeader.Comment = a.Comment; newHeader.Text_Language = hd2.Text_Language; newHeader.statusNo = "2"; GetHeader.Add(newHeader); } } }); List <tblHeaderAdditional> hda2 = HdA.Where(a => a.Eva_ID == EvaID).ToList(); hda2.ForEach(a => { SP_GetHeaderByPosition_Result tmp = GetHeader.Where(b => b.H_ID == a.H_ID).FirstOrDefault(); if (tmp == null && a.point > 0) { SP_GetHeaderByPosition_Result newHeader = new SP_GetHeaderByPosition_Result(); tblHeaderAdditional hd2 = HdA.Where(b => b.H_ID == a.H_ID).FirstOrDefault(); if (hd2 != null) { newHeader.Alias = hd2.Alias; newHeader.H_Level = hd2.H_Level; newHeader.Parent = hd2.parent; newHeader.Text = hd2.Text; newHeader.Text_Eng = hd2.Text_Eng; newHeader.Eva_ID = EvaID; newHeader.H_ID = hd2.H_ID; newHeader.PositionNO = 0; newHeader.point = a.point; newHeader.Comment = a.Comment; if (hd2.Text_Eng == "-") { hd2.Text_Eng = hd2.Text; } if (hd2.Text == "-") { hd2.Text = hd2.Text_Eng; } newHeader.Text_Language = "{\"EN\":\"" + hd2.Text_Eng + "\",\"TH\":\"" + hd2.Text + "\"}"; newHeader.statusNo = "2"; GetHeader.Add(newHeader); } } }); List <SP_GetHeaderByPosition_Result> H_new = new List <SP_GetHeaderByPosition_Result>(); List <SP_GetHeaderByPosition_Result> hder = GetHeader.Where(a => a.H_ID > 0).OrderBy(a => a.H_ID).ToList(); foreach (SP_GetHeaderByPosition_Result a in hder) { if (a.Parent == 0) { H_new.Add(a); } else { int parent = (int)a.Parent; for (int i = 0; i < H_new.Count; i++) { if (H_new[i].H_ID == parent) { H_new.Insert(i + 1, a); } } } } foreach (SP_GetHeaderByPosition_Result a in GetHeader.Where(a => a.H_ID < 0)) { if (a.Parent == 0) { H_new.Add(a); } else { int parent = (int)a.Parent; for (int i = 0; i < H_new.Count; i++) { if (H_new[i].H_ID == parent) { H_new.Insert(i + 1, a); } } } } List <SP_GetHeaderByPosition_Result> H_new2 = new List <SP_GetHeaderByPosition_Result>(); foreach (SP_GetHeaderByPosition_Result a in H_new) { if (a.Parent == 0) { H_new2.Add(a); } else { int parent = (int)a.Parent; for (int i = 0; i < H_new2.Count; i++) { if (H_new2[i].H_ID == parent && H_new2.Find(b => b.H_ID == a.H_ID) == null) { if (H_new2.Where(x => x.Score_ID == a.Score_ID).ToList().Count == 0) { H_new2.Insert(i + 1, a); } } } } } List <JObject> aaa = new List <JObject>(); H_new2.ForEach(a => { JObject bbb = new JObject(); bbb["H_ID"] = a.H_ID; bbb["Text_Language"] = JsonConvert.DeserializeObject <JObject>(a.Text_Language); bbb["Alias"] = a.Alias; bbb["Comment"] = a.Comment; bbb["Eva_ID"] = a.Eva_ID; bbb["H_Level"] = a.H_Level; bbb["Parent"] = a.Parent; bbb["point"] = a.point; bbb["PositionNO"] = a.PositionNO; bbb["Score_ID"] = a.Score_ID; bbb["Text"] = a.Text; bbb["Text_Eng"] = a.Text_Eng; bbb["Status"] = a.statusNo; aaa.Add(bbb); }); return(aaa); //JObject Data = new JObject(); //for (int i = 0;i<H_new2.Count;i++) //{ // if (H_new2[i].Text_Language != null) // { // string json = H_new2[i].Text_Language.Replace(@"\", ""); // Data = JsonConvert.DeserializeObject<JObject>(json); // if (Data[Language] != null) // { // H_new2[i].Text_Language = Data.ToString(); // } // } //} //return Data; }