public static void SaveCompanyInfo(RegisterCompanyBindingModel registerCompanyModel, string userId) { LoanAndRepayEntities database = new LoanAndRepayEntities(); CompanyInfo companyInfo = new CompanyInfo(); DAL.Address address = new DAL.Address(); if (companyInfo != null) { //First saves the company information in the company table companyInfo.UserId = userId; companyInfo.CompanyName = registerCompanyModel.CompanyName; companyInfo.CVR = registerCompanyModel.CVR; companyInfo.Email = registerCompanyModel.Email; companyInfo.Phone = registerCompanyModel.Phone; database.CompanyInfoes.Add(companyInfo); //Then saves the company address in the address table address.StreetName = registerCompanyModel.StreetName; address.HouseNumber = registerCompanyModel.HouseNumber; address.CityName = registerCompanyModel.CityName; address.PostCode = registerCompanyModel.PostCode; address.UserId = userId; database.Addresses.Add(address); database.SaveChanges(); } }
public async Task <IHttpActionResult> RegisterCompany(RegisterCompanyBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } using (LoanAndRepayEntities entities = new LoanAndRepayEntities()) { var companyName = entities.CompanyInfoes.FirstOrDefault(x => x.CompanyName == model.CompanyName); if (companyName == null) { var user = new ApplicationUser() { UserName = model.Email, Email = model.Email }; IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { var UserId = UserManager.FindByEmail(model.Email); //Calling provider to save data CompanyProvider.SaveCompanyInfo(model, UserId.Id); UserManager.AddToRole(UserId.Id, "Company"); } if (!result.Succeeded) { return(GetErrorResult(result)); } return(Ok()); } } return(BadRequest("Company name is already taken")); }
public IActionResult Register(RegisterCompanyBindingModel model) { if (!ModelState.IsValid) { return(this.View()); } var company = this.Mapper.Map <Company>(model); var isTaken = this.CompanyServices.NameIsTaken(company.Name); if (isTaken) { ModelState.AddModelError("Name", "Name is already taken!"); return(this.View()); } this.CompanyServices.AddToDatabase(company); return(RedirectToAction("Details", new{ id = company.Id, slug = company.Name })); }