コード例 #1
0
        //insert data, will be hit by Signup Page
        public Boolean insertData(CustomModels.CustomEmployee employeeDetails)
        {
            try
            {
                DbModels.EmployeeDetails emp = new DbModels.EmployeeDetails()
                {
                    EmpName      = employeeDetails.EmpName,
                    Username     = employeeDetails.Username,
                    EmpPhone     = employeeDetails.EmpPhone,
                    EmpAddress   = employeeDetails.EmpAddress,
                    EmpRole      = employeeDetails.EmpRole,
                    EmpPassword  = employeeDetails.EmpPassword,
                    EmpProjectId = employeeDetails.EmpProjectId,
                    AdminFlag    = employeeDetails.AdminFlag,
                    EmpFlag      = employeeDetails.EmpFlag
                };

                _employeesContext.EmployeeDetails.Add(emp);
                _employeesContext.SaveChanges();
                return(true);
            }
            catch (SqlException sqle)
            {
                return(false);
            }
        }
コード例 #2
0
 public IActionResult Signup([FromBody] CustomModels.CustomEmployee employeeDetails)
 {
     if (_dbOperations.insertData(employeeDetails))
     {
         return(Ok("Inserted"));
     }
     else
     {
         return(Ok("Some Error Occured"));
     }
 }
コード例 #3
0
        public IActionResult logIn([FromBody] CustomModels.CustomEmployee customEmployee)
        {
            IActionResult response = Unauthorized();
            var           user     = AuthenticateUser(customEmployee);

            if (user != null)
            {
                var tokenString = GenerateJSONWebToken(user);
                response = Ok(new { token = tokenString });
            }
            return(response);
        }
コード例 #4
0
        public IActionResult getAll([FromBody] CustomModels.CustomEmployee customEmployee)
        {
            List <CustomModels.CustomEmployee> emp = _idbo.getAllEmp(customEmployee.JwT);

            if (emp != null)
            {
                return(Ok(emp));
            }
            else
            {
                return(Unauthorized());
            }
        }
コード例 #5
0
 //Checks user credentials, returns the object containing details of employee if it exists
 public CustomModels.CustomEmployee checkUser(CustomModels.CustomEmployee customEmployee)
 {
     CustomModels.CustomEmployee ce       = null;
     DbModels.EmployeeDetails    employee = _employeesContext.EmployeeDetails.Where(x => x.Username == customEmployee.Username && x.EmpPassword == customEmployee.EmpPassword).FirstOrDefault();
     if (employee != null)
     {
         ce = new CustomModels.CustomEmployee
         {
             EmpName      = employee.EmpName,
             Username     = employee.Username,
             EmpPhone     = employee.EmpPhone,
             EmpRole      = employee.EmpRole,
             EmpProjectId = employee.EmpProjectId,
             EmpFlag      = employee.EmpFlag,
             AdminFlag    = employee.AdminFlag
         };
         return(ce);
     }
     return(ce);
 }
コード例 #6
0
        private string GenerateJSONWebToken(CustomModels.CustomEmployee loginInfo)
        {
            var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));
            var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);

            var claims = new[] {
                new Claim(JwtRegisteredClaimNames.Sub, _config["Jwt:Issuer"]),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                new Claim(JwtRegisteredClaimNames.Iat, DateTime.UtcNow.ToString()),
                new Claim("UserName", loginInfo.Username),
                new Claim("EmpName", loginInfo.EmpName),
                new Claim("EmpPhone", loginInfo.EmpPhone),
                new Claim("EmpRole", loginInfo.EmpRole)
            };


            var token = new JwtSecurityToken(_config["Jwt:Issuer"],
                                             _config["Jwt:Issuer"],
                                             claims,
                                             expires: DateTime.Now.AddMinutes(120),
                                             signingCredentials: credentials);

            return(new JwtSecurityTokenHandler().WriteToken(token));
        }
コード例 #7
0
 public IActionResult tester([FromBody] CustomModels.CustomEmployee emplolyee)
 {
     return(Ok("Inserted"));
 }
コード例 #8
0
 private CustomModels.CustomEmployee AuthenticateUser(CustomModels.CustomEmployee credentials)
 {
     CustomModels.CustomEmployee user = null;
     user = _dbOperations.checkUser(credentials);
     return(user);
 }