public async Task SaveAsync(Policy policy) { var org = await _organizationRepository.GetByIdAsync(policy.OrganizationId); if (org == null) { throw new BadRequestException("Organization not found"); } if (!org.UsePolicies) { throw new BadRequestException("This organization cannot use policies."); } if (policy.Id == default(Guid)) { policy.CreationDate = policy.RevisionDate = DateTime.UtcNow; await _policyRepository.CreateAsync(policy); await _eventService.LogPolicyEventAsync(policy, Enums.EventType.Policy_Created); } else { policy.RevisionDate = DateTime.UtcNow; await _policyRepository.ReplaceAsync(policy); await _eventService.LogPolicyEventAsync(policy, Enums.EventType.Policy_Updated); } }
public async Task <StatusCodeResult> Create([FromBody] PolicyViewModel viewModel) { if (await _service.CreateAsync(viewModel.ToModel()) == 1) { return(StatusCode((int)HttpStatusCode.OK)); } else { return(StatusCode((int)HttpStatusCode.ExpectationFailed)); } }