/// <summary> /// sample: { "entity": { "entity_type": "Request", "properties": { "ImpactScope": "Enterprise", "Urgency": "NoDisruption", "RequestedByPerson": "10016", "RequestsOffering": "11428", "DisplayLabel": "Request from Postman", "Description": "<p>This is a request created from Postman</p>", "UserOptions": "{"complexTypeProperties":[{"properties":{"OptionSet5FCCC5624DDDBA17DA397224C5D4ED0B_c":{"Option55F063755603608CB8287224C5D426DE_c":true},"OptionSetB9C2FB0D304A86418C651492D37A5E72_c":{"Option90AB77B8232585150B951492D37AE403_c":true},"changedUserOptionsForSimulation":"EndDate&","PropertyamazonResourceProvider55F063755603608CB8287224C5D426DE_c":"8a809efe73146d590173147b4a954cfc","Propertyregion55F063755603608CB8287224C5D426DE_c":"eu-west-1","PropertyPlatformType55F063755603608CB8287224C5D426DE_c":"Amazon Linux#eu-west-1","Propertykeypair55F063755603608CB8287224C5D426DE_c":"FARM-1-0d7bdb2a","PropertyvpcId55F063755603608CB8287224C5D426DE_c":"eu-west-1#vpc-017f010990ed442ce","Propertyimage55F063755603608CB8287224C5D426DE_c":"ami-0093757e056f6fe96","PropertysubnetId55F063755603608CB8287224C5D426DE_c":"subnet-0dcd276d74eb84059"}}]}", "DataDomains": [ "Public" ], "StartDate": 1596664800000, "EndDate": 1599170400000, "RequestAttachments": "{"complexTypeProperties":[]}" } }, "operation": "CREATE" } /// </summary> /// <param name="createNewRequestDto">The response of the API please check the status provided at "completion_status" node</param> /// <returns></returns> public Task <CreateRequestResponse> CreateRequest(CreateRequestPropertiesDto createNewRequestDto) { try { if (createNewRequestDto == null) { throw new ArgumentException( "Please check the create NewRequest Dto object properties. Object can not be null or empty"); } var data = new CreateRequestEntity { entity_type = BulkEntityConst.Request, properties = new CreateRequestProperties { Description = createNewRequestDto.Description, DisplayLabel = createNewRequestDto.DisplayLabel, StartDate = GetTotalMillisecondsFromDateTime(createNewRequestDto.StartDate), EndDate = createNewRequestDto.EndDate.HasValue ? GetTotalMillisecondsFromDateTime(createNewRequestDto.EndDate.Value) : null as long?, RequestedByPerson = createNewRequestDto.RequestedByPerson, RequestsOffering = createNewRequestDto.RequestsOffering, ImpactScope = BulkImpactScopeConst.Enterprise, Urgency = BulkUrgencyConst.NoDisruption, //UserOptions = createNewRequestDto.entity.properties.UserOptions != null ? createNewRequestDto.entity.properties.UserOptions : new UserOptionsDto{complexTypeProperties = new List<Complextypeproperty>()}, UserOptions = createNewRequestDto.UserOptions, DataDomains = new List <string> { BulkDataDomainsConst.Public }, RequestAttachments = createNewRequestDto.RequestAttachments } }; var request = new CreateRequestDto { operation = BulkOperationConst.Create, entities = new List <CreateRequestEntity> { data } }; return(SendSmaxHcm <CreateRequestResponse>(HttpMethod.Post, string.Format(SmaxHcmEndpointConst.CreateRequest, SmaxHcmOptions.TenantId), request)); } catch (Exception ex) { throw new SmaxHcmGenericException($"Error on creating request - {ex.Message}"); } }
public async Task <IActionResult> CreateRequest(CreateRequestPropertiesDto createNewRequestDto) { Devon4NetLogger.Debug("Executing CreateRequest from controller SmaxHcm"); return(Ok(await SmaxHcmHandler.CreateRequest(createNewRequestDto))); }