public async Task <UserDTO> Register(NewUserDTO creatingUser) { var userSN = new NewUserSocialNetworkDTO() { UId = creatingUser.UId, ProviderName = creatingUser.ProviderName, SocialNetworkUrl = creatingUser.ProviderUrl, }; var user = _mapper.Map <User>(creatingUser); user.CreatedAt = DateTime.Now; _context.Add(user); await _context.SaveChangesAsync(); var userDto = _mapper.Map <UserDTO>(user); userSN.UserId = userDto.Id; var userSNEntity = _mapper.Map <UserSocialNetwork>(userSN); _context.Add(userSNEntity); await _context.SaveChangesAsync(); var emailModel = _emailBuilder.GetSignUpLetter(creatingUser.Email, creatingUser.FirstName); await _emailService.SendEmailAsync(new List <string> { emailModel.Email }, emailModel.Subject, emailModel.Title, emailModel.Body); return(_mapper.Map <UserDTO>(user)); }
public async Task <UserDTO> Register(NewUserDTO creatingUser) { var userSNEntity = new UserSocialNetwork() { UId = creatingUser.UId, ProviderName = creatingUser.ProviderName, SocialNetworkUrl = creatingUser.ProviderUrl, }; var user = _mapper.Map <User>(creatingUser, opt => opt.AfterMap((src, dst) => { dst.CreatedAt = DateTime.Now; dst.UserSocialNetworks = new List <UserSocialNetwork> { userSNEntity }; })); _context.Add(user); await _context.SaveChangesAsync(); var emailModel = _emailBuilder.GetSignUpLetter(creatingUser.Email, creatingUser.FirstName); await _emailService.SendEmailAsync(new List <string> { emailModel.Email }, emailModel.Subject, emailModel.Title, emailModel.Body); return(_mapper.Map <UserDTO>(user)); }
public async Task <ProjectRemoteTriggerDTO> CreateProejectTrigger(NewProjectRemoteTriggerDTO triggerDTO) { if (triggerDTO == null) { throw new NullDTOException(typeof(NewProjectRemoteTriggerDTO)); } var project = await _context.Projects.FirstOrDefaultAsync(p => p.Id == triggerDTO.ProjectId); if (project == null) { throw new NotFoundException("Project", triggerDTO.ProjectId); } var trigger = _mapper.Map <ProjectRemoteTrigger>(triggerDTO); _context.Add(trigger); await _context.SaveChangesAsync(); return(_mapper.Map <ProjectRemoteTriggerDTO>(trigger)); }
public async Task <BuildHistory> PrepareBuild(int projectId, string buildAuthorUsername, string triggeredBranch) { var user = await GetUserByUsername(buildAuthorUsername); var build = new BuildHistory(); build.ProjectId = projectId; build.PerformerId = user?.Id; build.BuildStatus = BuildStatus.Pending; build.StartedAt = DateTime.Now; build.Number = _context.BuildHistories.Count(b => b.ProjectId == projectId) + 1; var lastCommit = await _synchronizationService.GetLastProjectCommit(projectId, triggeredBranch); build.CommitHash = lastCommit.Hash; _context.Add(build); await _context.SaveChangesAsync(); return(build); }