public async Task <IHttpActionResult> SetPolicyOption(long id, [FromBody] PolicyOptionDTO options) { long?tokenId = User.Identity.GetPolicyIdFromToken(); if (tokenId != id) { return(Unauthorized()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { Policy policy = await _serviceFactory.GetPolicyService().SetPolicyOption(id, options); return(Ok(_serviceFactory.GetPolicyService().ConvertToDto(policy))); } catch (BadRequestException) { return(BadRequest()); } catch (Exception) { return(NotFound()); } }
public async Task <Policy> SetPolicyOption(long policyId, PolicyOptionDTO option) { if (option == null) { throw new BadRequestException(); } using (InsuranceDbContext context = ContextFactory.CreateContext()) { Policy policy = await FetchPolicy(context, policyId, true); if (policy.Option == null) { await CalculatePolicyOption(policy); } policy.Option = CreatePolicyOptionFromCoverOption(policy.Option, option); policy.Option = await CalculatePolicyOption(policy); await context.SaveChangesAsync(); return(policy); } }
/// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='id'> /// </param> /// <param name='options'> /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <PolicyDTO> SetPolicyOptionAsync(this IPolicies operations, long?id, PolicyOptionDTO options, CancellationToken cancellationToken = default(CancellationToken)) { HttpOperationResponse <PolicyDTO> result = await operations.SetPolicyOptionWithHttpMessagesAsync(id, options, null, cancellationToken).ConfigureAwait(false); return(result.Body); }
/// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='id'> /// </param> /// <param name='options'> /// </param> public static PolicyDTO SetPolicyOption(this IPolicies operations, long?id, PolicyOptionDTO options) { return(Task.Factory.StartNew(s => ((IPolicies)s).SetPolicyOptionAsync(id, options), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult()); }
private PolicyOption CreatePolicyOptionFromCoverOption(PolicyOption option, PolicyOptionDTO optionDto) { option.AgreedValue = optionDto.AgreedValue; return(option); }