private void SaveTemplate()
        {
            //Once save button is clicked, use a variable that stores the information
            TemplateModel templateToSave = new TemplateModel
            {
                SystemName       = systemName,
                TemplateCode     = templateCode,
                TenderName       = tenderName,
                DateModified     = DateTime.Now,
                Location         = location,
                Remark           = templateRemark,
                SystemItems      = TemplateItems.ToList(),
                Discount         = discount,
                TemplateSaveName = templateSaveName
            };

            //If template is newly created, generate it a name
            if (templateToSave.TemplateSaveName == null)
            {
                templateToSave.TemplateSaveName = TemplateSaveAndLoad.generateTemplateSaveFilePath(systemName);
                templateToSave.DateCreated      = DateTime.Now;
                //Create a new data entry for the template
                Constants.AddTemplate(templateToSave);
            }

            Console.WriteLine("The test file name is " + templateToSave.TemplateSaveName);


            //Save the entire template
            TemplateSaveAndLoad.save(templateToSave);

            //This method should only be called after the aplication exits
            TemplateSaveAndLoad.saveTemplateData();
        }
        public MainWindowViewModel()
        {
            Messenger.Default.Register <SwitchViewMessage>(this, (switchViewMessage) =>
            {
                setView(switchViewMessage.ViewName);
            });
            Constants.manageItemViewModel     = new ManageItemViewModel();
            Constants.manageSupplierViewModel = new ManageSupplierViewModel();
            Constants.createTemplateViewModel = new CreateTemplateViewModel();
            Constants.viewTemplateViewModel   = new ViewTemplateViewModel();

            TemplateSaveAndLoad.loadTemplateData();
        }