//Data Creator Classes public static GetWebsiteDataResponseModel GetBaseClassData(GetPageDataRequest pageDataRequest) { string websiteId = pageDataRequest.WebsiteId; string userId = pageDataRequest.UserId; string filePath = pageDataRequest.SourcePath.Split('?')[0]; ObjectReference refObject = GetMetadataReferenceObject(pageDataRequest.ProjectId, filePath, pageDataRequest.SchemaName, websiteId, userId); if (refObject == null) { throw new ArgumentNullException(nameof(refObject)); } if (_kitsuneSchemaServer == null || _kitsuneServer == null) { InitializeConnection(); } var dataResult = new List <object>(); try { string baseClassName = refObject.name.ToLower(); var collectionName = GenerateBaseClassName(baseClassName); var collection = _kitsuneSchemaDatabase.GetCollection <BsonDocument>(collectionName); string filter = String.Format("{{userid : '{0}', websiteid : '{1}', isarchived : false}}", userId, websiteId); var result = collection.Find(filter).FirstOrDefault(); BsonDocument resultDocument = new BsonDocument(); if (result != null) { GetResultDocument(baseClassName, websiteId, null, result, refObject.properties, resultDocument, pageDataRequest.CurrentPageNumber); resultDocument.Remove(COLLECTION_KEY_ID); dataResult.Add(BsonSerializer.Deserialize <object>(resultDocument)); } var response = new GetWebsiteDataResponseModel { Data = dataResult }; return(response); } catch (Exception ex) { throw ex; } }
public IActionResult GetPageData([FromRoute] string schemaname, [FromQuery] string websiteId, [FromQuery] string projectId, [FromQuery] string filePath, [FromQuery] string currentPageNumber) { try { var requestModel = new GetPageDataRequest { ProjectId = projectId, SourcePath = filePath, WebsiteId = websiteId, SchemaName = schemaname, CurrentPageNumber = currentPageNumber }; var userId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(userId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } else { requestModel.UserId = userId; } var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(BadRequest(validationResult)); } var result = MongoConnector.GetBaseClassData(requestModel); return(Ok(result)); } catch (Exception ex) { return(BadRequest(ex)); } }