// Set the value of the ecmProperty. Note that currently there *might* be > 1 value and than we // will overwrite so last value wins. Return true if the ecr is updated public bool setEcrValue(EnterpriseChangeRequest ecr, String ecmProperty, List <String> values) { if (values.Count == 0) { return(false); } bool updated = true; foreach (String value in values) { switch (ecmProperty) { case ECM_ABOUT: ecr.SetAbout(new Uri(value)); break; case ECM_TITLE: ecr.SetTitle(value); break; case ECM_IDENTIFIER: ecr.SetIdentifier(value); break; case ECM_PRIORITY: ecr.SetPriority(value); break; case ECM_OWNER: ecr.SetOwner(value); break; case ECM_COUNTRY: ecr.SetCountry(value); break; case ECM_CUSTOMER: ecr.SetCustomer(value); break; case ECM_SITE: ecr.SetSite(value); break; case ECM_DIDDET: ecr.SetDiddet(value); break; case ECM_DESCRIPTION: ecr.SetDescription(value); break; case ECM_ANSWER: ecr.SetAnswer(value); break; case ECM_ANSWER_CODE: ecr.SetAnswerCode(value); break; case ECM_FAULTCODE: ecr.SetFaultCode(value); break; case ECM_ACTIVITY: ecr.SetActivity(value); break; case ECM_FIRST_TECHNICAL_CONTACT: // TODO: No immediate need to add this // ecr.SetFirstTechnicalContact(value); updated = false; break; case ECM_FIRST_TECHNICAL_CONTACT_INFO: ecr.SetFirstTechContactInfo(value); break; case ECM_STATUS: ecr.SetStatus(value); break; case ECM_CURRENT_MHO: ecr.SetCurrentMho(value); break; case ECM_PRODUCT: ecr.SetProduct(value); break; case ECM_PRODUCT_REVISION: ecr.SetProductRevision(value); break; case ECM_NODE_PRODUCT: ecr.SetNodeProduct(value); break; case ECM_NODE_PRODUCT_REVISION: ecr.SetNodeProductRevision(value); break; case ECM_CORRECTED_PRODUCT: ecr.SetCorrectedProduct(value); break; case ECM_CORRECTED_PRODUCT_REVISION: ecr.SetCorrectedProductRevision(value); break; case ECM_CORRECTED_NODE_PRODUCT: ecr.SetCorrectedNodeProduct(value); break; case ECM_CORRECTED_NODE_PRODUCT_REVISION: ecr.SetCorrectedNodeProductRevision(value); break; case ECM_ATTACHMENT: if (value.Length > 0) { String[] urls = value.Split(';'); foreach (String url in urls) { OSLC4Net.Core.Model.Link link = new OSLC4Net.Core.Model.Link(new Uri(url)); link.SetLabel(url); ecr.AddAttachment(link); } } break; case ECM_NOTEBOOK: ecr.SetNotebook(value); break; case ECM_PROGRESSINFO: ecr.SetProgressInfo(value); break; case ECM_EXPECTED_IMPACT_ON_ISP: ecr.SetExpectedImpactOnISP(value); break; case ECM_IMPACT_ON_ISP: ecr.SetImpactOnISP(value); break; case ECM_RELEATED_CHANGE_REQUEST: Uri resource = new Uri(value); String label = HandlerSettings.GetIDFromUri(value); OSLC4Net.Core.Model.Link relatedChangeRequest = new OSLC4Net.Core.Model.Link(resource, label); ecr.AddRelatedChangeRequest(relatedChangeRequest); break; default: updated = false; break; } } return(updated); }
/** * Gets the ECR value for the given ecmProperty * * @param ecr * @param ecmProperty * @return */ private static String getEcrValue(EnterpriseChangeRequest ecr, String ecmProperty) { switch (ecmProperty) { case ECM_TITLE: return(ecr.GetTitle()); case ECM_IDENTIFIER: return(ecr.GetIdentifier()); case ECM_PRIORITY: return(ecr.GetPriority()); case ECM_OWNER: return(ecr.GetOwner()); case ECM_COUNTRY: return(ecr.GetCountry()); case ECM_CUSTOMER: return(ecr.GetCustomer()); case ECM_SITE: return(ecr.GetSite()); case ECM_DIDDET: return(ecr.GetDiddet()); case ECM_DESCRIPTION: return(ecr.GetDescription()); case ECM_ANSWER: return(ecr.GetAnswer()); case ECM_ANSWER_CODE: return(ecr.GetAnswerCode()); case ECM_FAULTCODE: return(ecr.GetFaultCode()); case ECM_ACTIVITY: return(ecr.GetActivity()); case ECM_FIRST_TECHNICAL_CONTACT: return(ecr.GetFirstTechnicalContact()); case ECM_FIRST_TECHNICAL_CONTACT_INFO: return(ecr.GetFirstTechContactInfo()); case ECM_STATUS: return(ecr.GetStatus()); case ECM_CURRENT_MHO: return(ecr.GetCurrentMho()); case ECM_PRODUCT: return(ecr.GetProduct()); case ECM_PRODUCT_REVISION: return(ecr.GetProductRevision()); case ECM_NODE_PRODUCT: return(ecr.GetNodeProduct()); case ECM_NODE_PRODUCT_REVISION: return(ecr.GetNodeProductRevision()); case ECM_CORRECTED_PRODUCT: return(ecr.GetCorrectedProduct()); case ECM_CORRECTED_PRODUCT_REVISION: return(ecr.GetCorrectedProductRevision()); case ECM_CORRECTED_NODE_PRODUCT: return(ecr.GetCorrectedNodeProduct()); case ECM_CORRECTED_NODE_PRODUCT_REVISION: return(ecr.GetCorrectedNodeProductRevision()); case ECM_ATTACHMENT: return(null); case ECM_NOTEBOOK: return(ecr.GetNotebook()); case ECM_PROGRESSINFO: return(ecr.GetProgressInfo()); case ECM_EXPECTED_IMPACT_ON_ISP: return(ecr.GetExpectedImpactOnISP()); case ECM_IMPACT_ON_ISP: return(ecr.GetImpactOnISP()); case ECM_RELEATED_CHANGE_REQUEST: OSLC4Net.Core.Model.Link[] related = ecr.GetRelatedChangeRequests(); return(related[0].GetValue().ToString()); } return(""); }
// Return true if we have an updated value, otherwise false public bool setEcrValues(EnterpriseChangeRequest ecr, String ecmProperty, WorkItem workItem) { return(setEcrValue(ecr, ecmProperty, mapToEcr(ecmProperty, workItem))); }