コード例 #1
0
 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));
     }
 }
コード例 #2
0
        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));
        }
コード例 #3
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}");
            }
        }