hrms-api-backend/BMA.EHR.Application/Repositories/Reports/ProbationReportRepository.cs
2023-09-08 15:23:41 +07:00

529 lines
47 KiB
C#

using BMA.EHR.Application.Common.Interfaces;
using BMA.EHR.Domain.Extensions;
using BMA.EHR.Domain.Models.Retirement;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json;
using System.Configuration;
using System.Net.Http.Headers;
using BMA.EHR.Application.Responses;
using BMA.EHR.Application.Repositories.MessageQueue;
using BMA.EHR.Domain.Models.Probation;
namespace BMA.EHR.Application.Repositories.Reports
{
public class ProbationReportRepository
{
#region " Fields "
private readonly IApplicationDBContext _dbContext;
private readonly IWebHostEnvironment _hostingEnvironment;
private readonly NotificationRepository _repositoryNoti;
#endregion
#region " Constructor and Destructor "
public ProbationReportRepository(IApplicationDBContext dbContext,
NotificationRepository repositoryNoti,
IWebHostEnvironment hostEnvironment)
{
_dbContext = dbContext;
_hostingEnvironment = hostEnvironment;
_repositoryNoti = repositoryNoti;
}
#endregion
#region " Methods "
#region
public async Task<object> GetProbationAssignAsync(Guid assign_id, string token)
{
var api_url = $"https://bmaehr.joolsoft.com/nodeapi/v1/assign/probation-assign?assign_id={assign_id}";
ProbationAssignResponse probation_assign;
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var req = new HttpRequestMessage(HttpMethod.Get, api_url);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
probation_assign = JsonConvert.DeserializeObject<ProbationAssignResponse>(result);
if (probation_assign.data != null)
{
//Profile ผู้ทดลองงาน
string[] date_start_parts = string.IsNullOrEmpty(probation_assign.data.assign.date_start) ? null : probation_assign.data.assign.date_start.Split('-');
string[] date_finish_parts = string.IsNullOrEmpty(probation_assign.data.assign.date_finish) ? null : probation_assign.data.assign.date_finish.Split('-');
//Mentors
string[] date_mentor1_parts = probation_assign.data.mentors.Count > 0 ? probation_assign.data.mentors[0].dated.Split('-') : null;
string[] date_mentor2_parts = probation_assign.data.mentors.Count > 1 ? probation_assign.data.mentors[1].dated.Split('-') : null;
//Commander
string[] date_commander_parts = string.IsNullOrEmpty(probation_assign.data.commander.dated) ? null : probation_assign.data.commander.dated.Split('-');
return new
{
Name = string.IsNullOrEmpty(probation_assign.data.profile.name) ? string.Empty : probation_assign.data.profile.name,
Position = string.IsNullOrEmpty(probation_assign.data.profile.Position) ? string.Empty : probation_assign.data.profile.Position,
Department = string.IsNullOrEmpty(probation_assign.data.profile.Department) ? string.Empty : probation_assign.data.profile.Department,
OrganizationOrganization = string.IsNullOrEmpty(probation_assign.data.profile.OrganizationOrganization) ? string.Empty : probation_assign.data.profile.OrganizationOrganization,
Oc = string.IsNullOrEmpty(probation_assign.data.profile.Oc) ? string.Empty : probation_assign.data.profile.Oc,
DateStart = string.IsNullOrEmpty(date_start_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_start_parts[0], date_start_parts[1], date_start_parts[2]),
DateFinish = string.IsNullOrEmpty(date_finish_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_finish_parts[0], date_finish_parts[1], date_finish_parts[2]),
NameMentor1 = string.IsNullOrEmpty(probation_assign.data.mentors[0].name) ? string.Empty : probation_assign.data.mentors[0].name,
DateMentor1 = string.IsNullOrEmpty(date_mentor1_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_mentor1_parts[0], date_mentor1_parts[1], date_mentor1_parts[2]),
PositionMentor1 = string.IsNullOrEmpty(probation_assign.data.mentors[0].Position) ? string.Empty : probation_assign.data.mentors[0].Position,
NameMentor2 = string.IsNullOrEmpty(probation_assign.data.mentors[1].name) ? string.Empty : probation_assign.data.mentors[1].name,
DateMentor2 = string.IsNullOrEmpty(date_mentor2_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_mentor2_parts[0], date_mentor2_parts[1], date_mentor2_parts[2]),
PositionMentor2 = string.IsNullOrEmpty(probation_assign.data.mentors[1].Position) ? string.Empty : probation_assign.data.mentors[1].Position,
NameCommander = string.IsNullOrEmpty(probation_assign.data.commander.name) ? string.Empty : probation_assign.data.commander.name,
DateCommander = string.IsNullOrEmpty(date_commander_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_commander_parts[0], date_commander_parts[1], date_commander_parts[2]),
PositionCommander = string.IsNullOrEmpty(probation_assign.data.commander.Position) ? string.Empty : probation_assign.data.commander.Position,
Jobs = probation_assign.data.jobs.ToList(),
Knowledge = probation_assign.data.knowledges.ToList(),
Competency = probation_assign.data.competencys.ToList(),
Outputs = probation_assign.data.outputs.ToList(),
OtherDesc = string.IsNullOrEmpty(probation_assign.data.assign.other_desc) ? string.Empty : probation_assign.data.assign.other_desc,
Other4Desc = string.IsNullOrEmpty(probation_assign.data.assign.other4_desc) ? string.Empty : probation_assign.data.assign.other4_desc,
Other5No1Desc = string.IsNullOrEmpty(probation_assign.data.assign.other4_desc) ? string.Empty : probation_assign.data.assign.other4_desc,
Other5No2Desc = string.IsNullOrEmpty(probation_assign.data.assign.other5_no2_desc) ? string.Empty : probation_assign.data.assign.other5_no2_desc,
};
}
else
{
return null;
}
}
}
#endregion
#region (, )
public async Task<object> GetEvaluateRecordAsync(Guid assign_id, string token)
{
var api_url = $"https://bmaehr.joolsoft.com/nodeapi/v1/evaluate-record?assign_id={assign_id}";
EvaluateRecordAssignResponse evaluate_record;
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var req = new HttpRequestMessage(HttpMethod.Get, api_url);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
evaluate_record = JsonConvert.DeserializeObject<EvaluateRecordAssignResponse>(result);
if (evaluate_record.data != null)
{
string[] date_start_parts = string.IsNullOrEmpty(evaluate_record.data.assign.date_start) ? null : evaluate_record.data.assign.date_start.Split('-');
string[] date_finish_parts = string.IsNullOrEmpty(evaluate_record.data.assign.date_finish) ? null : evaluate_record.data.assign.date_finish.Split('-');
string[] date_start_round_parts;
string[] date_finish_round_parts;
DateTime currentDate = DateTime.Now;
string[] date_curent_parts = currentDate.ToString("yyyy-MM-dd").Split('-');
string[] achievement_strength_desc = new string[evaluate_record.data.evaluate.Count];
string[] achievement_improve_desc = new string[evaluate_record.data.evaluate.Count];
string[] behavior_strength_desc = new string[evaluate_record.data.evaluate.Count];
string[] behavior_improve_desc = new string[evaluate_record.data.evaluate.Count];
foreach (var evaluate in evaluate_record.data.evaluate)
{
int inx = 0;
evaluate.no = !string.IsNullOrEmpty(evaluate.no) ? evaluate.no.ToThaiNumber() : null;
date_start_round_parts = !string.IsNullOrEmpty(evaluate.date_start) ? evaluate.date_start.Split('-') : null;
evaluate.date_start = ConvertDateMonthYear(date_start_round_parts[0], date_start_round_parts[1], date_start_round_parts[2]);
date_finish_round_parts = !string.IsNullOrEmpty(evaluate.date_finish) ? evaluate.date_finish.Split('-') : null;
evaluate.date_finish = ConvertDateMonthYear(date_finish_round_parts[0], date_finish_round_parts[1], date_finish_round_parts[2]);
achievement_strength_desc[inx] = !string.IsNullOrEmpty(evaluate.achievement_strength_desc) ? evaluate.achievement_strength_desc : string.Empty;
achievement_improve_desc[inx] = !string.IsNullOrEmpty(evaluate.achievement_improve_desc) ? evaluate.achievement_improve_desc : string.Empty;
behavior_strength_desc[inx] = !string.IsNullOrEmpty(evaluate.behavior_strength_desc) ? evaluate.behavior_strength_desc : string.Empty;
behavior_improve_desc[inx] = !string.IsNullOrEmpty(evaluate.behavior_improve_desc) ? evaluate.behavior_improve_desc : string.Empty;
inx++;
}
return new
{
//person or mentor
Name = string.IsNullOrEmpty(evaluate_record.data.person.name) ? string.Empty : evaluate_record.data.person.name,
Position = string.IsNullOrEmpty(evaluate_record.data.person.Position) ? string.Empty : evaluate_record.data.person.Position,
MentorDate = string.IsNullOrEmpty(date_curent_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_curent_parts[0], date_curent_parts[1], date_curent_parts[2]),
//experimentee ผู้ดทดลองงาน
ExperimenteeName = string.IsNullOrEmpty(evaluate_record.data.experimentee.name) ? string.Empty : evaluate_record.data.experimentee.name,
ExperimenteePosition = string.IsNullOrEmpty(evaluate_record.data.experimentee.Position) ? string.Empty : evaluate_record.data.experimentee.Position,
Department = string.IsNullOrEmpty(evaluate_record.data.experimentee.Department) ? string.Empty : evaluate_record.data.experimentee.Department,
OrganizationOrganization = string.IsNullOrEmpty(evaluate_record.data.experimentee.OrganizationOrganization) ? string.Empty : evaluate_record.data.experimentee.OrganizationOrganization,
Oc = string.IsNullOrEmpty(evaluate_record.data.experimentee.Oc) ? string.Empty : evaluate_record.data.experimentee.Oc,
DateStart = string.IsNullOrEmpty(date_start_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_start_parts[0], date_start_parts[1], date_start_parts[2]),
DateFinish = string.IsNullOrEmpty(date_finish_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_finish_parts[0], date_finish_parts[1], date_finish_parts[2]),
Evaluates = evaluate_record.data.evaluate.ToList(),
AchievementStrengthDesc1 = string.IsNullOrEmpty(achievement_strength_desc[0]) ? string.Empty : achievement_strength_desc[0].ToString(),
AchievementStrengthDesc2 = string.IsNullOrEmpty(achievement_strength_desc[1]) ? string.Empty : achievement_strength_desc[1].ToString(),
AchievementStrengthDesc3 = string.IsNullOrEmpty(achievement_strength_desc[2]) ? string.Empty : achievement_strength_desc[2].ToString(),
AchievementImproveDesc1 = string.IsNullOrEmpty(achievement_improve_desc[0]) ? string.Empty : achievement_improve_desc[0].ToString(),
AchievementImproveDesc2 = string.IsNullOrEmpty(achievement_improve_desc[1]) ? string.Empty : achievement_improve_desc[1].ToString(),
AchievementImproveDesc3 = string.IsNullOrEmpty(achievement_improve_desc[2]) ? string.Empty : achievement_improve_desc[2].ToString(),
BehaviorStrengthDesc1 = string.IsNullOrEmpty(behavior_strength_desc[0]) ? string.Empty : behavior_strength_desc[0].ToString(),
BehaviorStrengthDesc2 = string.IsNullOrEmpty(behavior_strength_desc[1]) ? string.Empty : behavior_strength_desc[1].ToString(),
BehaviorStrengthDesc3 = string.IsNullOrEmpty(behavior_strength_desc[2]) ? string.Empty : behavior_strength_desc[2].ToString(),
BehaviorImproveDesc1 = string.IsNullOrEmpty(behavior_improve_desc[0]) ? string.Empty : behavior_improve_desc[0].ToString(),
BehaviorImproveDesc2 = string.IsNullOrEmpty(behavior_improve_desc[1]) ? string.Empty : behavior_improve_desc[1].ToString(),
BehaviorImproveDesc3 = string.IsNullOrEmpty(behavior_improve_desc[2]) ? string.Empty : behavior_improve_desc[2].ToString(),
};
}
else
{
return null;
}
}
}
#endregion
#region ()
public async Task<object> GetEvaluateAssignAsync(Guid id, string no, string token)
{
var api_url = $"https://bmaehr.joolsoft.com/nodeapi/v1/evaluate?assign_id={id}&evaluate_no={no}";
EvaluateAssignResponse evaluate_assign;
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var req = new HttpRequestMessage(HttpMethod.Get, api_url);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
evaluate_assign = JsonConvert.DeserializeObject<EvaluateAssignResponse>(result);
if (evaluate_assign.data != null)
{
//Assign
string[] date_start_parts = evaluate_assign.data.assign.date_start.Split('-');
string[] date_finish_parts = evaluate_assign.data.assign.date_finish.Split('-');
//Evaluate
string[] evaluate_date_start_parts = evaluate_assign.data.evaluate.date_start.Split('-');
string[] evaluate_date_finish_parts = evaluate_assign.data.evaluate.date_finish.Split('-');
string[] evaluate_assessor_dated = evaluate_assign.data.evaluate.commander_dated.Split('-');
return new
{
No = evaluate_assign.data.evaluate.no,
EvaluateDateStart = ConvertDateMonthYear(evaluate_date_start_parts[0], evaluate_date_start_parts[1], evaluate_date_start_parts[2]),
EvaluateDateFinish = ConvertDateMonthYear(evaluate_date_finish_parts[0], evaluate_date_finish_parts[1], evaluate_date_finish_parts[2]),
Name = string.IsNullOrEmpty(evaluate_assign.data.experimentee.name) ? string.Empty : evaluate_assign.data.experimentee.name,
Position = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Position) ? string.Empty : evaluate_assign.data.experimentee.Position,
Department = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Department) ? string.Empty : evaluate_assign.data.experimentee.Department,
OrganizationOrganization = string.IsNullOrEmpty(evaluate_assign.data.experimentee.OrganizationOrganization) ? string.Empty : evaluate_assign.data.experimentee.OrganizationOrganization,
Oc = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Oc) ? string.Empty : evaluate_assign.data.experimentee.Oc,
DateStart = ConvertDateMonthYear(date_start_parts[0], date_start_parts[1], date_start_parts[2]),
DateFinish = ConvertDateMonthYear(date_finish_parts[0], date_finish_parts[1], date_finish_parts[2]),
//table1 ผลสัมฤทธิ์
KnowledgeLevel1 = evaluate_assign.data.evaluate.knowledge_level.ToString() == "1" ? "/" : string.Empty,
KnowledgeLevel2 = evaluate_assign.data.evaluate.knowledge_level.ToString() == "2" ? "/" : string.Empty,
KnowledgeLevel3 = evaluate_assign.data.evaluate.knowledge_level.ToString() == "3" ? "/" : string.Empty,
KnowledgeLevel4 = evaluate_assign.data.evaluate.knowledge_level.ToString() == "4" ? "/" : string.Empty,
KnowledgeLevel5 = evaluate_assign.data.evaluate.knowledge_level.ToString() == "5" ? "/" : string.Empty,
SkillLevel1 = evaluate_assign.data.evaluate.skill_level.ToString() == "1" ? "/" : string.Empty,
SkillLevel2 = evaluate_assign.data.evaluate.skill_level.ToString() == "2" ? "/" : string.Empty,
SkillLevel3 = evaluate_assign.data.evaluate.skill_level.ToString() == "3" ? "/" : string.Empty,
SkillLevel4 = evaluate_assign.data.evaluate.skill_level.ToString() == "4" ? "/" : string.Empty,
SkillLevel5 = evaluate_assign.data.evaluate.skill_level.ToString() == "5" ? "/" : string.Empty,
CompetencyLevel1 = evaluate_assign.data.evaluate.competency_level.ToString() == "1" ? "/" : string.Empty,
CompetencyLevel2 = evaluate_assign.data.evaluate.competency_level.ToString() == "2" ? "/" : string.Empty,
CompetencyLevel3 = evaluate_assign.data.evaluate.competency_level.ToString() == "3" ? "/" : string.Empty,
CompetencyLevel4 = evaluate_assign.data.evaluate.competency_level.ToString() == "4" ? "/" : string.Empty,
CompetencyLevel5 = evaluate_assign.data.evaluate.competency_level.ToString() == "5" ? "/" : string.Empty,
LearnLevel1 = evaluate_assign.data.evaluate.learn_level.ToString() == "1" ? "/" : string.Empty,
LearnLevel2 = evaluate_assign.data.evaluate.learn_level.ToString() == "2" ? "/" : string.Empty,
LearnLevel3 = evaluate_assign.data.evaluate.learn_level.ToString() == "3" ? "/" : string.Empty,
LearnLevel4 = evaluate_assign.data.evaluate.learn_level.ToString() == "4" ? "/" : string.Empty,
LearnLevel5 = evaluate_assign.data.evaluate.learn_level.ToString() == "5" ? "/" : string.Empty,
ApplyLevel1 = evaluate_assign.data.evaluate.apply_level.ToString() == "1" ? "/" : string.Empty,
ApplyLevel2 = evaluate_assign.data.evaluate.apply_level.ToString() == "2" ? "/" : string.Empty,
ApplyLevel3 = evaluate_assign.data.evaluate.apply_level.ToString() == "3" ? "/" : string.Empty,
ApplyLevel4 = evaluate_assign.data.evaluate.apply_level.ToString() == "4" ? "/" : string.Empty,
ApplyLevel5 = evaluate_assign.data.evaluate.apply_level.ToString() == "5" ? "/" : string.Empty,
SuccessLevel1 = evaluate_assign.data.evaluate.success_level.ToString() == "1" ? "/" : string.Empty,
SuccessLevel2 = evaluate_assign.data.evaluate.success_level.ToString() == "2" ? "/" : string.Empty,
SuccessLevel3 = evaluate_assign.data.evaluate.success_level.ToString() == "3" ? "/" : string.Empty,
SuccessLevel4 = evaluate_assign.data.evaluate.success_level.ToString() == "4" ? "/" : string.Empty,
SuccessLevel5 = evaluate_assign.data.evaluate.success_level.ToString() == "5" ? "/" : string.Empty,
AchievementOtherDesc = evaluate_assign.data.evaluate.achievement_other_desc,
AchievementOtherLevel1 = evaluate_assign.data.evaluate.achievement_other_level.ToString() == "1" ? "/" : string.Empty,
AchievementOtherLevel2 = evaluate_assign.data.evaluate.achievement_other_level.ToString() == "2" ? "/" : string.Empty,
AchievementOtherLevel3 = evaluate_assign.data.evaluate.achievement_other_level.ToString() == "3" ? "/" : string.Empty,
AchievementOtherLevel4 = evaluate_assign.data.evaluate.achievement_other_level.ToString() == "4" ? "/" : string.Empty,
AchievementOtherLevel5 = evaluate_assign.data.evaluate.achievement_other_level.ToString() == "5" ? "/" : string.Empty,
//table2 พฤติกรรม
Conduct1Level1 = evaluate_assign.data.evaluate.conduct1_level.ToString() == "1" ? "/" : string.Empty,
Conduct1Level2 = evaluate_assign.data.evaluate.conduct1_level.ToString() == "2" ? "/" : string.Empty,
Conduct1Level3 = evaluate_assign.data.evaluate.conduct1_level.ToString() == "3" ? "/" : string.Empty,
Conduct1Level4 = evaluate_assign.data.evaluate.conduct1_level.ToString() == "4" ? "/" : string.Empty,
Conduct1Level5 = evaluate_assign.data.evaluate.conduct1_level.ToString() == "5" ? "/" : string.Empty,
Conduct2Level1 = evaluate_assign.data.evaluate.conduct2_level.ToString() == "1" ? "/" : string.Empty,
Conduct2Level2 = evaluate_assign.data.evaluate.conduct2_level.ToString() == "2" ? "/" : string.Empty,
Conduct2Level3 = evaluate_assign.data.evaluate.conduct2_level.ToString() == "3" ? "/" : string.Empty,
Conduct2Level4 = evaluate_assign.data.evaluate.conduct2_level.ToString() == "4" ? "/" : string.Empty,
Conduct2Level5 = evaluate_assign.data.evaluate.conduct2_level.ToString() == "5" ? "/" : string.Empty,
Conduct3Level1 = evaluate_assign.data.evaluate.conduct3_level.ToString() == "1" ? "/" : string.Empty,
Conduct3Level2 = evaluate_assign.data.evaluate.conduct3_level.ToString() == "2" ? "/" : string.Empty,
Conduct3Level3 = evaluate_assign.data.evaluate.conduct3_level.ToString() == "3" ? "/" : string.Empty,
Conduct3Level4 = evaluate_assign.data.evaluate.conduct3_level.ToString() == "4" ? "/" : string.Empty,
Conduct3Level5 = evaluate_assign.data.evaluate.conduct3_level.ToString() == "5" ? "/" : string.Empty,
Conduct4Level1 = evaluate_assign.data.evaluate.conduct4_level.ToString() == "1" ? "/" : string.Empty,
Conduct4Level2 = evaluate_assign.data.evaluate.conduct4_level.ToString() == "2" ? "/" : string.Empty,
Conduct4Level3 = evaluate_assign.data.evaluate.conduct4_level.ToString() == "3" ? "/" : string.Empty,
Conduct4Level4 = evaluate_assign.data.evaluate.conduct4_level.ToString() == "4" ? "/" : string.Empty,
Conduct4Level5 = evaluate_assign.data.evaluate.conduct4_level.ToString() == "5" ? "/" : string.Empty,
Moral1Level1 = evaluate_assign.data.evaluate.moral1_level.ToString() == "1" ? "/" : string.Empty,
Moral1Level2 = evaluate_assign.data.evaluate.moral1_level.ToString() == "2" ? "/" : string.Empty,
Moral1Level3 = evaluate_assign.data.evaluate.moral1_level.ToString() == "3" ? "/" : string.Empty,
Moral1Level4 = evaluate_assign.data.evaluate.moral1_level.ToString() == "4" ? "/" : string.Empty,
Moral1Level5 = evaluate_assign.data.evaluate.moral1_level.ToString() == "5" ? "/" : string.Empty,
Moral2Level1 = evaluate_assign.data.evaluate.moral2_level.ToString() == "1" ? "/" : string.Empty,
Moral2Level2 = evaluate_assign.data.evaluate.moral2_level.ToString() == "2" ? "/" : string.Empty,
Moral2Level3 = evaluate_assign.data.evaluate.moral2_level.ToString() == "3" ? "/" : string.Empty,
Moral2Level4 = evaluate_assign.data.evaluate.moral2_level.ToString() == "4" ? "/" : string.Empty,
Moral2Level5 = evaluate_assign.data.evaluate.moral2_level.ToString() == "5" ? "/" : string.Empty,
Moral3Level1 = evaluate_assign.data.evaluate.moral3_level.ToString() == "1" ? "/" : string.Empty,
Moral3Level2 = evaluate_assign.data.evaluate.moral3_level.ToString() == "2" ? "/" : string.Empty,
Moral3Level3 = evaluate_assign.data.evaluate.moral3_level.ToString() == "3" ? "/" : string.Empty,
Moral3Level4 = evaluate_assign.data.evaluate.moral3_level.ToString() == "4" ? "/" : string.Empty,
Moral3Level5 = evaluate_assign.data.evaluate.moral3_level.ToString() == "5" ? "/" : string.Empty,
Discipline1Level1 = evaluate_assign.data.evaluate.discipline1_level.ToString() == "1" ? "/" : string.Empty,
Discipline1Level2 = evaluate_assign.data.evaluate.discipline1_level.ToString() == "2" ? "/" : string.Empty,
Discipline1Level3 = evaluate_assign.data.evaluate.discipline1_level.ToString() == "3" ? "/" : string.Empty,
Discipline1Level4 = evaluate_assign.data.evaluate.discipline1_level.ToString() == "4" ? "/" : string.Empty,
Discipline1Level5 = evaluate_assign.data.evaluate.discipline1_level.ToString() == "5" ? "/" : string.Empty,
Discipline2Level1 = evaluate_assign.data.evaluate.discipline2_level.ToString() == "1" ? "/" : string.Empty,
Discipline2Level2 = evaluate_assign.data.evaluate.discipline2_level.ToString() == "2" ? "/" : string.Empty,
Discipline2Level3 = evaluate_assign.data.evaluate.discipline2_level.ToString() == "3" ? "/" : string.Empty,
Discipline2Level4 = evaluate_assign.data.evaluate.discipline2_level.ToString() == "4" ? "/" : string.Empty,
Discipline2Level5 = evaluate_assign.data.evaluate.discipline2_level.ToString() == "5" ? "/" : string.Empty,
Discipline3Level1 = evaluate_assign.data.evaluate.discipline3_level.ToString() == "1" ? "/" : string.Empty,
Discipline3Level2 = evaluate_assign.data.evaluate.discipline3_level.ToString() == "2" ? "/" : string.Empty,
Discipline3Level3 = evaluate_assign.data.evaluate.discipline3_level.ToString() == "3" ? "/" : string.Empty,
Discipline3Level4 = evaluate_assign.data.evaluate.discipline3_level.ToString() == "4" ? "/" : string.Empty,
Discipline3Level5 = evaluate_assign.data.evaluate.discipline3_level.ToString() == "5" ? "/" : string.Empty,
Discipline4Level1 = evaluate_assign.data.evaluate.discipline4_level.ToString() == "1" ? "/" : string.Empty,
Discipline4Level2 = evaluate_assign.data.evaluate.discipline4_level.ToString() == "2" ? "/" : string.Empty,
Discipline4Level3 = evaluate_assign.data.evaluate.discipline4_level.ToString() == "3" ? "/" : string.Empty,
Discipline4Level4 = evaluate_assign.data.evaluate.discipline4_level.ToString() == "4" ? "/" : string.Empty,
Discipline4Level5 = evaluate_assign.data.evaluate.discipline4_level.ToString() == "5" ? "/" : string.Empty,
Discipline5Level1 = evaluate_assign.data.evaluate.discipline5_level.ToString() == "1" ? "/" : string.Empty,
Discipline5Level2 = evaluate_assign.data.evaluate.discipline5_level.ToString() == "2" ? "/" : string.Empty,
Discipline5Level3 = evaluate_assign.data.evaluate.discipline5_level.ToString() == "3" ? "/" : string.Empty,
Discipline5Level4 = evaluate_assign.data.evaluate.discipline5_level.ToString() == "4" ? "/" : string.Empty,
Discipline5Level5 = evaluate_assign.data.evaluate.discipline5_level.ToString() == "5" ? "/" : string.Empty,
BehaviorOtherDesc = evaluate_assign.data.evaluate.behavior_other_desc,
BehaviorOtherLevel1 = evaluate_assign.data.evaluate.behavior_other_level.ToString() == "1" ? "/" : string.Empty,
BehaviorOtherLevel2 = evaluate_assign.data.evaluate.behavior_other_level.ToString() == "2" ? "/" : string.Empty,
BehaviorOtherLevel3 = evaluate_assign.data.evaluate.behavior_other_level.ToString() == "3" ? "/" : string.Empty,
BehaviorOtherLevel4 = evaluate_assign.data.evaluate.behavior_other_level.ToString() == "4" ? "/" : string.Empty,
BehaviorOtherLevel5 = evaluate_assign.data.evaluate.behavior_other_level.ToString() == "5" ? "/" : string.Empty,
BehaviorStrengthDesc = evaluate_assign.data.evaluate.behavior_strength_desc,
BehaviorImproveDesc = evaluate_assign.data.evaluate.behavior_improve_desc,
//table3
Orientation = evaluate_assign.data.evaluate.orientation == 1 ? "[/] ดำเนินการแล้ว [ ] ยังไม่ได้ดำเนินการ" : "[ ] ดำเนินการแล้ว [/] ยังไม่ได้ดำเนินการ",
SelfLearning = evaluate_assign.data.evaluate.self_learning == 1 ? "[/] ดำเนินการแล้ว [ ] ยังไม่ได้ดำเนินการ" : "[ ] ดำเนินการแล้ว [/] ยังไม่ได้ดำเนินการ",
TrainingSeminar = evaluate_assign.data.evaluate.training_seminar == 1 ? "[/] ดำเนินการแล้ว [ ] ยังไม่ได้ดำเนินการ" : "[ ] ดำเนินการแล้ว [/] ยังไม่ได้ดำเนินการ",
OtherTraining = evaluate_assign.data.evaluate.other_training == 1 ? "[/] ดำเนินการแล้ว [ ] ยังไม่ได้ดำเนินการ" : "[ ] ดำเนินการแล้ว [/] ยังไม่ได้ดำเนินการ",
CommanderName = string.IsNullOrEmpty(evaluate_assign.data.person.name) ? string.Empty : evaluate_assign.data.person.name,
CommanderPosition = string.IsNullOrEmpty(evaluate_assign.data.person.Position) ? string.Empty : evaluate_assign.data.person.Position,
AssessorDated = ConvertDateMonthYear(evaluate_assessor_dated[0], evaluate_assessor_dated[1], evaluate_assessor_dated[2]),
};
}
else
{
return null;
}
}
}
#endregion
#region ()
public async Task<object> GetEvaluateChairmanAssignAsync(Guid id, string no, string token)
{
var api_url = $"https://bmaehr.joolsoft.com/nodeapi/v1/evaluate-chairman?assign_id={id}&evaluate_no={no}";
EvaluateChairmanAssignResponse evaluate_assign;
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var req = new HttpRequestMessage(HttpMethod.Get, api_url);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
evaluate_assign = JsonConvert.DeserializeObject<EvaluateChairmanAssignResponse>(result);
if (evaluate_assign.data != null)
{
//Assign
string[] date_start_parts = evaluate_assign.data.assign.date_start.Split('-');
string[] date_finish_parts = evaluate_assign.data.assign.date_finish.Split('-');
//Evaluate
string[] evaluate_date_start_parts = evaluate_assign.data.evaluate.date_start.Split('-');
string[] evaluate_date_finish_parts = evaluate_assign.data.evaluate.date_finish.Split('-');
string[] date_chiarman_part = string.IsNullOrEmpty(evaluate_assign.data.chairman.dated) ? null : evaluate_assign.data.chairman.dated.ToString().Split('-');
string[] date_mentor1_part = evaluate_assign.data.mentors[0].dated.ToString().Split('-');
string[] date_mentor2_part = evaluate_assign.data.mentors[1].dated.ToString().Split('-');
return new
{
No = evaluate_assign.data.evaluate.no,
EvaluateDateStart = ConvertDateMonthYear(evaluate_date_start_parts[0], evaluate_date_start_parts[1], evaluate_date_start_parts[2]),
EvaluateDateFinish = ConvertDateMonthYear(evaluate_date_finish_parts[0], evaluate_date_finish_parts[1], evaluate_date_finish_parts[2]),
Name = string.IsNullOrEmpty(evaluate_assign.data.experimentee.name) ? string.Empty : evaluate_assign.data.experimentee.name,
Position = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Position) ? string.Empty : evaluate_assign.data.experimentee.Position,
Department = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Department) ? string.Empty : evaluate_assign.data.experimentee.Department,
OrganizationOrganization = string.IsNullOrEmpty(evaluate_assign.data.experimentee.OrganizationOrganization) ? string.Empty : evaluate_assign.data.experimentee.OrganizationOrganization,
Oc = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Oc) ? string.Empty : evaluate_assign.data.experimentee.Oc,
DateStart = ConvertDateMonthYear(date_start_parts[0], date_start_parts[1], date_start_parts[2]),
DateFinish = ConvertDateMonthYear(date_finish_parts[0], date_finish_parts[1], date_finish_parts[2]),
ChairmanName = string.IsNullOrEmpty(evaluate_assign.data.chairman.profile.name) ? string.Empty : evaluate_assign.data.chairman.profile.name,
ChairmanPosition = string.IsNullOrEmpty(evaluate_assign.data.chairman.profile.Position) ? string.Empty : evaluate_assign.data.chairman.profile.Position,
ChairmanDate = date_chiarman_part != null ? ConvertDateMonthYear(date_chiarman_part[0], date_chiarman_part[1], date_chiarman_part[2]) : ConvertDateMonthYear("", "", ""),
//คณะกรรม ? mentors ?
MentorName1 = string.IsNullOrEmpty(evaluate_assign.data.mentors[0].profile.name) ? string.Empty : evaluate_assign.data.mentors[0].profile.name,
MentorName2 = string.IsNullOrEmpty(evaluate_assign.data.mentors[1].profile.name) ? string.Empty : evaluate_assign.data.mentors[1].profile.name,
MentorPosition1 = string.IsNullOrEmpty(evaluate_assign.data.mentors[0].profile.Position) ? string.Empty : evaluate_assign.data.mentors[0].profile.Position,
MentorPosition2 = string.IsNullOrEmpty(evaluate_assign.data.mentors[1].profile.Position) ? string.Empty : evaluate_assign.data.mentors[1].profile.Position,
MentorDate1 = date_mentor1_part != null ? ConvertDateMonthYear(date_mentor1_part[0], date_mentor1_part[1], date_mentor1_part[2]) : ConvertDateMonthYear("", "", ""),
MentorDate2 = date_mentor2_part != null ? ConvertDateMonthYear(date_mentor2_part[0], date_mentor2_part[1], date_mentor2_part[2]) : ConvertDateMonthYear("", "", ""),
//1
KnowledgeLevel = evaluate_assign.data.evaluate.knowledge_level.ToString().ToThaiNumber(),
ApplyLevel = evaluate_assign.data.evaluate.apply_level.ToString().ToThaiNumber(),
SuccessLevel = evaluate_assign.data.evaluate.success_level.ToString().ToThaiNumber(),
AchievementOtherDesc = evaluate_assign.data.evaluate.achievement_other_desc,
AchievementOtherLevel = evaluate_assign.data.evaluate.achievement_other_level.ToString().ToThaiNumber(),
//2
Conduct1Level = evaluate_assign.data.evaluate.conduct1_level.ToString().ToThaiNumber(),
Conduct2Level = evaluate_assign.data.evaluate.conduct2_level.ToString().ToThaiNumber(),
Conduct3Level = evaluate_assign.data.evaluate.conduct3_level.ToString().ToThaiNumber(),
Conduct4Level = evaluate_assign.data.evaluate.conduct4_level.ToString().ToThaiNumber(),
Moral1Level = evaluate_assign.data.evaluate.moral1_level.ToString().ToThaiNumber(),
Moral2Level = evaluate_assign.data.evaluate.moral2_level.ToString().ToThaiNumber(),
Moral3Level = evaluate_assign.data.evaluate.moral3_level.ToString().ToThaiNumber(),
Discipline1Level = evaluate_assign.data.evaluate.discipline1_level.ToString().ToThaiNumber(),
Discipline2Level = evaluate_assign.data.evaluate.discipline2_level.ToString().ToThaiNumber(),
Discipline3Level = evaluate_assign.data.evaluate.discipline3_level.ToString().ToThaiNumber(),
Discipline4Level = evaluate_assign.data.evaluate.discipline4_level.ToString().ToThaiNumber(),
Discipline5Level = evaluate_assign.data.evaluate.discipline4_level.ToString().ToThaiNumber(),
BehaviorOtherDesc = evaluate_assign.data.evaluate.behavior_other_desc,
BehaviorOtherLevel = evaluate_assign.data.evaluate.behavior_other_level.ToString().ToThaiNumber(),
//3
AchievementScore = evaluate_assign.data.evaluate.achievement_score.ToString().ToThaiNumber(),
AchievementPercent = evaluate_assign.data.evaluate.achievement_percent.ToString().ToThaiNumber(),
AchievementResult = evaluate_assign.data.evaluate.achievement_result.ToString().ToThaiNumber(),
BehaviorScore = evaluate_assign.data.evaluate.behavior_score.ToString().ToThaiNumber(),
BehaviorPercent = evaluate_assign.data.evaluate.behavior_percent.ToString().ToThaiNumber(),
BehaviorResult = evaluate_assign.data.evaluate.behavior_result.ToString().ToThaiNumber(),
AchievementScoretotal = evaluate_assign.data.evaluate.achievement_score_total.ToString().ToThaiNumber(),
BehaviorScoretotal = evaluate_assign.data.evaluate.behavior_score_total.ToString().ToThaiNumber(),
//4
DevelopOrientationScore = evaluate_assign.data.evaluate.develop_orientation_score.ToString().ToThaiNumber(),
DevelopSelfLearningScore = evaluate_assign.data.evaluate.develop_self_learning_score.ToString().ToThaiNumber(),
DevelopTrainingSeminarScore = evaluate_assign.data.evaluate.develop_training_seminar_score.ToString().ToThaiNumber(),
DevelopOtherTrainingScore = evaluate_assign.data.evaluate.develop_other_training_score.ToString().ToThaiNumber(),
DevelopOrientationPercent = evaluate_assign.data.evaluate.develop_orientation_percent.ToString().ToThaiNumber(),
DevelopSelfLearningPercent = evaluate_assign.data.evaluate.develop_self_learning_percent.ToString().ToThaiNumber(),
DevelopTrainingSeminarPercent = evaluate_assign.data.evaluate.develop_training_seminar_percent.ToString().ToThaiNumber(),
DevelopOtherTrainingPercent = evaluate_assign.data.evaluate.develop_other_training_percent.ToString().ToThaiNumber(),
DevelopResult = evaluate_assign.data.evaluate.develop_result.ToString(),
};
}
else
{
return null;
}
}
}
#endregion
#region
public async Task<object> GetEvaluateResultAssignAsync(Guid id, string token)
{
var api_url = $"https://bmaehr.joolsoft.com/nodeapi/v1/evaluate-result?assign_id={id}";
EvaluateResultAssignResponse evaluate_assign;
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var req = new HttpRequestMessage(HttpMethod.Get, api_url);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
evaluate_assign = JsonConvert.DeserializeObject<EvaluateResultAssignResponse>(result);
if (evaluate_assign.data != null)
{
string[] date_start_parts = evaluate_assign.data.assign.date_start.Split('-');
string[] date_finish_parts = evaluate_assign.data.assign.date_finish.Split('-');
string[] evaluate_date_start_parts = evaluate_assign.data.evaluate.date_start.Split('-');
string[] evaluate_date_finish_parts = evaluate_assign.data.evaluate.date_finish.Split('-');
DateTime currentDate = DateTime.Now;
string[] date_curent_parts = currentDate.ToString("yyyy-MM-dd").Split('-');
if (string.IsNullOrEmpty(evaluate_assign.data.chairman.Position))
{
evaluate_assign.data.chairman.Position = string.Empty;
}
return new
{
No = evaluate_assign.data.evaluate.no,
EvaluateDateStart = ConvertDateMonthYear(evaluate_date_start_parts[0], evaluate_date_start_parts[1], evaluate_date_start_parts[2]),
EvaluateDateFinish = ConvertDateMonthYear(evaluate_date_finish_parts[0], evaluate_date_finish_parts[1], evaluate_date_finish_parts[2]),
Position = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Position) ? string.Empty : evaluate_assign.data.experimentee.Position,
Department = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Department) ? string.Empty : evaluate_assign.data.experimentee.Department,
OrganizationOrganization = string.IsNullOrEmpty(evaluate_assign.data.experimentee.OrganizationOrganization) ? string.Empty : evaluate_assign.data.experimentee.OrganizationOrganization,
Oc = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Oc) ? string.Empty : evaluate_assign.data.experimentee.Oc,
DateStart = ConvertDateMonthYear(date_start_parts[0], date_start_parts[1], date_start_parts[2]),
DateFinish = ConvertDateMonthYear(date_finish_parts[0], date_finish_parts[1], date_finish_parts[2]),
Reson = string.IsNullOrEmpty(evaluate_assign.data.evaluate.reson) ? string.Empty : evaluate_assign.data.evaluate.reson,
DevelopComplete = evaluate_assign.data.evaluate.develop_complete.ToString() == "1" ? "/" : " ",
NotDevelopComplete = evaluate_assign.data.evaluate.develop_complete.ToString() == "0" ? "/" : " ",
PassResult = evaluate_assign.data.evaluate.pass_result.ToString() == "1" ? "/" : " ",
NotPassResult = evaluate_assign.data.evaluate.pass_result.ToString() == "0" ? "/" : " ",
ExpandMonth = string.IsNullOrEmpty(evaluate_assign.data.evaluate.expand_month.ToString()) ? string.Empty : evaluate_assign.data.evaluate.expand_month.ToString().ToThaiNumber(),
ChairmanName = string.IsNullOrEmpty(evaluate_assign.data.chairman.name) ? evaluate_assign.data.chairman.name : string.Empty,
ChairmanPosition = string.IsNullOrEmpty(evaluate_assign.data.chairman.Position) ? evaluate_assign.data.chairman.Position : "-",
ChairmanDate = ConvertDateMonthYear(date_curent_parts[0], date_curent_parts[1], date_curent_parts[2])
};
}
else
{
return null;
}
}
}
#endregion
#region
public static string ConvertDateMonthYear(string year, string month, string date)
{
year = year.ToInteger().ToThaiYear().ToString().ToThaiNumber();
month = month.ToInteger().ToThaiMonth();
date = date.StartsWith("0") ? date.Substring(1).ToThaiNumber() : date.ToThaiNumber();
return $"วันที่ {date} เดือน {month} พ.ศ. {year}";
}
#endregion
#endregion
public async Task NotifyProbation()
{
var cronjobNotis = await _dbContext.Set<CronjobNotiProbation>()
.AsQueryable()
.ToListAsync();
foreach (var cronjobNoti in cronjobNotis)
{
if (cronjobNoti.ReceiveDate.Date == DateTime.Now.Date && cronjobNoti.IsSendNoti == false)
{
await _repositoryNoti.PushNotificationAsync(
cronjobNoti.ReceiverUserId,
cronjobNoti.Subject,
cronjobNoti.Body,
cronjobNoti.Payload,
cronjobNoti.IsSendInbox,
cronjobNoti.IsSendMail
);
cronjobNoti.IsSendNoti = true;
}
}
await _dbContext.SaveChangesAsync();
}
}
}