public async Task <ActionResult> Login(UserLogin userModel) { Customer customer; try { customer = await _context.Customer.FirstOrDefaultAsync(x => x.username == userModel.username && Encryption.VerifyPassword(userModel.password, x.password)); if (customer == null) { return(Ok(new { message = "Invalid Password or Username" })); } }catch (DbUpdateConcurrencyException) { return(BadRequest(new { message = "Failed" })); } string usertoken = new Authetication().GenerateJsonToken(customer); customer.password = null; return(Ok(new { user = customer, token = usertoken })); }
public async Task <ActionResult <Customer> > Post(string userType, [FromBody] Customer customer) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var customerCheck = context.Customer.FirstOrDefaultAsync(x => x.username == customer.username); if (customer != null) { customer.password = Encryption.CreatePasswordHash(customer.password); context.Customer.Add(customer); Permission userPerm = new Permission(); userPerm.type = userType; context.Permission.Add(userPerm); Customer_Permission cPerm = new Customer_Permission(); cPerm.PermissionId = userPerm.Id; cPerm.CustomerId = customer.Id; context.Customer_Permission.Add(cPerm); await context.SaveChangesAsync(); } else { return(BadRequest(new { message = "user already Exist" })); } } catch (DbUpdateConcurrencyException) { return(BadRequest()); } Authetication userAuth = new Authetication(); customer.password = null; var tokenString = userAuth.GenerateJsonToken(customer); return(Ok(new { user = customer, token = tokenString })); }