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 }));
        }
Пример #2
0
        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 }));
        }