public void WhenIBuildTheExpectedResponseForItem(int p0) { bool singleResponse = (string)context[constants.responseScope] == constants.resultSingle; string json = ""; if (singleResponse) { string uri = context.GetUri(p0 - 1); _DataItem requestedItem = context.GetDataItems()[p0 - 1]; json = JsonConvert.SerializeObject(requestedItem.model); json = AddLinksToJson(json, requestedItem); } else { JArray newArray = new JArray(); string jsonItem = ""; // assume for now that all data items are of the requested type foreach (var item in context.GetDataItems()) { jsonItem = JsonConvert.SerializeObject(item.model); //TODO remove properties that aren't in expected summary //FORNOW assume it is going to be a sharecontent item and just remove "content" jsonItem = JsonHelper.RemovePropertyFromJsonString(jsonItem, "Content"); newArray.Add(new JObject(JObject.Parse(jsonItem))); } json = newArray.ToString(); } context["expectedResult"] = json; }
public void GivenICreateAnItemOfInTheGraphRelatedByToItemWithTheFollowingData(string type, string graph, string relationship, int itemRef, Table dataTable) { // assume non zero based index is supplied string contentTypeName = context.ReplaceTokensInString(type); var item = InsertSharedContent(contentTypeName, dataTable, graph); _DataItem parentItem = context.GetDataItems()[itemRef - 1]; AddRelationship(context.GetUri(itemRef - 1), context.GetLatestUri(), relationship, graph); context.RelateDataItems(itemRef - 1, context.GetNumberOfStoredUris() - 1, item.Title, relationship); }
public static void TestHNLYFLKToMes() { MessageSerialXml messageSerialXml = new MessageSerialXml(); MessageSerialXml obj = new MessageSerialXml(); _FieldItem[] headFieldItems = new _FieldItem[7]; for (int i = 0; i < 7; i++) { headFieldItems[i] = new _FieldItem(); } #region 添加头部headFieldItems信息 headFieldItems[0].isPrimaryKey = "True"; headFieldItems[0].Remark = "必传(外键,复合主键)"; headFieldItems[0].FieldLength = "30"; headFieldItems[0].FieldType = "CHAR"; headFieldItems[0].Caption = "工单号"; headFieldItems[0].FieldName = "WO_NO"; headFieldItems[1].isPrimaryKey = "False"; headFieldItems[1].Remark = "必传(格式:yyyy-MM-dd)"; headFieldItems[1].FieldLength = "19"; headFieldItems[1].FieldType = "DATE"; headFieldItems[1].Caption = "生产日期"; headFieldItems[1].FieldName = "PRODUCTION_DATE"; headFieldItems[2].isPrimaryKey = "False"; headFieldItems[2].Remark = "必传(1:夜,2:白,3:中)"; headFieldItems[2].FieldLength = "25"; headFieldItems[2].FieldType = "CHAR"; headFieldItems[2].Caption = "班次"; headFieldItems[2].FieldName = "SHIFT_CD"; headFieldItems[3].isPrimaryKey = "False"; headFieldItems[3].Remark = "必传(1:甲,2:乙,3:丙,4:丁)"; headFieldItems[3].FieldLength = "25"; headFieldItems[3].FieldType = "CHAR"; headFieldItems[3].Caption = "班组"; headFieldItems[3].FieldName = "TEAM_CD"; headFieldItems[4].isPrimaryKey = "False"; headFieldItems[4].Remark = "必传"; headFieldItems[4].FieldLength = "25"; headFieldItems[4].FieldType = "CHAR"; headFieldItems[4].Caption = "机台"; headFieldItems[4].FieldName = "MACHINE_CD"; headFieldItems[5].isPrimaryKey = "False"; headFieldItems[5].Remark = "必传"; headFieldItems[5].FieldLength = "25"; headFieldItems[5].FieldType = "CHAR"; headFieldItems[5].Caption = "牌号"; headFieldItems[5].FieldName = "MAT_CD"; headFieldItems[6].isPrimaryKey = "False"; headFieldItems[6].Remark = "必传(格式:yyyy-MM-dd hh24:mi:ss)"; headFieldItems[6].FieldLength = "19"; headFieldItems[6].FieldType = "DATE"; headFieldItems[6].Caption = "工单开始时间"; headFieldItems[6].FieldName = "WO_START_DATETIME"; #endregion obj.Head = new _Head(); obj.Head.DataDefine = new _DataDefine(); obj.Head.DataDefine.TableSet = new _Table[1]; obj.Head.DataDefine.TableSet[0] = new _Table(); obj.Head.DataDefine.TableSet[0].FieldItemSet = headFieldItems; _DataItem[] dataFieldItems = new _DataItem[7]; for (int i = 0; i < 7; i++) { dataFieldItems[i] = new _DataItem(); } #region 添加数据dataFieldItems dataFieldItems[0].FieldName = "MACHINE_CD"; dataFieldItems[0].FieldValue = ""; dataFieldItems[1].FieldName = "MAT_CD"; dataFieldItems[1].FieldValue = ""; dataFieldItems[2].FieldName = "PRODUCTION_DATE"; dataFieldItems[2].FieldValue = ""; dataFieldItems[3].FieldName = "WO_NO"; dataFieldItems[3].FieldValue = ""; dataFieldItems[4].FieldName = "TEAM_CD"; dataFieldItems[4].FieldValue = ""; dataFieldItems[5].FieldName = "SHIFT_CD"; dataFieldItems[5].FieldValue = ""; dataFieldItems[6].FieldName = "WO_END_DATETIME"; dataFieldItems[6].FieldValue = ""; dataFieldItems[6].FieldName = "WO_START_DATETIME"; dataFieldItems[6].FieldValue = ""; #endregion obj.Data = new _Data(); obj.Data.DataTableSet = new _DataTable[1]; obj.Data.DataTableSet[0] = new _DataTable(); obj.Data.DataTableSet[0].RowSet = new _Row[1]; obj.Data.DataTableSet[0].RowSet[0] = new _Row(); obj.Data.DataTableSet[0].RowSet[0].Header = new _Header(); obj.Data.DataTableSet[0].RowSet[0].Header.DataItemSet = dataFieldItems; obj.Head.InterfaceCode = "HNZY_ESB_AYMES_JBSC_SCGL_GDKS"; obj.Head.InterfaceDescription = "工单开始"; obj.Head.MsgID = "CC14702D-B610-470D-B267-4474A5D8D7DD"; obj.Head.Source = "AYJBSC"; obj.Head.MsgMark = "HNZY_ESB_AYMES_JBSC"; obj.Head.WsMethod = "JBSC_SCGL_GDKS"; obj.Head.Date = DateTime.Now.ToString(); obj.Head.User = "******"; obj.Head.StateCode = "600"; obj.Head.StateDesription = "正常发送"; var reqXml = (new XMLUtils()).serialXml <MessageSerialXml>(obj); Console.WriteLine("<Result:"); Console.WriteLine(reqXml); }
public string AddLinksToJson(string json, _DataItem item) { int count = item.Uri.Count(f => f == '/'); string curie = GetNth(item.Uri, '/', count - 1); string id = item.Uri.Substring(item.Uri.LastIndexOf("/") + 1); JObject linkDetails = new JObject(); var groups = item.linkedItems.Select(x => x.RelationshipType) .GroupBy(r => r) .Select(g => new { Name = g.Key.ToString(), Count = g.Count() }) .OrderBy(o => o.Name); if (groups.Count() > 0) { linkDetails.Add(new JProperty("self", item.Uri)); linkDetails.Add(new JProperty("curies", new JArray( new JObject( new JProperty("name", "cont"), new JProperty("href", curie) ) ) ) ); } foreach (var group in groups) { bool asArray = group.Count > 1; JContainer groupMembers = linkDetails; if (asArray) { groupMembers = new JArray(); } foreach (var linkItem in item.linkedItems.Where(x => x.RelationshipType == group.Name).OrderByDescending(x => x.Title)) { JObject link = new JObject( new JProperty("href", linkItem.RelatedItem.Uri.Replace(curie, string.Empty)), new JProperty("title", linkItem.Title), new JProperty("contentType", linkItem.RelatedItem.TypeName) ); if (asArray) { groupMembers.Add(link); } else { groupMembers.Add(new JProperty($"cont:{linkItem.RelationshipType}", link)); } } if (asArray) { linkDetails.Add(new JProperty($"cont:{group.Name}", groupMembers)); } } json = JsonHelper.AddPropertyToJsonString(json, "id", id); json = JsonHelper.AddPropertyToJsonString(json, "_links", linkDetails); return(json); }