/// <summary> /// Serialises all properties. The output will be a dictionary containing the /// objects properties in a form that can easily be converted to Json. /// </summary> /// /// <returns>The serialised object in dictionary form.</returns> public IDictionary <string, object> Serialise() { var dictionary = new Dictionary <string, object>(); // State Data if (StateData != null) { dictionary.Add("StateData", StateData.Serialise()); } // Completed if (Completed != null) { dictionary.Add("Completed", Completed); } // Outcome Data if (OutcomeData != null) { dictionary.Add("OutcomeData", OutcomeData.Serialise()); } // Outcome Attachment if (OutcomeAttachment != null) { dictionary.Add("OutcomeAttachment", OutcomeAttachment); } return(dictionary); }
public DeclarationTestItem CreateDeclarationTestItem(IDictionary <string, string> dataList, Guid id, List <DeclarationIndicatorGroup> indicatorList) { var declarationTestItem = new DeclarationTestItem { Id = id, SupplierAndVersionId = GetAnswerFromInt(dataList, "answer_int_supplierandversion"), SupplierAndVersionOther = GetAnswerFromString(dataList, "answer_string_testitem_supplierandversionother"), DescriptionInText = GetAnswerFromString(dataList, "answer_string_testitem_descriptionintext"), Image1Id = GetAnswerFromImage(dataList, "answer_image_testitem_image1"), Image2Id = GetAnswerFromImage(dataList, "answer_image_testitem_image2") }; var outcomeDataList = new List <OutcomeData>(); foreach (var declarationTestGroup in indicatorList.OrderBy(x => x.TestGroupOrder).ThenBy(x => x.IndicatorInTestGroupOrder)) { var indicator = declarationTestGroup.IndicatorItem; var outcomeData = new OutcomeData { Id = Guid.NewGuid(), IndicatorItemId = indicator.Id, RuleDataList = new List <RuleData>(), DeclarationTestItemId = id }; foreach (var ruleItem in indicator.RuleList.OrderBy(x => x.Order)) { outcomeData.RuleDataList.Add(new RuleData { Id = Guid.NewGuid(), RuleItemId = ruleItem.Id, AnswerDataList = ruleItem.AnswerList.OrderBy(x => x.Order).Select(x => new AnswerData { Id = Guid.NewGuid(), AnswerItemId = x.Id, TypeOfAnswerId = x.TypeOfAnswerId, String = GetAnswerFromString(dataList, $"answer_string_{indicator.Id}_{ruleItem.Id}_{x.Id}"), Bool = GetAnswerFromBool(dataList, $"answer_bool_{indicator.Id}_{ruleItem.Id}_{x.Id}"), Int = GetAnswerFromInt(dataList, $"answer_int_{indicator.Id}_{ruleItem.Id}_{x.Id}"), ImageId = GetAnswerFromImage(dataList, $"answer_image_{indicator.Id}_{ruleItem.Id}_{x.Id}") }).ToList() }); } outcomeDataList.Add(outcomeData); } declarationTestItem.OutcomeDataList = outcomeDataList; return(declarationTestItem); }
/// <summary> /// Serialises all body properties. The output will be a dictionary containing the /// body of the request in a form that can easily be converted to Json. Will return /// an empty dictionary if there is no body. /// </summary> /// /// <returns>The body Json in dictionary form.</returns> public IDictionary <string, object> SerialiseBody() { var dictionary = new Dictionary <string, object>(); // Match Id dictionary.Add("MatchID", MatchId); // State Data if (StateData != null) { dictionary.Add("StateData", StateData.Serialise()); } // Turn Data if (TurnData != null) { dictionary.Add("TurnData", TurnData.Serialise()); } // Write Lock if (WriteLock != null) { dictionary.Add("WriteLock", WriteLock); } // Completed if (Completed != null) { dictionary.Add("Completed", Completed); } // Outcome Data if (OutcomeData != null) { dictionary.Add("OutcomeData", OutcomeData.Serialise()); } // Outcome Attachment if (OutcomeAttachment != null) { dictionary.Add("OutcomeAttachment", OutcomeAttachment); } return(dictionary); }
/// <summary> /// Serialises all properties. The output will be a dictionary containing the /// objects properties in a form that can easily be converted to Json. /// </summary> /// /// <returns>The serialised object in dictionary form.</returns> public IDictionary <string, object> Serialise() { var dictionary = new Dictionary <string, object>(); // Match Id dictionary.Add("MatchID", MatchId); // Match Type Key dictionary.Add("MatchTypeKey", MatchTypeKey); // State dictionary.Add("State", State); // Write Lock dictionary.Add("WriteLock", WriteLock); // Properties if (Properties != null) { var serialisedProperties = JsonSerialisation.Serialise(Properties, (MultiTypeValue element) => { return(element.Serialise()); }); dictionary.Add("Properties", serialisedProperties); } // State Data if (StateData != null) { dictionary.Add("StateData", StateData.Serialise()); } // Outcome Data if (OutcomeData != null) { dictionary.Add("OutcomeData", OutcomeData.Serialise()); } // Turn Timeout if (TurnTimeout != null) { dictionary.Add("TurnTimeout", TurnTimeout.Serialise()); } // Waiting Timeout if (WaitingTimeout != null) { dictionary.Add("WaitingTimeout", WaitingTimeout.Serialise()); } // Turn Type dictionary.Add("TurnType", TurnType); // Turn Order Type if (TurnOrderType != null) { dictionary.Add("TurnOrderType", TurnOrderType); } // Player Limit if (PlayerLimit != null) { dictionary.Add("PlayerLimit", PlayerLimit); } // Players if (Players != null) { var serialisedPlayers = JsonSerialisation.Serialise(Players, (Player element) => { return(element.Serialise()); }); dictionary.Add("Players", serialisedPlayers); } // Auto Start dictionary.Add("AutoStart", AutoStart); // Is Private dictionary.Add("IsPrivate", IsPrivate); // Turn Number if (TurnNumber != null) { dictionary.Add("TurnNumber", TurnNumber); } // Last Turn if (LastTurn != null) { dictionary.Add("LastTurn", LastTurn.Serialise()); } // Current Turn if (CurrentTurn != null) { dictionary.Add("CurrentTurn", CurrentTurn.Serialise()); } // Created By if (CreatedBy != null) { dictionary.Add("CreatedBy", CreatedBy.Serialise()); } // Date Created dictionary.Add("DateCreated", JsonSerialisation.Serialise(DateCreated)); return(dictionary); }