public ResponseObjectPackage<Form> BuildForm(int formID) { FormModel formModel = new ControlPropertiesLogic().GetFormByID(formID).GetDataOrExceptionIfError(); Dictionary dictionary = null; if (formModel.dictionaryID.HasValue) { dictionary = new DictionariesLogic().GetDictionaryViewModel(formModel.dictionaryID.Value).GetDataOrExceptionIfError(); } List<int> queryIDs = new ControlPropertiesLogic().GetControlQueryMappingByFormID(formID).GetDataOrExceptionIfError() .Select(e => e.queryID).Distinct().ToList(); Control window = new ControlPropertiesLogic().BuildWindow(formID).GetDataOrExceptionIfError(); List<QueryType> queries = new List<QueryType>(); foreach (int queryID in queryIDs) { List<QueryQueryInParameterModel> mapping = new QueryInParametersLogic().GetQueryQueryInParametersByQueryID(queryID).GetDataOrExceptionIfError(); queries.Add(new QueryType() { queryID = queryID, inParametersMapping = mapping }); } List<FormInParameterModel> inParameters = this.GetFormInParametersByFormID(formID).GetDataOrExceptionIfError(); List<FormOutParameterModel> outParameters = this.GetFormOutParametersByFormID(formID).GetDataOrExceptionIfError(); Form form = new Form() { ID = formID, dictionary = dictionary, queries = queries, window = window, inParameters = inParameters, outParameters = outParameters }; return new ResponseObjectPackage<Form>() { resultData = form }; }
public ResponseObjectPackage<Query> GetQueryViewModel(int queryID) { QueryModel query = this.GetQueryByID(queryID).GetDataOrExceptionIfError(); QueryTypeModel queryType = new QueryTypesLogic().GetQueryTypeByID(query.queryTypeID).GetDataOrExceptionIfError(); List<QueryInParameter> inParameters = new QueryInParametersLogic().GetQueryInParametersByQueryTypeID(query.queryTypeID) .GetDataOrExceptionIfError().Select(e => new QueryInParameter(e, null)).ToList(); List<QueryOutParameter> outParameters = new QueryOutParametersLogic().GetQueryOutParametersByQueryTypeID(query.queryTypeID) .GetDataOrExceptionIfError().Select(e => new QueryOutParameter(e, null)).ToList(); Query result = new Query(query, queryType, inParameters, outParameters); return new ResponseObjectPackage<Query>() { resultData = result }; }