public ActionResult <ResponseDTO> Register([FromBody] AdminRegisterationRequestDTO registrationRequest) { using (var transaction = new TransactionScope()) { using (var dbContext = new carpoolingContext()) { try { PasswordManagment manager = new PasswordManagment(); string salt; Authdetail auth = new Authdetail { Email = registrationRequest.email, Password = manager.generateHash(registrationRequest.password, out salt), Salt = salt }; dbContext.Authdetail.Add(auth); dbContext.SaveChanges(); Administrator admin = new Administrator { AuthId = auth.Id }; dbContext.Administrator.Add(admin); dbContext.SaveChanges(); return(new ResponseDTO(200, "success")); } catch (Exception ex) { transaction.Dispose(); return(new ResponseDTO(400, ex.ToString())); } } } }
public ActionResult <ResponseDTO> Register([FromBody] RegisterationRequestDTO registrationRequest) { using (var transaction = new TransactionScope()) { using (var dbContext = new carpoolingContext()) { try { Authdetail authDetail = dbContext.Authdetail.FirstOrDefault(authDetail => authDetail.Email == registrationRequest.email); if (authDetail != null) { throw new Exception("Email already exists"); } PasswordManagment manager = new PasswordManagment(); string salt; Authdetail auth = new Authdetail { Email = registrationRequest.email, Password = manager.generateHash(registrationRequest.password, out salt), Salt = salt }; dbContext.Authdetail.Add(auth); dbContext.SaveChanges(); Client client = new Client { AuthId = auth.Id, Gender = registrationRequest.gender, IsDriver = false, Rating = 0, Name = registrationRequest.name, Phone = registrationRequest.phone }; dbContext.Client.Add(client); dbContext.SaveChanges(); transaction.Complete(); return(new ResponseDTO(200, "success")); } catch (Exception ex) { transaction.Dispose(); return(new ResponseDTO(400, ex.ToString())); } } } }