public ActionResult <CreateRequestResponseDto> InsertRequest([FromBody] CreateRequestDto req) { if (ModelState.IsValid) { var validatedAddress = _geoCodeBll.ValidateAddress(_mapper.Map <GeoQuery>(req)); if (validatedAddress.ConfidenceLevel == ConfidenceLevel.High) { var request = _mapper.Map <Request>(req); request.Zip = validatedAddress.Zip; request.City = validatedAddress.City; request.Street = validatedAddress.Street; request.Longitude = validatedAddress.Coordinates.Longitude; request.Latitude = validatedAddress.Coordinates.Latitude; request.Status = Models.Request.RequestStatus.Open; var id = _requestBll.CreateRequest(request); return(CreatedAtAction(nameof(GetById), new { id }, new CreateRequestResponseDto { Id = id })); } else { return(new ContentResult { StatusCode = 424, Content = $"Status Code: {424}; FailedDependency; Address is invalid", ContentType = "text/plain", }); } } else { return(BadRequest(ModelState)); } }
public string Post([FromBody] CreateRequestDto value) { _logger.LogDebug("Create Request: " + JsonConvert.SerializeObject(value)); var workerIdStr = User.Claims.FirstOrDefault(c => c.Type == "WorkerId")?.Value; int.TryParse(workerIdStr, out int workerId); return(RequestService.CreateRequest(workerId, value.Phone, value.Name, value.AddressId, value.TypeId, value.MasterId, value.ExecuterId, value.Description, value.IsChargeable ?? false, value.ExecuteDate, value.WarrantyId ?? 0)); }
/// <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}"); } }