/// <summary> /// Saves/Updates a <see cref="SmartTemplate"/> /// </summary> /// <remarks> /// If this method is passed a SmartTemplate with a non-zero SmartTemplate.TemplateId, it will update the corresponding SmartTemplate in the repo. If this method is passed a SmartJob with a SmartTemplate.TemplateId = 0, then it will create a new SmartTemplate in the repo. /// </remarks> /// <param name="template">A <see cref="SmartTemplate"/> to add/update.</param> public void SaveTemplate(SmartTemplate template) { if (template.TemplateId == 0) { context.Templates.Add(template); } else { SmartTemplate dbTemplate = context.Templates.FirstOrDefault(x => x.TemplateId == template.TemplateId); dbTemplate.Name = template.Name; dbTemplate.Description = template.Description; dbTemplate.DataStream = template.DataStream; } context.SaveChanges(); }
/// <summary> /// Method that seeds the Template documents into the Database from the FileSystem. /// </summary> public void SeedTemplates() { // Verify that the pre-2020 PPA template is loaded. if (!_newContext.Templates.Any(x => x.Name == "SmartPPA")) { SmartTemplate template = new SmartTemplate { Name = "SmartPPA", Description = "Performance Appraisal Package: PPA, PAF, and Job Description.", Uploaded = DateTime.Now, IsActive = true, DataStream = File.ReadAllBytes("Smart_PPA_Template.docx") }; _newContext.Add(template); } // Verify that the 2021 Updated PPA form is loaded. if (!_newContext.Templates.Any(x => x.Name == "SmartPPA_2021")) { SmartTemplate template = new SmartTemplate { Name = "SmartPPA_2021", Description = "Performance Appraisal Package: PPA, PAF, and Job Description using the 2021 OHRM Updated Forms", Uploaded = DateTime.Now, IsActive = true, DataStream = File.ReadAllBytes("SmartPPA_2021_Template.docx") }; _newContext.Add(template); } if (!_newContext.Templates.Any(x => x.Name == "SmartPAF_2021")) { SmartTemplate template = new SmartTemplate { Name = "SmartPAF_2021", Description = "Periodic Performance Assessment Form using the 2021 OHRM Updated Forms", Uploaded = DateTime.Now, IsActive = true, DataStream = File.ReadAllBytes("SmartPAF_2021_Template.docx") }; _newContext.Add(template); } // As of 2021, the Job Description form is unchanged. if (!_newContext.Templates.Any(x => x.Name == "SmartJobDescription")) { SmartTemplate template = new SmartTemplate { Name = "SmartJobDescription", Description = "Job Description Standalone Template.", Uploaded = DateTime.Now, IsActive = true, DataStream = File.ReadAllBytes("Job_Description_Template.docx") }; _newContext.Add(template); } if (!_newContext.Templates.Any(x => x.Name == "SmartAwardForm")) { SmartTemplate template = new SmartTemplate { Name = "SmartAwardForm", Description = "Award Nomination Form Template", Uploaded = DateTime.Now, IsActive = true, DataStream = File.ReadAllBytes("Award_Form_Template.docx") }; _newContext.Add(template); } _newContext.SaveChanges(); }