コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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());
            }
        }