示例#1
0
        public async Task <OpportunityAuthResponse> Create(OpportunityCreateRequest request, IUser user)
        {
            var toSave = _mapper.Map <Opportunity>(request);

            toSave.OpportunityUser.Add(new OpportunityUser {
                UserId = user.Id
            });
            toSave.Agency = user.Agency;
            if (request.IsPosting)
            {
                toSave.PublishedAt = DateTime.UtcNow;
            }
            var saved = await _opportunityService.Create(toSave, user);

            if (request.IsPosting)
            {
                if (user.EmailVerified == false)
                {
                    throw new UnauthorizedAccessException();
                }
                toSave.PublishedAt = DateTime.UtcNow;
                saved = await _opportunityService.Update(toSave, user);
            }
            var result = _mapper.Map <OpportunityAuthResponse>(saved);

            return(result);
        }
        public IActionResult Create([FromBody] Opportunity opportunityIn)
        {
            Opportunity opportunityToCreate = _opportunitiesService.Create(opportunityIn);

            return(CreatedAtRoute(
                       routeName: "GetOpportunityById",
                       routeValues: new { id = opportunityToCreate.Id.ToString() },
                       value: opportunityToCreate));
        }