public async Task <CompanyDTO> PutAsync(CompanyCreateDTO car) { this.Logger.LogTrace($"{nameof(this.PutAsync)} called"); var result = await this.CompanyCreateService.CreateAsync(this.Mapper.Map <CompanyUpdateModel>(car)); return(this.Mapper.Map <CompanyDTO>(result)); }
public async Task <Response <CompanyDTO> > Create(Guid userId, CompanyCreateDTO dto) { var entityCompany = new CompanyModel { Name = dto.Name, Address = dto.Address, CreatedDate = DateTime.UtcNow, CreatorId = userId }; entityCompany = await _repository.Create(entityCompany); await _companiesUsersRepository.AddCompanyUser(entityCompany.Id, userId, MembershipStatus.SuperAdmin); var result = _mapper.Map <CompanyModel, CompanyDTO>(entityCompany); return(new Response <CompanyDTO> { Data = result }); }
public async Task <ActionResult <CompanyDTO> > CreateCompany( [FromBody] CompanyCreateDTO companyCreateDTO) { var company = this.mapper.Map <Company>(companyCreateDTO); this.companyRepository.AddCompany(company); await this.companyRepository.SaveAsync(); var companyDTO = this.mapper.Map <CompanyDTO>(company); var links = this.CreateLinksForCompany(company.Id, null); var shapedCompany = companyDTO.ShapeData(null); shapedCompany.TryAdd("links", links); // CreatedAtRoute 可以在响应的Location头返回一个路由(使用RouteName定义)用于定位新创建的资源 return(this.CreatedAtRoute( nameof(GetCompany), // 匿名类型的成员名称需要与路由模板的参数匹配 new { companyId = company.Id }, shapedCompany)); }
public async Task <Response <CompanyDTO> > CreateCompany(CompanyCreateDTO dto, ClaimsPrincipal claims) { var result = await _service.Create(claims.GetUserId(), dto); return(result); }
public async Task <Response <SignUpStepDTO <CompanyDTO> > > SignUpCompany(CompanyCreateDTO dto, ClaimsPrincipal claims) { var result = await _service.SignUpCompany(claims.GetUserId(), dto); return(result); }
public Task <Response <CompanyDTO> > CreateCompany([Required, FromBody] CompanyCreateDTO dto) { return(_handler.CreateCompany(dto, User)); }
public async Task <Response <SignUpStepDTO <CompanyDTO> > > SignUpCompany(Guid userId, CompanyCreateDTO dto) { var step = await _repository.GetRegistrationStepByUserId(userId); var stepValidate = ValidateStep <CompanyDTO>(step, RegistrationStep.CompanyCreated); if (!stepValidate.IsSuccess) { return(stepValidate); } if (step.Status == MembershipStatus.Member) { return(new ForbiddenErrorResponse <SignUpStepDTO <CompanyDTO> >(new Error { Code = ErrorCodes.Security.Forbidden, Message = ErrorMessages.Security.Forbidden })); } var company = await _companiesService.Create(userId, dto); if (company.IsSuccess) { step = await _repository.SetRegistrationStep(userId, RegistrationStep.CompanyCreated); } return(new Response <SignUpStepDTO <CompanyDTO> > { Data = new SignUpStepDTO <CompanyDTO> { Data = company.Data, RegistrationStep = _mapper.Map <UserRegistrationStepModel, UserRegistrationStepDTO>(step) } }); }
public async Task <Response <SignUpStepDTO <CompanyDTO> > > CreateCompany([Required, FromBody] CompanyCreateDTO dto) { return(await _handler.SignUpCompany(dto, User)); }