//public List<User> Users { get; set; } //public List<Project> Projects { get; set; } public static CompanyVm Map(Core.Model.Company comp) => new CompanyVm() { Id = comp.Id, Name = comp.Name, Status = comp.Status };
public async Task <string> Register(RegisterModel registerModel) { if (await _companyRepository.IsNameDuplicate(registerModel.CompanyName)) { throw new Exception($"'{registerModel.CompanyName}' already exists. Please choose a different name."); } var company = new Core.Model.Company(registerModel.CompanyName); _companyRepository.Add(company); await _companyRepository.SaveChanges(); var user = new Core.Model.User(company, registerModel.Email, registerModel.Username); var identityResult = await userManager.CreateAsync(user, registerModel.Password); if (identityResult.Succeeded) { await signInManager.SignInAsync(user, isPersistent : false); return(GetToken(user)); } else { _companyRepository.Remove(company); await _companyRepository.SaveChanges(); throw new Exception(identityResult?.Errors?.First()?.Description); } }
public async Task <string> Create(CreateCompanyVm vm) { if (await _companyRepository.IsNameDuplicate(vm.Name)) { throw new Exception($"'{vm.Name}' already exists. Please choose a different name."); } var company = new Core.Model.Company(vm.Name); _companyRepository.Add(company); await _companyRepository.SaveChanges(); return(company.Id); }
public void Add(Core.Model.Company company) => _companies.Add(company);
public void Remove(Core.Model.Company company) => _companies.Remove(company);