Example #1
0
        private CustomEmployee authenticateUser(CustomEmployee credentials)
        {
            CustomEmployee employee = null;

            employee = _dbOperations.checkUser(credentials);
            return(employee);
        }
Example #2
0
        public IActionResult Post(CustomEmployee model)
        {
            var countryId = from c in db.Country
                            where c.country_name == model.country_name
                            select c.id;

            if (model.id != 0)
            {
                Employee employee = db.Employees.Where(x => x.id == model.id).FirstOrDefault();
                employee.name       = model.name;
                employee.job_title  = model.job_title;
                employee.gender     = model.gender;
                employee.email      = model.email;
                employee.phone_no   = model.phone_no;
                employee.address    = model.address;
                employee.country_id = countryId.FirstOrDefault();
                db.SaveChanges();
                return(Ok(2));
            }
            else
            {
                Employee employee = new Employee();
                employee.name       = model.name;
                employee.job_title  = model.job_title;
                employee.gender     = model.gender;
                employee.email      = model.email;
                employee.phone_no   = model.phone_no;
                employee.address    = model.address;
                employee.country_id = countryId.FirstOrDefault();
                db.Add(employee);
                db.SaveChanges();

                return(Ok(1));
            }
        }
        //insert data, will be hit by Signup Page
        public Boolean insertData(CustomEmployee employeeDetails)
        {
            try
            {
                EmployeeDetails employee = new 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(employee);
                _employeesContext.SaveChanges();
                return(true);
            }
            catch (SqlException sqle)
            {
                return(false);
            }
        }
Example #4
0
 public IActionResult Signup([FromBody] CustomEmployee employeeDetails)
 {
     if (_dataBaseOperations.insertData(employeeDetails))
     {
         return(Ok("Inserted"));
     }
     else
     {
         return(Ok("Some Error Occured"));
     }
 }
Example #5
0
        public IActionResult logIn([FromBody] CustomEmployee customEmployee)
        {
            IActionResult response = Unauthorized();
            var           user     = authenticateUser(customEmployee);

            if (user != null)
            {
                var tokenString = GenerateJSONWebToken(user);
                response = Ok(new { token = tokenString });
            }
            return(response);
        }
Example #6
0
        public IActionResult getAll([FromBody] CustomEmployee customEmployee)
        {
            List <CustomEmployee> employees = _iDbOperations.getAllEmployees(customEmployee.JwT);

            if (employees != null)
            {
                return(Ok(employees));
            }
            else
            {
                return(Unauthorized());
            }
        }
Example #7
0
        private string GenerateJSONWebToken(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.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));
        }
        //Checks user credentials, returns the object containing details of employee if it exists
        public CustomEmployee checkUser(CustomEmployee customEmployee)
        {
            CustomEmployee  employee     = null;
            EmployeeDetails tempEmployee = _employeesContext.EmployeeDetails.Where(x => x.Username == customEmployee.Username && x.EmpPassword == customEmployee.EmpPassword).FirstOrDefault();

            if (tempEmployee != null)
            {
                employee = new CustomEmployee
                {
                    //EmpName, EMpPhone etc... is stored in my Database, and if I change it now then, I have to
                    //perform the scaffolding again. I'll take care of these conventions from now.
                    //SORRY !
                    EmpName      = tempEmployee.EmpName,
                    Username     = tempEmployee.Username,
                    EmpPhone     = tempEmployee.EmpPhone,
                    EmpRole      = tempEmployee.EmpRole,
                    EmpProjectId = tempEmployee.EmpProjectId,
                    EmpFlag      = tempEmployee.EmpFlag,
                    AdminFlag    = tempEmployee.AdminFlag
                };
                return(employee);
            }
            return(employee);
        }