Пример #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;
			}
		}
Пример #2
0
        public static void DemoteTemplate(Guid TemplateID, TemplateStatusType status)
        {

            using (TransactionScope transScope = new TransactionScope(Data.Common.TransactionScopeOption))
            {
                string sFinalTemplateXML = GetTemplateDef(null, TemplateID, DefType.Final);
                Data.Template.UpdateDraftTemplateDef(TemplateID, sFinalTemplateXML);
                Data.Template.InsertTemplateAudit(TemplateID, Business.SecurityHelper.GetLoggedOnPersonId(), (short)status, sFinalTemplateXML, (int)Retro.AuditType.Saved);
                transScope.Complete();
            }


        }
Пример #3
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;
        }
Пример #4
0
        public static bool PromoteTemplate(Guid TemplateID, TemplateStatusType status, Retro.AuditType auditType)
        {
            bool promoted = true;
            using (TransactionScope transScope = new TransactionScope(Data.Common.TransactionScopeOption))
            {
                string sDraftTemplateXML = GetTemplateDef(null, TemplateID, DefType.Draft);
                string sDraftTemplateXML_NoVersion = null;
                if (!string.IsNullOrEmpty(sDraftTemplateXML))
                    sDraftTemplateXML_NoVersion = sDraftTemplateXML.Replace(GetVersion(sDraftTemplateXML), "");

                string sFinalTemplateXML = GetTemplateDef(null, TemplateID, DefType.Final);
                string sFinalTemplateXML_NoVersion = null;
                if (!string.IsNullOrEmpty(sFinalTemplateXML))
                    sFinalTemplateXML_NoVersion = sFinalTemplateXML.Replace(GetVersion(sFinalTemplateXML), "");

                bool attemptPromotion = true;
                if (!string.IsNullOrEmpty(sDraftTemplateXML_NoVersion) && !string.IsNullOrEmpty(sFinalTemplateXML_NoVersion))
                    attemptPromotion = !sDraftTemplateXML_NoVersion.Equals(sFinalTemplateXML_NoVersion);

                if (attemptPromotion)
                {
                    Data.Template.UpdateFinalTemplateDef(TemplateID, sDraftTemplateXML);
                    Data.Template.InsertTemplateAudit(TemplateID, Business.SecurityHelper.GetLoggedOnPersonId(), (short)status, sDraftTemplateXML, (int)auditType);
                }
                else
                    promoted = false;

                transScope.Complete();
            }

            return promoted;
        }
Пример #5
0
		public static void LoadTemplateStatusDropDown(DropDownList ddl, bool addAll, TemplateStatusType selectedValue)
		{
			ddl.Items.Clear();
			TemplateStatusType[] values = (TemplateStatusType[])Enum.GetValues(typeof(TemplateStatusType));
			foreach (TemplateStatusType value in values)
			{
				ListItem itm = new ListItem(string.Format("{0:G}", value), string.Format("{0:D}", value));
				itm.Selected = (value == selectedValue);
				ddl.Items.Add(itm);
			}
			if (addAll)
				ddl.Items.Add(new ListItem("All", "-1"));
		}