using Learun.Application.Base.SystemModule; using Learun.Application.TwoDevelopment.LR_Desktop; using Learun.Util; using Nancy; using System; using System.Collections.Generic; using System.IO; namespace Learun.Application.WebApi.Modules { public class EnrollTemplateApi : BaseNoAuthentication { public EnrollTemplateApi() : base("/learun/adms/enrolltemplate") { //下载招生模板 Get["/downenrolltemplate"] = DownEnrollTemplate; //下载人事模板 Get["/downpersonneltemplate"] = DownPersonnelTemplate; //上传招生文件 Post["/uploadenroll"] = UploadEnroll; //上传人事文件 Post["/uploadpersonnel"] = UploadPersonnel; } private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL(); private EnrollTemplateIBLL enrollTemplateIBLL = new EnrollTemplateBLL(); private EnrollDataIBLL enrollDataIBLL = new EnrollDataBLL(); /// /// 上传招生文件 /// /// public Response UploadEnroll(dynamic _) { var files = (List)this.Context.Request.Files; var folderId = Upload(1, files); return SuccessString(folderId); } /// /// 上传人事文件 /// /// /// public Response UploadPersonnel(dynamic _) { var files = (List)this.Context.Request.Files; var folderId = Upload(2, files); return SuccessString(folderId); } /// /// 上传 /// /// /// /// private string Upload(int type,List files) { var folderId = Guid.NewGuid().ToString(); string filePath = Config.GetValue("AnnexesFile"); string uploadDate = DateTime.Now.ToString("yyyyMMdd"); string FileEextension = Path.GetExtension(files[0].Name); string fileGuid = Guid.NewGuid().ToString(); string virtualPath = string.Format("{0}/{1}/{2}/{3}{4}", filePath, "EnrollData", uploadDate, fileGuid, FileEextension); //创建文件夹 string path = Path.GetDirectoryName(virtualPath); Directory.CreateDirectory(path); AnnexesFileEntity fileAnnexesEntity = new AnnexesFileEntity(); EnrollDataEntity enrollData = new EnrollDataEntity(); if (!System.IO.File.Exists(virtualPath)) { byte[] bytes = new byte[files[0].Value.Length]; files[0].Value.Read(bytes, 0, bytes.Length); FileInfo file = new FileInfo(virtualPath); FileStream fs = file.Create(); fs.Write(bytes, 0, bytes.Length); fs.Close(); //文件信息写入数据库 fileAnnexesEntity.F_Id = fileGuid; fileAnnexesEntity.F_FolderId = folderId; fileAnnexesEntity.F_FileName = files[0].Name; fileAnnexesEntity.F_FilePath = virtualPath; fileAnnexesEntity.F_FileSize = files[0].Value.Length.ToString(); fileAnnexesEntity.F_FileExtensions = FileEextension; fileAnnexesEntity.F_FileType = FileEextension.Replace(".", ""); annexesFileIBLL.SaveEntity(folderId, fileAnnexesEntity); enrollData.Id = Guid.NewGuid().ToString(); enrollData.UploadTime = DateTime.Now; enrollData.Type = type; enrollData.Path = folderId; enrollDataIBLL.SaveEntity("",enrollData); } return folderId; } /// /// 下载招生模板 /// /// /// public Response DownEnrollTemplate(dynamic _) { var enrollTemplate = enrollTemplateIBLL.GetEnabledEntity(1); if (enrollTemplate == null) { return Fail("无可用模板!"); } var data = annexesFileIBLL.GetEntity(enrollTemplate.Path); string filepath = data.F_FilePath; if (FileDownHelper.FileExists(filepath)) { FileDownHelper.DownLoadnew(filepath); } return Success(""); } /// /// 下载人事模板 /// /// /// public Response DownPersonnelTemplate(dynamic _) { var enrollTemplate = enrollTemplateIBLL.GetEnabledEntity(2); if (enrollTemplate == null) { return Fail("无可用模板!"); } var data = annexesFileIBLL.GetEntity(enrollTemplate.Path); string filepath = data.F_FilePath; if (FileDownHelper.FileExists(filepath)) { FileDownHelper.DownLoadnew(filepath); } return Success(""); } } }