Example #1
0
        private Dictionary<string, string> SaveListOfCollectRequest(IDocumentSession session, CollectPackage collectPackage, Request[] collectRequests, DefinitionInfo[] definitions, string clientId)
        {
            var identifiers = new Dictionary<string, string>();
            foreach (var req in collectRequests)
            {
                var definitionDocument = Repository.GetDefinitionByOriginalId(session, req.DefinitionId);
                if (definitionDocument == null)
                {
                    definitionDocument = DefinitionFactory.CreateDefinitionDocumentFromInfo(session, definitions.First(x => x.Id == req.DefinitionId));
                }
                CollectRequest request = this.CollectAssembler.CreateCollectRequestFromDTO(req, definitionDocument.Oid);
                request.ClientId = clientId;
                session.Store(request);
                request.CollectPackageId = collectPackage.Oid;
                session.SaveChanges();

                identifiers.Add(req.RequestId, request.Oid.ToString());
            }

            return identifiers;
        }