Example #1
0
		private void LoadSummary()
		{
			LoadVersion();
			using (DataSet ds = Data.Template.GetTemplateSummary(_id, TemplateDef))
			{
				DataRow row = ds.Tables[0].Rows[0];
				_name = (string)row[Data.DataNames._C_TemplateName];
				_description = (string)row[Data.DataNames._C_Description];
				_canGenerateDocument = bool.Parse((string)row[Data.DataNames._C_GenerateDocument]);
                bool canGenerateUserDocuments;

                if (bool.TryParse((string)row[Data.DataNames._C_GenerateUserDocuments], out canGenerateUserDocuments))
                    _canGenerateUserDocuments = canGenerateUserDocuments;
                else
                    _canGenerateUserDocuments = false;
                
				_status = (TemplateStatusType)((short)row[Data.DataNames._C_Status]);
				_allowAttachments = bool.Parse((string)row[Data.DataNames._C_Attachments]);
                bool useDetailedDescription;
                if (bool.TryParse((string)row[Data.DataNames._C_UseDetailedDescription], out useDetailedDescription))
                    _useDetailedDescription = useDetailedDescription;
                else
                    _useDetailedDescription = false;
                bool allowComments;
                if (bool.TryParse((string)row[Data.DataNames._C_AllowComments], out allowComments))
                    _allowComments = allowComments;
                else
                    _allowComments = false;

                try
                {
                    _securityModel = (SecurityModel)Enum.Parse(typeof(SecurityModel), (string)row[Data.DataNames._C_SecurityModel]);
                }
                catch
                {
                    _securityModel = SecurityModel.Basic;
                }

                try
                {
					_retroModel = (Retro.RetroModel)Enum.Parse(typeof(Retro.RetroModel), (string)row[Data.DataNames._C_RetroModel]);
				}
                catch
                {
                    _retroModel = Retro.RetroModel.Off;
                }

                _systemID = (Guid)row[Data.DataNames._C_SystemID];
				_summaryLoaded = true;
			}
		}
Example #2
0
        //This call will make copies of all the pertinent pieces of the template, minimizing the need to
        //extract data from the database or to perform additional parsing of the xml.
        //Only those pieces deemed to be needed for Retro are initially copied over, saving additional xml parsing.
        public void RetroCopy(Template sourceTemplate, bool parseEvents)
        {
            //Note - do not make these assignments here - they should already be defined.
            //_defType
            //_id

            //Summary Data
            _name = sourceTemplate.Name;
            _status = sourceTemplate.Status;
            _retroDate = sourceTemplate.RetroDate;
            _templateDef = sourceTemplate.TemplateDef;

            //Attributes
            _systemID = sourceTemplate.SystemID;
            _description = sourceTemplate.Description;
            _canGenerateDocument = sourceTemplate.CanGenerateDocument;
            _canGenerateUserDocuments = sourceTemplate.CanGenerateUserDocuments;
            _allowComments = sourceTemplate.AllowComments;
            _useDetailedDescription = sourceTemplate.UseDetailedDescription;
            _securityModel = sourceTemplate.SecurityModel;
            _retroModel = sourceTemplate.RetroModel;
            _version = sourceTemplate.Version;
            _XMLVersion = sourceTemplate.XMLVersion;
            _allowAttachments = sourceTemplate.AllowAttachments;

            //Collections
            _basicTerms = new List<Term>(sourceTemplate.BasicTerms.Count);
            foreach (Term term in sourceTemplate.BasicTerms)
                _basicTerms.Add(term.RetroCopy(term.SystemTerm, this));
            _complexLists = new List<Term>(sourceTemplate.ComplexLists);

            _termGroups = new List<TermGroup>(sourceTemplate.TermGroups);
            if (parseEvents)
            {
                XmlDocument xmlTemplateDoc = new XmlDocument();
                xmlTemplateDoc.PreserveWhitespace = false;
                xmlTemplateDoc.LoadXml(sourceTemplate.TemplateDef);
                _events = Business.Events.Create(xmlTemplateDoc, this is ManagedItem);
            }
            else
            {
                _events = new List<Event>(sourceTemplate.Events);
            }

            _workflows = new List<Workflow>(sourceTemplate.Workflows);

            //_workflows = new List<Workflow>(sourceTemplate.Workflows.Count);
            //foreach (Workflow workflow in sourceTemplate.Workflows)
            //    _workflows.Add(workflow.Copy(workflow.Name, sourceTemplate is ManagedItem, this));
            //Workflow sourceActiveworkflow = sourceTemplate.Workflows.Find(workflow => workflow.ID == sourceTemplate.ActiveWorkflowID);
            //_activeWorkflowID = Workflows.Find(workflow => workflow.Name == sourceActiveworkflow.Name).ID;

            //Note - Extensions not copied here, since the source may be a template and not the manageditem.
            //_extensions = new List<Extension>(sourceTemplate.Extensions);

            //_document = ITATDocument.Create(TemplateDef);
            //_comments = new List<Comment>(sourceTemplate.Comments);
            //_termDependencies = new List<TermDependency>(sourceTemplate.TermDependencies);
            //_detailedDescriptions = new List<DetailedDescription>(sourceTemplate.DetailedDescriptions);
            //_documentPrinters = new List<Role>(sourceTemplate.DocumentPrinters);

            //Derived
            //_sourceTerms = sourceTemplate.SourceTerms;
            _activeWorkflowID = sourceTemplate.ActiveWorkflowID;
            //_termGroupTerms = sourceTemplate.TermGroupTerms;

            //Loaded indicators
            _summaryLoaded = sourceTemplate._summaryLoaded;
            _basicTermsLoaded = sourceTemplate._basicTermsLoaded;
            _complexListsLoaded = sourceTemplate._complexListsLoaded;
            _termGroupsLoaded = sourceTemplate._termGroupsLoaded;
            _eventsLoaded = sourceTemplate._eventsLoaded;
            _workflowLoaded = sourceTemplate._workflowLoaded;

            //_msoDefined = sourceTemplate._msoDefined;
            //_renewalDefined = sourceTemplate._renewalDefined;
            //_extensionsLoaded = sourceTemplate._extensionsLoaded;
            //_commentsLoaded = sourceTemplate._commentsLoaded;
            //_documentPrintersLoaded = sourceTemplate._documentPrintersLoaded;
            //_detailedDescriptionsLoaded = sourceTemplate._detailedDescriptionsLoaded;
            //_termDependenciesLoaded = sourceTemplate._termDependenciesLoaded;
            //_documentLoaded = sourceTemplate._documentLoaded;
        }