Example #1
0
        public static PeerDocument BuildSimpleMasterAndPeer(out MasterDocument master)
        {
            master = new MasterDocument {
                Id = 7, Name = "Bill"
            };
            var peer = new PeerDocument
            {
                Id   = 100,
                Name = "Frank",
                MasterDocumentPlaceHolder = new DocumentPlaceholder <MasterDocument, WhatPeerNeedsToKnowAboutMaster>()
            };

            var peerData = new WhatMasterNeedsToKnowAboutPeer {
                Name = peer.Name
            };

            var masterData = new WhatPeerNeedsToKnowAboutMaster {
                Name = master.Name
            };


            master.PeerDocumentPlaceHolder = DocumentPlaceholder <PeerDocument, WhatMasterNeedsToKnowAboutPeer>
                                             .CreatePlaceholderAndReverse(peer.Id, peerData, peer.MasterDocumentPlaceHolder, master.Id, masterData);

            return(peer);
        }
Example #2
0
        public static MasterDocument BuildSimpleMasterAndDetail(out DetailDocument detail)
        {
            var master = new MasterDocument
            {
                Id   = 1,
                Name = "Chips",
                DetailPlaceHolders = new DocumentPlaceholderCollection <DetailDocument, WhatMasterNeedsToKnowAboutDetail>()
            };

            var masterData = new WhatDetailNeedsToKnowAboutMaster {
                Name = master.Name
            };

            detail = new DetailDocument
            {
                Id   = 25,
                Name = "Cheetos"
            };
            var detailData = new WhatMasterNeedsToKnowAboutDetail {
                Name = detail.Name
            };


            detail.MasterDocumentPointer =
                DocumentPlaceholder <MasterDocument, WhatDetailNeedsToKnowAboutMaster>
                .CreatePlaceholderAndUpdateReverseCollection(master.Id, masterData, master.DetailPlaceHolders, detail.Id, detailData);

            return(master);
        }
Example #3
0
        public void Should_set_pointer_id_and_key_on_collection()
        {
            DetailDocument detail;
            MasterDocument master = Helpers.BuildSimpleMasterAndDetail(out detail);

            AssertPointIdAndKeyOnCollection(master);
        }
Example #4
0
 CreateOrUpdateMasterDocument([FromBody] MasterDocument masterDocument, string rev = null)
 {
     return(Task.FromResult(new DocumentReference()
     {
         DocumentId = masterDocument.DocumentId,
         Revisionid = masterDocument.Revisionid,
     }));
 }
Example #5
0
        public void Should_serialize_collection_pointers()
        {
            DetailDocument detail;
            MasterDocument master  = Helpers.BuildSimpleMasterAndDetail(out detail);
            MasterDocument master2 = Helpers.SerializeCopyWithJSON(master);

            AssertPointIdAndKeyOnCollection(master2);
        }
Example #6
0
        private static void AssertPointIdAndKeyOnCollection(MasterDocument master)
        {
            var placeholder = master.DetailPlaceHolders.Items.Single();

            Assert.AreEqual(1, master.DetailPlaceHolders.Items.Count());
            Assert.AreEqual("DetailDocuments/25", placeholder.DocKey);
            Assert.AreEqual("Cheetos", placeholder.Data.Name);
        }
Example #7
0
        public void Should_serialize_peer_pointers()
        {
            MasterDocument master;

            Helpers.BuildSimpleMasterAndPeer(out master);
            MasterDocument master2 = Helpers.SerializeCopyWithJSON(master);

            AssertPointIdKeyAndName(master2);
        }
Example #8
0
        private static void AssertPointIdKeyAndName(MasterDocument master)
        {
            var placeHolder = master.PeerDocumentPlaceHolder;

            Assert.IsNotNull((placeHolder));
            Assert.AreEqual("PeerDocuments/100", placeHolder.DocKey);
            Assert.AreEqual(100, placeHolder.DocId);
            Assert.AreEqual("Frank", placeHolder.Data.Name);
        }
        public void ShouldSerializeCollection()
        {
            DetailDocument detail;
            MasterDocument master = Helpers.BuildSimpleMasterAndDetail(out detail);
            DocumentPlaceholderCollection <DetailDocument, WhatMasterNeedsToKnowAboutDetail> toSerialize = master.DetailPlaceHolders;
            string myString = toSerialize.SerializeToString();

            Assert.IsNotNullOrEmpty(myString);
        }
        public void ShouldSerialize()
        {
            var master = new MasterDocument {
                Name = "Frank"
            };
            string masterString = master.SerializeToString();
            var    master2      = masterString.DeserializeFromString <MasterDocument>();

            Assert.AreEqual("Frank", master2.Name);
        }
Example #11
0
 public static string IdToMasterPartitionId(this string id)
 {
     if (id.StartsWith("prisk:"))
     {
         return(RiskPassword.PartitionIdFormat(new MasterDocument.IdKey()));
     }
     else
     {
         return(MasterDocument.PartitionIdFormat(new MasterDocument.IdKey()));
     }
 }
Example #12
0
 private string IdToMasterPartitionId <T>() where T : MasterDocument
 {
     if (typeof(T) == typeof(RiskPassword))
     {
         return(RiskPassword.PartitionIdFormat(new MasterDocument.IdKey()));
     }
     else
     {
         return(MasterDocument.PartitionIdFormat(new MasterDocument.IdKey()));
     }
 }
