diff --git a/ApiControllers/eva_adjust_postponement_normalControllers.cs b/ApiControllers/eva_adjust_postponement_normalControllers.cs index b42258d..967d04f 100644 --- a/ApiControllers/eva_adjust_postponement_normalControllers.cs +++ b/ApiControllers/eva_adjust_postponement_normalControllers.cs @@ -27,6 +27,7 @@ namespace TodoAPI2.Controllers private ILogger _logger; private Ieva_adjust_postponement_normalService _repository; private IConfiguration Configuration { get; set; } + private Iexternal_employeeService emp; #endregion #region Properties @@ -37,13 +38,16 @@ namespace TodoAPI2.Controllers /// Default constructure for dependency injection /// /// - /// + /// + /// /// - public eva_adjust_postponement_normalController(ILogger logger, Ieva_adjust_postponement_normalService repository, IConfiguration configuration) + public eva_adjust_postponement_normalController(ILogger logger, + Ieva_adjust_postponement_normalService repository, IConfiguration configuration, Iexternal_employeeService inemp) { _logger = logger; _repository = repository; Configuration = configuration; + emp = inemp; } /// @@ -64,9 +68,17 @@ namespace TodoAPI2.Controllers try { if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); - var result = _repository.GetWithSelection(id); - return Ok(result); + if (!string.IsNullOrEmpty(HttpContext.Request.Cookies["user_id"])) + { + var loginid = Convert.ToInt32(HttpContext.Request.Cookies["user_id"]); + var e = emp.GetEmployeeForLogin(Convert.ToInt32(loginid)); + return Ok(_repository.GetWithSelection(id, e.id)); + } + else + { + return Unauthorized(); + } } catch (Exception ex) { @@ -93,9 +105,17 @@ namespace TodoAPI2.Controllers try { if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); - var result = _repository.GetBlankItem(); - return Ok(result); + if (!string.IsNullOrEmpty(HttpContext.Request.Cookies["user_id"])) + { + var loginid = Convert.ToInt32(HttpContext.Request.Cookies["user_id"]); + var e = emp.GetEmployeeForLogin(Convert.ToInt32(loginid)); + return Ok(_repository.GetBlankItem(e.id)); + } + else + { + return Unauthorized(); + } } catch (Exception ex) { @@ -149,7 +169,18 @@ namespace TodoAPI2.Controllers try { if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); - return Ok(_repository.GetListBySearch(model)); + + if (!string.IsNullOrEmpty(HttpContext.Request.Cookies["user_id"])) + { + var loginid = Convert.ToInt32(HttpContext.Request.Cookies["user_id"]); + var e = emp.GetEmployeeForLogin(Convert.ToInt32(loginid)); + model.emp_id = e.id; + return Ok(_repository.GetListBySearch(model)); + } + else + { + return Unauthorized(); + } } catch (Exception ex) { diff --git a/Models/eva_adjust_postponement_normal/Ieva_adjust_postponement_normalService.cs b/Models/eva_adjust_postponement_normal/Ieva_adjust_postponement_normalService.cs index 0dc8373..bbefff0 100644 --- a/Models/eva_adjust_postponement_normal/Ieva_adjust_postponement_normalService.cs +++ b/Models/eva_adjust_postponement_normal/Ieva_adjust_postponement_normalService.cs @@ -18,8 +18,8 @@ namespace TodoAPI2.Models List GetListBySearch(eva_adjust_postponement_normalSearchModel model); string UpdateMultiple(List model); - eva_adjust_postponement_normalWithSelectionViewModel GetWithSelection(int id); - eva_adjust_postponement_normalWithSelectionViewModel GetBlankItem(); + eva_adjust_postponement_normalWithSelectionViewModel GetWithSelection(int id, int emp_id); + eva_adjust_postponement_normalWithSelectionViewModel GetBlankItem(int emp_id); diff --git a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalSearchModel.cs b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalSearchModel.cs index 6e60223..fc3dc1b 100644 --- a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalSearchModel.cs +++ b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalSearchModel.cs @@ -22,6 +22,7 @@ namespace TodoAPI2.Models public int? org_id { get; set; } + public int? emp_id { get; set; } } } diff --git a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs index 3b9cd23..0fa31e5 100644 --- a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs +++ b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs @@ -72,11 +72,17 @@ namespace TodoAPI2.Models return GetDto(entity); } - public eva_adjust_postponement_normalWithSelectionViewModel GetWithSelection(int id) + public eva_adjust_postponement_normalWithSelectionViewModel GetWithSelection(int id, int emp_id) { + var avaliable_eva = (from j in _repository.Context.eva_create_evaluation + where j.employee_id == emp_id + select j.id).ToList(); + var entity = _repository.Get(id); var i = Mapper.Map(entity); - i.item_create_evaluation_id = create.GetListBySearch(new eva_create_evaluationSearchModel()); + + var temp = create.GetListBySearch(new eva_create_evaluationSearchModel()); + i.item_create_evaluation_id = (from x in temp where avaliable_eva.Contains(x.id) select x).ToList(); var all_emp = emp.GetListByemployee_type(null, null); i.item_managed_by = all_emp.ToList(); i.item_org_id = (from x in ext.GetDepartmentData() select x).ToList(); @@ -84,10 +90,15 @@ namespace TodoAPI2.Models return i; } - public eva_adjust_postponement_normalWithSelectionViewModel GetBlankItem() + public eva_adjust_postponement_normalWithSelectionViewModel GetBlankItem(int emp_id) { + var avaliable_eva = (from j in _repository.Context.eva_create_evaluation + where j.employee_id == emp_id + select j.id).ToList(); + var i = new eva_adjust_postponement_normalWithSelectionViewModel(); - i.item_create_evaluation_id = create.GetListBySearch(new eva_create_evaluationSearchModel()); + var temp = create.GetListBySearch(new eva_create_evaluationSearchModel()); + i.item_create_evaluation_id = (from x in temp where avaliable_eva.Contains(x.id) select x).ToList(); var all_emp = emp.GetListByemployee_type(null, null); i.item_managed_by = all_emp.ToList(); i.item_org_id = (from x in ext.GetDepartmentData() select x).ToList(); @@ -108,6 +119,10 @@ namespace TodoAPI2.Models var all_emp = emp.GetListByemployee_type(null, null); var dep = ext.GetDepartmentData(); + var avaliable_eva = (from j in _repository.Context.eva_create_evaluation + where j.employee_id == model.emp_id + select j.id).ToList(); + var data = ( from m_eva_adjust_postponement_normal in _repository.Context.eva_adjust_postponement @@ -132,6 +147,7 @@ namespace TodoAPI2.Models from fk_eva_evaluation_groupResult5 in eva_evaluation_groupResult5.DefaultIfEmpty() where 1==1 + && avaliable_eva.Contains(m_eva_adjust_postponement_normal.create_evaluation_id.Value) //&& (m_eva_adjust_postponement_normal.id == model.id || !model.id.HasValue) && (m_eva_adjust_postponement_normal.fiscal_year == model.fiscal_year || !model.fiscal_year.HasValue) && (m_eva_adjust_postponement_normal.theRound == model.theRound || !model.theRound.HasValue) diff --git a/tb320eva.xml b/tb320eva.xml index 03b3e9d..d954fee 100644 --- a/tb320eva.xml +++ b/tb320eva.xml @@ -426,12 +426,13 @@ If the model is invalid Error Occurred - + Default constructure for dependency injection +