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