public IActionResult GetObjectDefinitions() { IActionResult result; ServiceModels.ObjectDefinitions response = new ServiceModels.ObjectDefinitions(); string rootUrl = Request.GetRootUrl(); response.AddLink("add", string.Concat(rootUrl, "/objecttypes/definitions"), null); int organisationID = User.GetOrganisationID(); List <Model.ObjectDefinition> objectDefinitions = BusinessLogicFactory.ObjectDefinitions.GetObjectDefinitions(organisationID); response.PageInfo = Request.GetPageInfo(objectDefinitions.Count); int endIndex = response.PageInfo.StartIndex + response.PageInfo.ItemsCount; for (int index = response.PageInfo.StartIndex; index < endIndex; index++) { ServiceModels.ObjectDefinition objectDefinition = new ServiceModels.ObjectDefinition(objectDefinitions[index]); if (organisationID == 0) { objectDefinition.AddSelfLink(string.Concat(rootUrl, "/objecttypes/definitions/", objectDefinition.ObjectDefinitionID), true, true); } else { objectDefinition.AddSelfLink(string.Concat(rootUrl, "/objecttypes/definitions/", objectDefinition.ObjectDefinitionID), objectDefinitions[index].OrganisationID.HasValue, objectDefinitions[index].OrganisationID.HasValue); } response.Add(objectDefinition); } result = Request.GetObjectResult(response); return(result); }
private IActionResult AddObjectDefinitions(ServiceModels.ObjectDefinitions objectDefinitions) { IActionResult result; if (objectDefinitions == null || objectDefinitions.Items == null) { result = new BadRequestResult(); } else { List <Model.ObjectDefinition> items = new List <Model.ObjectDefinition>(); foreach (ServiceModels.ObjectDefinition item in objectDefinitions.Items) { Model.ObjectDefinition objectDefinition = item.ToModel(); objectDefinition.OrganisationID = User.GetOrganisationID(); items.Add(objectDefinition); } try { BusinessLogicFactory.ObjectDefinitions.SaveObjectDefinitions(items, Model.TObjectState.Add); string rootUrl = Request.GetRootUrl(); ResourcesCreated response = new ResourcesCreated(); foreach (Model.ObjectDefinition item in items) { ResourceCreated resourceCreated = new ResourceCreated(); resourceCreated.ID = StringUtils.GuidEncode(item.ObjectDefinitionID); resourceCreated.AddSelfLink(string.Concat(rootUrl, "/objecttypes/definitions/", resourceCreated.ID), false, false); response.Add(resourceCreated); } result = Request.GetObjectResult(response, System.Net.HttpStatusCode.Created); } catch (ConflictException) { result = new StatusCodeResult((int)HttpStatusCode.Conflict); } } return(result); }
public IActionResult AddObjectDefinitions() { IActionResult result; try { if (Request.ContentType.StartsWith(typeof(ServiceModels.ObjectDefinitions).GetContentType())) { ServiceModels.ObjectDefinitions objectDefinitions = Request.Deserialise <ServiceModels.ObjectDefinitions>(); result = AddObjectDefinitions(objectDefinitions); } else { ObjectDefinition objectDefinition = Request.Deserialise <ObjectDefinition>(); result = AddObjectDefinition(objectDefinition); } } catch (BadRequestException) { result = new BadRequestResult(); } return(result); }
public IActionResult GetObjectDefinitions() { IActionResult result; ServiceModels.ObjectDefinitions response = new ServiceModels.ObjectDefinitions(); string rootUrl = Request.GetRootUrl(); response.AddLink("add", string.Concat(rootUrl, "/objecttypes/definitions"), null); int organisationID = User.GetOrganisationID(); List<Model.ObjectDefinition> objectDefinitions = BusinessLogicFactory.ObjectDefinitions.GetObjectDefinitions(organisationID); response.PageInfo = Request.GetPageInfo(objectDefinitions.Count); int endIndex = response.PageInfo.StartIndex + response.PageInfo.ItemsCount; for (int index = response.PageInfo.StartIndex; index < endIndex; index++) { ServiceModels.ObjectDefinition objectDefinition = new ServiceModels.ObjectDefinition(objectDefinitions[index]); if (organisationID == 0) objectDefinition.AddSelfLink(string.Concat(rootUrl, "/objecttypes/definitions/", objectDefinition.ObjectDefinitionID), true, true); else objectDefinition.AddSelfLink(string.Concat(rootUrl, "/objecttypes/definitions/", objectDefinition.ObjectDefinitionID), objectDefinitions[index].OrganisationID.HasValue, objectDefinitions[index].OrganisationID.HasValue); response.Add(objectDefinition); } result = Request.GetObjectResult(response); return result; }