/// <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();
 }
Example #2
0
        /// <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();
        }