Example #13
0
 private string PartitionIdFormat <T>(MasterDocument.IdKey idKey) where T : MasterDocument
 {
     if (idKey == null)
     {
         new ArgumentNullException(nameof(idKey));
     }
     if (typeof(T).Equals(typeof(RiskPassword)))
     {
         return(RiskPassword.PartitionIdFormat(idKey));
     }
     else
     {
         return(MasterDocument.PartitionIdFormat(idKey));
     }
 }
        public static void AddRequiredMasterDocumentProperties(File newFile, MasterDocument doc)
        {
            ClientContext ctx  = ConnectToSharePoint();
            ListItem      item = newFile.ListItemAllFields;

            ctx.Load(item);

            var props = typeof(SharePointField).GetProperties().Where(prop => Attribute.IsDefined(prop, typeof(SharePointField)));

            SetListItemLookup(item, MasterDocument.GetAttributeName(doc.BusinessSector.GetType()), doc.BusinessSector);
            SetListItemLookup(item, MasterDocument.GetAttributeName(doc.BusinessDivision.GetType()), doc.BusinessDivision);
            SetListItemLookup(item, MasterDocument.GetAttributeName(doc.BusinessDivisionCategory.GetType()), doc.BusinessDivisionCategory);

            item.Update();
            ctx.ExecuteQuery();
        }
        public static void AddMasterDocumentProperties(ListItem item, MasterDocument doc)
        {
            ClientContext ctx = ConnectToSharePoint();

            SetListItemText(item, "MSA_ID", doc.MasterDocumentId);
            SetListItemLookup(item, "CUSTOMER_ID_TYPE", doc.MasterDocumentType);
            SetListItemText(item, "CUSTOMER_ID_VAL", doc.MasterDocumentName);
            SetListItemLookup(item, "DOCUMENT_CATEGORY", doc.BusinessSector);
            SetListItemLookup(item, "DOCUMENT_SUBCATEGORY", doc.BusinessDivision);
            SetListItemLookup(item, "BUSINESS_DIVISION_CATEGORY", doc.BusinessDivisionCategory);
            SetListItemText(item, "CREATEDBY_ID", doc.CreatedBy.Key);
            SetListItemText(item, "CREATEDBY_NAME", doc.CreatedBy.Value);
            item["Activity_Status"] = true;

            item.Update();
            ctx.ExecuteQuery();
        }
        private static void AssertPointIdAndKeyOnCollection(MasterDocument master)
        {
            var placeholder = master.DetailPlaceHolders.Items.Single();

            Assert.AreEqual(1, master.DetailPlaceHolders.Items.Count());
            Assert.AreEqual("DetailDocuments/25", placeholder.DocKey);
            Assert.AreEqual("Cheetos", placeholder.Data.Name);
        }
 private static void AssertPointIdKeyAndName(MasterDocument master)
 {
     var placeHolder = master.PeerDocumentPlaceHolder;
     Assert.IsNotNull((placeHolder));
     Assert.AreEqual("PeerDocuments/100", placeHolder.DocKey);
     Assert.AreEqual(100, placeHolder.DocId);
     Assert.AreEqual("Frank", placeHolder.Data.Name);
 }
        public static ListItemCollection GetMasterDocuments(List <KeyValuePair <string, string> > list)
        {
            // When using For Each Need to create initial builder with value
            CAML.QueryBuilder.CAMLQueryGenericFilter filterAll = new CAML.QueryBuilder.CAMLQueryGenericFilter("ACTIVITY_STATUS", CAML.QueryBuilder.FieldType.Boolean, "1", CAML.QueryBuilder.QueryType.Equal);
            CAML.QueryBuilder.CAMLQueryBuilder       builder   = new CAML.QueryBuilder.CAMLQueryBuilder(filterAll);

            foreach (KeyValuePair <string, string> kvp in list)
            {
                if (!string.IsNullOrEmpty(kvp.Value))
                {
                    CAML.QueryBuilder.FieldType       fieldType = MasterDocument.GetFieldTypeByFieldName(kvp.Key);
                    CAML.QueryBuilder.CAMLQueryFilter filter;
                    switch (fieldType)
                    {
                    case CAML.QueryBuilder.FieldType.Lookup:
                        int  intValue = int.MinValue;
                        bool isInt    = int.TryParse(kvp.Value, out intValue);
                        if (isInt)
                        {
                            filter = new CAML.QueryBuilder.CAMLQueryLookupFilter(kvp.Key, intValue, CAML.QueryBuilder.QueryType.Equal);
                            builder.ANDFilter(filter);
                        }
                        else
                        {
                            filter = new CAML.QueryBuilder.CAMLQueryLookupFilter(kvp.Key, kvp.Value, CAML.QueryBuilder.QueryType.Equal);
                            builder.ANDFilter(filter);
                        }

                        break;

                    default:
                        filter = new CAML.QueryBuilder.CAMLQueryGenericFilter(kvp.Key, fieldType, kvp.Value, CAML.QueryBuilder.QueryType.Equal);
                        builder.ANDFilter(filter);
                        break;
                    }
                }
            } // foreach

            builder.DocumentFilter(CAML.QueryBuilder.FSObjType.Document, true);

            builder.AddViewFields(MasterDocument.GetAllFieldNames());

            builder.BuildQuery();
            builder.OrderBy("Created", false);
            builder.BuildViewFields();

            CamlQuery camlQuery = new CamlQuery();

            camlQuery.ViewXml = builder.ToString();

            ClientContext ctx = ConnectToSharePoint();

            List spList = ctx.Web.Lists.GetByTitle("MasterDocuments");

            ctx.Load(spList);
            ctx.ExecuteQuery();

            if (spList != null && spList.ItemCount > 0)
            {
                ListItemCollection listItems = spList.GetItems(camlQuery);
                ctx.Load(listItems);
                ctx.ExecuteQuery();

                // ctx.Dispose();

                return(listItems);
            }
            else
            {
                return(null);
            }
        }