Esempio n. 1
0
        private void AddEvidenceChainToList(JToken evidence, List <CapabilityEvidence> evidenceList, List <List <CapabilityEvidence> > evidenceListList)
        {
            GetEvidencesChain(evidence, evidenceList);

            var enumEvidenceList = CapabilityEvidence.OrderLinkedEvidences(evidenceList);

            evidenceListList.Add(enumEvidenceList.ToList());
        }
        public virtual IActionResult ApiCapabilitiesImplementedEvidencePost([FromBody] CapabilityEvidence evidenceEntity)
        {
            try
            {
                evidenceEntity = _datastore.Create(evidenceEntity);

                if (evidenceEntity.Id == Guid.Empty)
                {
                    return(StatusCode(404));
                }

                return(new ObjectResult(evidenceEntity));
            }
            catch (Crm.CrmApiException ex)
            {
                return(StatusCode((int)ex.HttpStatus, ex.Message));
            }
        }
Esempio n. 3
0
        public void Delete(CapabilityImplemented capabilityImplemented)
        {
            var filterAttributes = new List <CrmFilterAttribute>
            {
                new CrmFilterAttribute("CapabilityImplemented")
                {
                    FilterName = "_cc_capabilityimplemented_value", FilterValue = capabilityImplemented.Id.ToString()
                },
            };

            var capabilityEvidence = new CapabilityEvidence();

            var jsonEvidenceParent = Repository.RetrieveMultiple(capabilityEvidence.GetQueryString(null, filterAttributes));

            Repository.Delete(capabilityImplemented.EntityName, capabilityImplemented.Id);

            foreach (var evidence in jsonEvidenceParent)
            {
                Repository.Delete(capabilityEvidence.EntityName, new CapabilityEvidence(evidence).Id);
            }
        }
Esempio n. 4
0
        private void GetEvidencesChain(JToken evidenceChainEnd, List <CapabilityEvidence> evidenceList)
        {
            // store the end of the chain (with no previous id)
            var evidence = new CapabilityEvidence(evidenceChainEnd);

            evidenceList.Add(evidence);
            var id = evidence.Id.ToString();

            // get the chain of evidences linked by previous id
            while (true)
            {
                var filterEvidence = new List <CrmFilterAttribute>
                {
                    new CrmFilterAttribute("PreviousEvidence")
                    {
                        FilterName = "_cc_previousversion_value", FilterValue = id
                    },
                    new CrmFilterAttribute("StateCode")
                    {
                        FilterName = "statecode", FilterValue = "0"
                    }
                };

                var jsonEvidence = Repository.RetrieveMultiple(new CapabilityEvidence().GetQueryString(null, filterEvidence, true, true));
                if (jsonEvidence.HasValues)
                {
                    evidence = new CapabilityEvidence(jsonEvidence.FirstOrDefault());
                    evidenceList.Add(evidence);
                    id = evidence.Id.ToString();
                }
                else
                {
                    break;
                }
            }
        }
Esempio n. 5
0
        public CapabilityEvidence Create(CapabilityEvidence evidenceEntity)
        {
            Repository.CreateEntity(evidenceEntity.EntityName, evidenceEntity.SerializeToODataPost());

            return(evidenceEntity);
        }