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); }
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); }
public void Should_set_pointer_id_and_key_on_collection() { DetailDocument detail; MasterDocument master = Helpers.BuildSimpleMasterAndDetail(out detail); AssertPointIdAndKeyOnCollection(master); }
CreateOrUpdateMasterDocument([FromBody] MasterDocument masterDocument, string rev = null) { return(Task.FromResult(new DocumentReference() { DocumentId = masterDocument.DocumentId, Revisionid = masterDocument.Revisionid, })); }
public void Should_serialize_collection_pointers() { DetailDocument detail; MasterDocument master = Helpers.BuildSimpleMasterAndDetail(out detail); MasterDocument master2 = Helpers.SerializeCopyWithJSON(master); AssertPointIdAndKeyOnCollection(master2); }
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); }
public void Should_serialize_peer_pointers() { MasterDocument master; Helpers.BuildSimpleMasterAndPeer(out master); MasterDocument master2 = Helpers.SerializeCopyWithJSON(master); AssertPointIdKeyAndName(master2); }
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); }
public static string IdToMasterPartitionId(this string id) { if (id.StartsWith("prisk:")) { return(RiskPassword.PartitionIdFormat(new MasterDocument.IdKey())); } else { return(MasterDocument.PartitionIdFormat(new MasterDocument.IdKey())); } }
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())); } }
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(); }
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); } }