diff --git a/ApiControllers/rep_eva_self_reviewControllers.cs b/ApiControllers/rep_eva_self_reviewControllers.cs index ff099ff..8037307 100644 --- a/ApiControllers/rep_eva_self_reviewControllers.cs +++ b/ApiControllers/rep_eva_self_reviewControllers.cs @@ -149,10 +149,17 @@ namespace TodoAPI2.Controllers string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password"); var temp = (from x in _repository.GetContext().eva_adjust_postponement_detail - join y in _repository.GetContext().eva_adjust_postponement - on x.adjust_postponement_id equals y.id + + join fk_eva_adjust_postponement1 in _repository.GetContext().eva_adjust_postponement on x.adjust_postponement_id equals fk_eva_adjust_postponement1.id + into eva_adjust_postponementResult1 + from fk_eva_adjust_postponementResult1 in eva_adjust_postponementResult1.DefaultIfEmpty() + + join fk_eva_adjust_postponement2 in _repository.GetContext().eva_adjust_postponement on x.adjust_postponement_quota_id equals fk_eva_adjust_postponement2.id + into eva_adjust_postponementResult2 + from fk_eva_adjust_postponementResult2 in eva_adjust_postponementResult2.DefaultIfEmpty() + where x.id == model.detail_id - select y).FirstOrDefault(); + select fk_eva_adjust_postponementResult1 == null? fk_eva_adjust_postponementResult1 : fk_eva_adjust_postponementResult2).FirstOrDefault(); if (temp != null) { model.theround = temp.theRound.ToString(); @@ -160,6 +167,7 @@ namespace TodoAPI2.Controllers var all_eva = (from x in _repository.GetContext().eva_performance_plan where x.fiscal_year == temp.fiscal_year + && x.theTime == temp.theRound orderby x.theTime select x).ToList(); foreach (var x2 in all_eva) @@ -207,10 +215,17 @@ namespace TodoAPI2.Controllers string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password"); var temp = (from x in _repository.GetContext().eva_adjust_postponement_detail - join y in _repository.GetContext().eva_adjust_postponement - on x.adjust_postponement_id equals y.id + + join fk_eva_adjust_postponement1 in _repository.GetContext().eva_adjust_postponement on x.adjust_postponement_id equals fk_eva_adjust_postponement1.id + into eva_adjust_postponementResult1 + from fk_eva_adjust_postponementResult1 in eva_adjust_postponementResult1.DefaultIfEmpty() + + join fk_eva_adjust_postponement2 in _repository.GetContext().eva_adjust_postponement on x.adjust_postponement_quota_id equals fk_eva_adjust_postponement2.id + into eva_adjust_postponementResult2 + from fk_eva_adjust_postponementResult2 in eva_adjust_postponementResult2.DefaultIfEmpty() + where x.id == model.detail_id - select y).FirstOrDefault(); + select fk_eva_adjust_postponementResult1 == null ? fk_eva_adjust_postponementResult1 : fk_eva_adjust_postponementResult2).FirstOrDefault(); if (temp != null) { model.theround = temp.theRound.ToString(); @@ -218,6 +233,7 @@ namespace TodoAPI2.Controllers var all_eva = (from x in _repository.GetContext().eva_performance_plan where x.fiscal_year == temp.fiscal_year + && x.theTime == temp.theRound orderby x.theTime select x).ToList(); foreach (var x2 in all_eva) diff --git a/Models/eva_self_review/eva_self_reviewService.cs b/Models/eva_self_review/eva_self_reviewService.cs index 5c91dbd..43586b6 100644 --- a/Models/eva_self_review/eva_self_reviewService.cs +++ b/Models/eva_self_review/eva_self_reviewService.cs @@ -154,13 +154,13 @@ namespace TodoAPI2.Models adjust_postponement_id = m_eva_self_review.adjust_postponement_id, adjust_postponement_quota_id = m_eva_self_review.adjust_postponement_quota_id, employee_id = m_eva_self_review.employee_id, - eva_year = fk_eva_adjust_postponementResult1.fiscal_year, - eva_no = fk_eva_adjust_postponementResult1.theRound, + eva_year = fk_eva_adjust_postponementResult1.fiscal_year.HasValue? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year, + eva_no = fk_eva_adjust_postponementResult1.theRound.HasValue? fk_eva_adjust_postponementResult1.theRound : fk_eva_adjust_postponementResult2.theRound, - adjust_postponement_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year, - adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult2.fiscal_year, - eva_year_external_linkage_external_name = fk_eva_adjust_postponementResult1.fiscal_year.ToString(), - eva_no_external_linkage_external_name = fk_eva_adjust_postponementResult1.theRound.ToString(), + adjust_postponement_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year.HasValue ? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year, + adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.theRound.HasValue ? fk_eva_adjust_postponementResult1.theRound : fk_eva_adjust_postponementResult2.theRound, + eva_year_external_linkage_external_name = (fk_eva_adjust_postponementResult1.fiscal_year.HasValue ? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year).ToString(), + eva_no_external_linkage_external_name = (fk_eva_adjust_postponementResult1.theRound.HasValue ? fk_eva_adjust_postponementResult1.theRound : fk_eva_adjust_postponementResult2.theRound).ToString(), isActive = m_eva_self_review.isActive, Created = m_eva_self_review.created,