fix ระบบสรรหาฯ #876
This commit is contained in:
parent
e076d577f9
commit
99fbac8dde
1 changed files with 298 additions and 224 deletions
|
|
@ -1833,69 +1833,91 @@ namespace BMA.EHR.Recruit.Service.Controllers
|
||||||
|
|
||||||
var header = $"{data.Name} ครั้งที่ {data.Order}/{data.Year.ToThaiYear()}";
|
var header = $"{data.Name} ครั้งที่ {data.Order}/{data.Year.ToThaiYear()}";
|
||||||
|
|
||||||
var template_dir = Path.Combine(_webHostEnvironment.ContentRootPath, "Templates");
|
var recruits = data.Recruits
|
||||||
|
.OrderBy(x => x.ExamId)
|
||||||
var template_file = Path.Combine(template_dir, "ExamList.xlsx");
|
.Select(x => new
|
||||||
|
|
||||||
var tmpDir = Path.Combine(_webHostEnvironment.ContentRootPath, "tmp");
|
|
||||||
if (!Directory.Exists(tmpDir))
|
|
||||||
Directory.CreateDirectory(tmpDir);
|
|
||||||
|
|
||||||
var exportFile = Path.Combine(tmpDir, $"ExamList_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx");
|
|
||||||
try
|
|
||||||
{
|
|
||||||
// copy template
|
|
||||||
System.IO.File.Copy(template_file, exportFile);
|
|
||||||
|
|
||||||
using (var excel = new ExcelPackage(new FileInfo(exportFile)))
|
|
||||||
{
|
{
|
||||||
var workSheet = excel.Workbook.Worksheets[0];
|
ExamId = x.ExamId,
|
||||||
|
CitizenId = x.CitizenId,
|
||||||
|
Fullname = $"{x.Prefix}{x.FirstName} {x.LastName}",
|
||||||
|
PositionName = x.PositionName
|
||||||
|
})
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
var _data = new
|
||||||
workSheet.Cells[1, 2].Value = header;
|
{
|
||||||
var recruits = data.Recruits.OrderBy(x => x.ExamId).ToList();
|
template = "ExamList",
|
||||||
|
reportName = $"ExamList_{DateTime.Now.ToString("yyyyMMddHHmmss")}",
|
||||||
var row = 4; // start at row 4
|
data = new
|
||||||
foreach (var item in recruits)
|
{
|
||||||
{
|
header = header,
|
||||||
workSheet.Cells[row, 1].Value = item.ExamId;
|
data = recruits
|
||||||
workSheet.Cells[row, 2].Value = item.CitizenId;
|
|
||||||
workSheet.Cells[row, 3].Value = $"{item.Prefix}{item.FirstName} {item.LastName}";
|
|
||||||
workSheet.Cells[row, 4].Value = item.PositionName;
|
|
||||||
|
|
||||||
row++;
|
|
||||||
}
|
|
||||||
|
|
||||||
excel.Save();
|
|
||||||
|
|
||||||
using (FileStream fs = new FileStream(exportFile, FileMode.Open, FileAccess.Read))
|
|
||||||
{
|
|
||||||
byte[] bytes = System.IO.File.ReadAllBytes(exportFile);
|
|
||||||
fs.Read(bytes, 0, System.Convert.ToInt32(fs.Length));
|
|
||||||
fs.Close();
|
|
||||||
|
|
||||||
var fname = Path.GetFileName(exportFile);
|
|
||||||
|
|
||||||
Response.Headers["Content-Disposition"] = $"inline; filename={fname}";
|
|
||||||
|
|
||||||
var ret = new FileContentResult(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
|
||||||
{
|
|
||||||
FileDownloadName = fname
|
|
||||||
};
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
catch (Exception ex)
|
return Success(_data);
|
||||||
{
|
//var template_dir = Path.Combine(_webHostEnvironment.ContentRootPath, "Templates");
|
||||||
return Error(ex, "ไม่สามารถส่งออกรายชื่อผู้มีสิทธิ์สอบได้!!");
|
|
||||||
}
|
//var template_file = Path.Combine(template_dir, "ExamList.xlsx");
|
||||||
finally
|
|
||||||
{
|
//var tmpDir = Path.Combine(_webHostEnvironment.ContentRootPath, "tmp");
|
||||||
if (System.IO.File.Exists(exportFile))
|
//if (!Directory.Exists(tmpDir))
|
||||||
System.IO.File.Delete(exportFile);
|
// Directory.CreateDirectory(tmpDir);
|
||||||
}
|
|
||||||
|
//var exportFile = Path.Combine(tmpDir, $"ExamList_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx");
|
||||||
|
//try
|
||||||
|
//{
|
||||||
|
// // copy template
|
||||||
|
// System.IO.File.Copy(template_file, exportFile);
|
||||||
|
|
||||||
|
// using (var excel = new ExcelPackage(new FileInfo(exportFile)))
|
||||||
|
// {
|
||||||
|
// var workSheet = excel.Workbook.Worksheets[0];
|
||||||
|
|
||||||
|
|
||||||
|
// workSheet.Cells[1, 2].Value = header;
|
||||||
|
// var recruits = data.Recruits.OrderBy(x => x.ExamId).ToList();
|
||||||
|
|
||||||
|
// var row = 4; // start at row 4
|
||||||
|
// foreach (var item in recruits)
|
||||||
|
// {
|
||||||
|
// workSheet.Cells[row, 1].Value = item.ExamId;
|
||||||
|
// workSheet.Cells[row, 2].Value = item.CitizenId;
|
||||||
|
// workSheet.Cells[row, 3].Value = $"{item.Prefix}{item.FirstName} {item.LastName}";
|
||||||
|
// workSheet.Cells[row, 4].Value = item.PositionName;
|
||||||
|
|
||||||
|
// row++;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// excel.Save();
|
||||||
|
|
||||||
|
// using (FileStream fs = new FileStream(exportFile, FileMode.Open, FileAccess.Read))
|
||||||
|
// {
|
||||||
|
// byte[] bytes = System.IO.File.ReadAllBytes(exportFile);
|
||||||
|
// fs.Read(bytes, 0, System.Convert.ToInt32(fs.Length));
|
||||||
|
// fs.Close();
|
||||||
|
|
||||||
|
// var fname = Path.GetFileName(exportFile);
|
||||||
|
|
||||||
|
// Response.Headers["Content-Disposition"] = $"inline; filename={fname}";
|
||||||
|
|
||||||
|
// var ret = new FileContentResult(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
||||||
|
// {
|
||||||
|
// FileDownloadName = fname
|
||||||
|
// };
|
||||||
|
|
||||||
|
// return ret;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
//catch (Exception ex)
|
||||||
|
//{
|
||||||
|
// return Error(ex, "ไม่สามารถส่งออกรายชื่อผู้มีสิทธิ์สอบได้!!");
|
||||||
|
//}
|
||||||
|
//finally
|
||||||
|
//{
|
||||||
|
// if (System.IO.File.Exists(exportFile))
|
||||||
|
// System.IO.File.Delete(exportFile);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("export/pass-exam/{id:length(36)}")]
|
[HttpGet("export/pass-exam/{id:length(36)}")]
|
||||||
|
|
@ -1920,89 +1942,113 @@ namespace BMA.EHR.Recruit.Service.Controllers
|
||||||
return Error(GlobalMessages.InvalidExamScore, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.InvalidExamScore, StatusCodes.Status404NotFound);
|
||||||
|
|
||||||
var header = $"{data.Name} ครั้งที่ {data.Order}/{data.Year.ToThaiYear()}";
|
var header = $"{data.Name} ครั้งที่ {data.Order}/{data.Year.ToThaiYear()}";
|
||||||
|
var result = (from r in data.Recruits.ToList()
|
||||||
|
join s in data_pass.ScoreImport.Scores.Where(x => x.AStatus == "ผ่าน").ToList() on r.ExamId equals s.ExamId
|
||||||
|
orderby r.ExamId ascending, s.SumA descending
|
||||||
|
select new
|
||||||
|
{
|
||||||
|
ExamId = r.ExamId,
|
||||||
|
CitizenId = r.CitizenId,
|
||||||
|
Fullname = $"{r.Prefix}{r.FirstName} {r.LastName}",
|
||||||
|
FullA = s.FullA,
|
||||||
|
SumA = s.SumA,
|
||||||
|
AStatus = s.AStatus,
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
var template_dir = Path.Combine(_webHostEnvironment.ContentRootPath, "Templates");
|
var _data = new
|
||||||
|
|
||||||
var template_file = Path.Combine(template_dir, "PassAExamList.xlsx");
|
|
||||||
|
|
||||||
var tmpDir = Path.Combine(_webHostEnvironment.ContentRootPath, "tmp");
|
|
||||||
if (!Directory.Exists(tmpDir))
|
|
||||||
Directory.CreateDirectory(tmpDir);
|
|
||||||
|
|
||||||
var exportFile = Path.Combine(tmpDir, $"PassExamList_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx");
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
var result = (from r in data.Recruits.ToList()
|
template = "PassAExamList",
|
||||||
join s in data_pass.ScoreImport.Scores.Where(x => x.AStatus == "ผ่าน").ToList() on r.ExamId equals s.ExamId
|
reportName = $"PassAExamList_{DateTime.Now.ToString("yyyyMMddHHmmss")}",
|
||||||
orderby s.SumA descending
|
data = new
|
||||||
select new
|
|
||||||
{
|
|
||||||
r.ExamId,
|
|
||||||
r.CitizenId,
|
|
||||||
r.Prefix,
|
|
||||||
r.FirstName,
|
|
||||||
r.LastName,
|
|
||||||
s.FullA,
|
|
||||||
s.SumA,
|
|
||||||
s.AStatus,
|
|
||||||
|
|
||||||
}).ToList();
|
|
||||||
|
|
||||||
// copy template
|
|
||||||
System.IO.File.Copy(template_file, exportFile);
|
|
||||||
|
|
||||||
using (var excel = new ExcelPackage(new FileInfo(exportFile)))
|
|
||||||
{
|
{
|
||||||
var workSheet = excel.Workbook.Worksheets[0];
|
header = header,
|
||||||
|
data = result
|
||||||
|
|
||||||
workSheet.Cells[1, 2].Value = header;
|
|
||||||
var recruits = data.Recruits.OrderBy(x => x.ExamId).ToList();
|
|
||||||
|
|
||||||
var row = 4; // start at row 4
|
|
||||||
foreach (var item in result)
|
|
||||||
{
|
|
||||||
workSheet.Cells[row, 1].Value = item.ExamId;
|
|
||||||
workSheet.Cells[row, 2].Value = item.CitizenId;
|
|
||||||
workSheet.Cells[row, 3].Value = $"{item.Prefix}{item.FirstName} {item.LastName}";
|
|
||||||
workSheet.Cells[row, 4].Value = item.FullA;
|
|
||||||
workSheet.Cells[row, 5].Value = item.SumA;
|
|
||||||
workSheet.Cells[row, 6].Value = item.AStatus;
|
|
||||||
|
|
||||||
row++;
|
|
||||||
}
|
|
||||||
|
|
||||||
excel.Save();
|
|
||||||
|
|
||||||
using (FileStream fs = new FileStream(exportFile, FileMode.Open, FileAccess.Read))
|
|
||||||
{
|
|
||||||
byte[] bytes = System.IO.File.ReadAllBytes(exportFile);
|
|
||||||
fs.Read(bytes, 0, System.Convert.ToInt32(fs.Length));
|
|
||||||
fs.Close();
|
|
||||||
|
|
||||||
var fname = Path.GetFileName(exportFile);
|
|
||||||
|
|
||||||
Response.Headers["Content-Disposition"] = $"inline; filename={fname}";
|
|
||||||
|
|
||||||
var ret = new FileContentResult(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
|
||||||
{
|
|
||||||
FileDownloadName = fname
|
|
||||||
};
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
catch (Exception ex)
|
return Success(_data);
|
||||||
{
|
|
||||||
return Error(ex, "ไม่สามารถส่งออกรายชื่อผู้สอบผ่านได้!!");
|
//var template_dir = Path.Combine(_webHostEnvironment.ContentRootPath, "Templates");
|
||||||
}
|
|
||||||
finally
|
//var template_file = Path.Combine(template_dir, "PassAExamList.xlsx");
|
||||||
{
|
|
||||||
if (System.IO.File.Exists(exportFile))
|
//var tmpDir = Path.Combine(_webHostEnvironment.ContentRootPath, "tmp");
|
||||||
System.IO.File.Delete(exportFile);
|
//if (!Directory.Exists(tmpDir))
|
||||||
}
|
// Directory.CreateDirectory(tmpDir);
|
||||||
|
|
||||||
|
//var exportFile = Path.Combine(tmpDir, $"PassExamList_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx");
|
||||||
|
|
||||||
|
//try
|
||||||
|
//{
|
||||||
|
// var result = (from r in data.Recruits.ToList()
|
||||||
|
// join s in data_pass.ScoreImport.Scores.Where(x => x.AStatus == "ผ่าน").ToList() on r.ExamId equals s.ExamId
|
||||||
|
// orderby s.SumA descending
|
||||||
|
// select new
|
||||||
|
// {
|
||||||
|
// r.ExamId,
|
||||||
|
// r.CitizenId,
|
||||||
|
// r.Prefix,
|
||||||
|
// r.FirstName,
|
||||||
|
// r.LastName,
|
||||||
|
// s.FullA,
|
||||||
|
// s.SumA,
|
||||||
|
// s.AStatus,
|
||||||
|
|
||||||
|
// }).ToList();
|
||||||
|
|
||||||
|
// // copy template
|
||||||
|
// System.IO.File.Copy(template_file, exportFile);
|
||||||
|
|
||||||
|
// using (var excel = new ExcelPackage(new FileInfo(exportFile)))
|
||||||
|
// {
|
||||||
|
// var workSheet = excel.Workbook.Worksheets[0];
|
||||||
|
|
||||||
|
|
||||||
|
// workSheet.Cells[1, 2].Value = header;
|
||||||
|
// var recruits = data.Recruits.OrderBy(x => x.ExamId).ToList();
|
||||||
|
|
||||||
|
// var row = 4; // start at row 4
|
||||||
|
// foreach (var item in result)
|
||||||
|
// {
|
||||||
|
// workSheet.Cells[row, 1].Value = item.ExamId;
|
||||||
|
// workSheet.Cells[row, 2].Value = item.CitizenId;
|
||||||
|
// workSheet.Cells[row, 3].Value = $"{item.Prefix}{item.FirstName} {item.LastName}";
|
||||||
|
// workSheet.Cells[row, 4].Value = item.FullA;
|
||||||
|
// workSheet.Cells[row, 5].Value = item.SumA;
|
||||||
|
// workSheet.Cells[row, 6].Value = item.AStatus;
|
||||||
|
|
||||||
|
// row++;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// excel.Save();
|
||||||
|
|
||||||
|
// using (FileStream fs = new FileStream(exportFile, FileMode.Open, FileAccess.Read))
|
||||||
|
// {
|
||||||
|
// byte[] bytes = System.IO.File.ReadAllBytes(exportFile);
|
||||||
|
// fs.Read(bytes, 0, System.Convert.ToInt32(fs.Length));
|
||||||
|
// fs.Close();
|
||||||
|
|
||||||
|
// var fname = Path.GetFileName(exportFile);
|
||||||
|
|
||||||
|
// Response.Headers["Content-Disposition"] = $"inline; filename={fname}";
|
||||||
|
|
||||||
|
// var ret = new FileContentResult(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
||||||
|
// {
|
||||||
|
// FileDownloadName = fname
|
||||||
|
// };
|
||||||
|
|
||||||
|
// return ret;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
//catch (Exception ex)
|
||||||
|
//{
|
||||||
|
// return Error(ex, "ไม่สามารถส่งออกรายชื่อผู้สอบผ่านได้!!");
|
||||||
|
//}
|
||||||
|
//finally
|
||||||
|
//{
|
||||||
|
// if (System.IO.File.Exists(exportFile))
|
||||||
|
// System.IO.File.Delete(exportFile);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("export/pass/{id:length(36)}")]
|
[HttpGet("export/pass/{id:length(36)}")]
|
||||||
|
|
@ -2027,94 +2073,122 @@ namespace BMA.EHR.Recruit.Service.Controllers
|
||||||
return Error(GlobalMessages.InvalidExamScore, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.InvalidExamScore, StatusCodes.Status404NotFound);
|
||||||
|
|
||||||
var header = $"{data.Name} ครั้งที่ {data.Order}/{data.Year.ToThaiYear()}";
|
var header = $"{data.Name} ครั้งที่ {data.Order}/{data.Year.ToThaiYear()}";
|
||||||
|
var result = (from r in data.Recruits.ToList()
|
||||||
var template_dir = Path.Combine(_webHostEnvironment.ContentRootPath, "Templates");
|
join s in data_pass.ScoreImport.Scores.Where(x => x.ExamStatus == "ผ่าน").ToList() on r.ExamId equals s.ExamId
|
||||||
|
select new
|
||||||
var template_file = Path.Combine(template_dir, "PassExamList.xlsx");
|
{
|
||||||
|
ExamId = r.ExamId,
|
||||||
var tmpDir = Path.Combine(_webHostEnvironment.ContentRootPath, "tmp");
|
CitizenId = r.CitizenId,
|
||||||
if (!Directory.Exists(tmpDir))
|
Fullname = $"{r.Prefix}{r.FirstName} {r.LastName}",
|
||||||
Directory.CreateDirectory(tmpDir);
|
Full = s.FullA + s.FullB + s.FullC,
|
||||||
|
Sum = s.SumA + s.SumB + s.SumC,
|
||||||
var exportFile = Path.Combine(tmpDir, $"PassExamList_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx");
|
Status = s.ExamStatus,
|
||||||
|
Number = s.Number,
|
||||||
try
|
PositionName = r.PositionName,
|
||||||
|
}).ToList()
|
||||||
|
.OrderBy(x => x.ExamId)
|
||||||
|
.ThenBy(x => x.PositionName)
|
||||||
|
.ThenByDescending(x => x.Sum)
|
||||||
|
.ToList();
|
||||||
|
var _data = new
|
||||||
{
|
{
|
||||||
var result = (from r in data.Recruits.ToList()
|
template = "PassExamList",
|
||||||
join s in data_pass.ScoreImport.Scores.Where(x => x.ExamStatus == "ผ่าน").ToList() on r.ExamId equals s.ExamId
|
reportName = $"PassExamList_{DateTime.Now.ToString("yyyyMMddHHmmss")}",
|
||||||
select new
|
data = new
|
||||||
{
|
|
||||||
r.ExamId,
|
|
||||||
r.CitizenId,
|
|
||||||
r.Prefix,
|
|
||||||
r.FirstName,
|
|
||||||
r.LastName,
|
|
||||||
Full = s.FullA + s.FullB + s.FullC,
|
|
||||||
Sum = s.SumA + s.SumB + s.SumC,
|
|
||||||
Status = s.ExamStatus,
|
|
||||||
r.PositionName,
|
|
||||||
s.Number
|
|
||||||
}).ToList()
|
|
||||||
.OrderBy(x => x.PositionName)
|
|
||||||
.ThenByDescending(x => x.Sum)
|
|
||||||
.ToList();
|
|
||||||
|
|
||||||
// copy template
|
|
||||||
System.IO.File.Copy(template_file, exportFile);
|
|
||||||
|
|
||||||
using (var excel = new ExcelPackage(new FileInfo(exportFile)))
|
|
||||||
{
|
{
|
||||||
var workSheet = excel.Workbook.Worksheets[0];
|
header = header,
|
||||||
|
data = result
|
||||||
|
|
||||||
workSheet.Cells[1, 2].Value = header;
|
|
||||||
var recruits = data.Recruits.OrderBy(x => x.ExamId).ToList();
|
|
||||||
|
|
||||||
var row = 4; // start at row 4
|
|
||||||
foreach (var item in result)
|
|
||||||
{
|
|
||||||
workSheet.Cells[row, 1].Value = item.ExamId;
|
|
||||||
workSheet.Cells[row, 2].Value = item.CitizenId;
|
|
||||||
workSheet.Cells[row, 3].Value = $"{item.Prefix}{item.FirstName} {item.LastName}";
|
|
||||||
workSheet.Cells[row, 4].Value = item.Full;
|
|
||||||
workSheet.Cells[row, 5].Value = item.Sum;
|
|
||||||
workSheet.Cells[row, 6].Value = item.Status;
|
|
||||||
workSheet.Cells[row, 7].Value = item.Number;
|
|
||||||
workSheet.Cells[row, 8].Value = item.PositionName;
|
|
||||||
|
|
||||||
row++;
|
|
||||||
}
|
|
||||||
|
|
||||||
excel.Save();
|
|
||||||
|
|
||||||
using (FileStream fs = new FileStream(exportFile, FileMode.Open, FileAccess.Read))
|
|
||||||
{
|
|
||||||
byte[] bytes = System.IO.File.ReadAllBytes(exportFile);
|
|
||||||
fs.Read(bytes, 0, System.Convert.ToInt32(fs.Length));
|
|
||||||
fs.Close();
|
|
||||||
|
|
||||||
var fname = Path.GetFileName(exportFile);
|
|
||||||
|
|
||||||
Response.Headers["Content-Disposition"] = $"inline; filename={fname}";
|
|
||||||
|
|
||||||
var ret = new FileContentResult(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
|
||||||
{
|
|
||||||
FileDownloadName = fname
|
|
||||||
};
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
catch (Exception ex)
|
return Success(_data);
|
||||||
{
|
//var template_dir = Path.Combine(_webHostEnvironment.ContentRootPath, "Templates");
|
||||||
return Error(ex, "ไม่สามารถส่งออกรายชื่อผู้สอบผ่านได้!!");
|
|
||||||
}
|
//var template_file = Path.Combine(template_dir, "PassExamList.xlsx");
|
||||||
finally
|
|
||||||
{
|
//var tmpDir = Path.Combine(_webHostEnvironment.ContentRootPath, "tmp");
|
||||||
if (System.IO.File.Exists(exportFile))
|
//if (!Directory.Exists(tmpDir))
|
||||||
System.IO.File.Delete(exportFile);
|
// Directory.CreateDirectory(tmpDir);
|
||||||
}
|
|
||||||
|
//var exportFile = Path.Combine(tmpDir, $"PassExamList_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx");
|
||||||
|
|
||||||
|
//try
|
||||||
|
//{
|
||||||
|
// var result = (from r in data.Recruits.ToList()
|
||||||
|
// join s in data_pass.ScoreImport.Scores.Where(x => x.ExamStatus == "ผ่าน").ToList() on r.ExamId equals s.ExamId
|
||||||
|
// select new
|
||||||
|
// {
|
||||||
|
// r.ExamId,
|
||||||
|
// r.CitizenId,
|
||||||
|
// r.Prefix,
|
||||||
|
// r.FirstName,
|
||||||
|
// r.LastName,
|
||||||
|
// Full = s.FullA + s.FullB + s.FullC,
|
||||||
|
// Sum = s.SumA + s.SumB + s.SumC,
|
||||||
|
// Status = s.ExamStatus,
|
||||||
|
// r.PositionName,
|
||||||
|
// s.Number
|
||||||
|
// }).ToList()
|
||||||
|
// .OrderBy(x => x.ExamId)
|
||||||
|
// .ThenBy (x => x.PositionName)
|
||||||
|
// .ThenByDescending(x => x.Sum)
|
||||||
|
// .ToList();
|
||||||
|
|
||||||
|
// // copy template
|
||||||
|
// System.IO.File.Copy(template_file, exportFile);
|
||||||
|
|
||||||
|
// using (var excel = new ExcelPackage(new FileInfo(exportFile)))
|
||||||
|
// {
|
||||||
|
// var workSheet = excel.Workbook.Worksheets[0];
|
||||||
|
|
||||||
|
|
||||||
|
// workSheet.Cells[1, 2].Value = header;
|
||||||
|
// var recruits = data.Recruits.OrderBy(x => x.ExamId).ToList();
|
||||||
|
|
||||||
|
// var row = 4; // start at row 4
|
||||||
|
// foreach (var item in result)
|
||||||
|
// {
|
||||||
|
// workSheet.Cells[row, 1].Value = item.ExamId;
|
||||||
|
// workSheet.Cells[row, 2].Value = item.CitizenId;
|
||||||
|
// workSheet.Cells[row, 3].Value = $"{item.Prefix}{item.FirstName} {item.LastName}";
|
||||||
|
// workSheet.Cells[row, 4].Value = item.Full;
|
||||||
|
// workSheet.Cells[row, 5].Value = item.Sum;
|
||||||
|
// workSheet.Cells[row, 6].Value = item.Status;
|
||||||
|
// workSheet.Cells[row, 7].Value = item.Number;
|
||||||
|
// workSheet.Cells[row, 8].Value = item.PositionName;
|
||||||
|
|
||||||
|
// row++;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// excel.Save();
|
||||||
|
|
||||||
|
// using (FileStream fs = new FileStream(exportFile, FileMode.Open, FileAccess.Read))
|
||||||
|
// {
|
||||||
|
// byte[] bytes = System.IO.File.ReadAllBytes(exportFile);
|
||||||
|
// fs.Read(bytes, 0, System.Convert.ToInt32(fs.Length));
|
||||||
|
// fs.Close();
|
||||||
|
|
||||||
|
// var fname = Path.GetFileName(exportFile);
|
||||||
|
|
||||||
|
// Response.Headers["Content-Disposition"] = $"inline; filename={fname}";
|
||||||
|
|
||||||
|
// var ret = new FileContentResult(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
||||||
|
// {
|
||||||
|
// FileDownloadName = fname
|
||||||
|
// };
|
||||||
|
|
||||||
|
// return ret;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
//catch (Exception ex)
|
||||||
|
//{
|
||||||
|
// return Error(ex, "ไม่สามารถส่งออกรายชื่อผู้สอบผ่านได้!!");
|
||||||
|
//}
|
||||||
|
//finally
|
||||||
|
//{
|
||||||
|
// if (System.IO.File.Exists(exportFile))
|
||||||
|
// System.IO.File.Delete(exportFile);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue