public string CreateTempTemplateFile(TemplateTypeId templateTypeId) { var _tempFolder = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "_Temp"); if (!Directory.Exists(_tempFolder)) { Directory.CreateDirectory(_tempFolder); } var tempFilePath = Path.Combine(_tempFolder, _templateService.AvailableTemplates.First(t => t.TypeId == templateTypeId).Name + GetSaltForTemplate() + ".docx"); using (FileStream outputFile = new FileStream(tempFilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)) { using (FileStream srcFile = new FileStream(_templateService.IssueTemplatePath, FileMode.Open, FileAccess.ReadWrite)) { outputFile.SetLength(srcFile.Length); srcFile.CopyTo(outputFile, 1024); } } return(tempFilePath); }
/// <summary> /// Получить последние версии всех шаблонов /// </summary> /// <returns></returns> public TemplateFile GetActualTemplate(TemplateTypeId templateTypeId, bool withData) { DynamicParameters p = new DynamicParameters(); p.Add("TemplateTypeId", (int)templateTypeId, DbType.Int32, ParameterDirection.Input); p.Add("WithData", withData, DbType.Boolean, ParameterDirection.Input); using (var con = new SqlConnection(_connectionString)) { con.Open(); return(con.Query <TemplateFile, TemplateType, Employee, TemplateFile>("dbo.GetActualTemplate", (file, type, emp) => { file.TemplateType = type; file.WhoUpload = emp; return file; }, splitOn: "TypeId, IdEmployee", param: p, commandType: CommandType.StoredProcedure).FirstOrDefault()); } }