public async Task <IActionResult> ClientLogin([FromBody] AndroidUser user)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            else
            {
                // This doesn't count login failures towards account lockout
                // To enable password failures to trigger account lockout, set lockoutOnFailure: true
                var result = await _signInManager.PasswordSignInAsync(user.Email, user.Password, false, lockoutOnFailure : false);

                if (result.Succeeded)
                {
                    _logger.LogInformation(1, "User logged in.");
                    return(Ok("tokenittlesz"));
                }
                if (result.RequiresTwoFactor)
                {
                    return(NotFound());
                }
                if (result.IsLockedOut)
                {
                    _logger.LogWarning(2, "User account locked out.");
                    return(NotFound());
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Invalid login attempt.");
                    return(NotFound());
                }
            }
        }
Esempio n. 2
0
        public string LoginApi([FromBody] LoginDTO input)
        {
            var username      = input.Username;
            var inputPassword = input.Password.Replace("\n", "");

            var dbUser = _dbContext.Employees.SingleOrDefault(e => e.Username == username);

            if (dbUser != null)
            {
                if (dbUser.Password.Equals(inputPassword))
                {
                    var userRole = dbUser.Role.ToString();
                    var userId   = dbUser.Id;

                    AndroidUser user = new AndroidUser();
                    user.UserId = dbUser.Id;

                    _dbContext.Add(user);
                    _dbContext.SaveChanges();

                    return(JsonSerializer.Serialize(new
                    {
                        response = "Successful",
                        deptRole = userRole
                    }));
                }
            }

            return(JsonSerializer.Serialize(new
            {
                response = "Failed"
            }));
        }
Esempio n. 3
0
        // Author: Ayisha, Benedict
        // GET API to return a list of requisitions for the dept rep
        public string DeptRepRequisitionListApi()
        {
            AndroidUser androidUser = _dbContext.AndroidUsers.FirstOrDefault();
            Employee    user        = _dbContext.Employees.SingleOrDefault(e => e.Id == androidUser.UserId);
            int         deptId      = user.Dept.id;

            var dTOs = new List <DeptRequisitionDTO>();

            var requisitions = _dbContext.DeptRequisitions
                               .Where(dr => dr.SubmissionStatus == SubmissionStatus.Draft && dr.Employee.Dept.id == deptId).ToList();

            foreach (var requisition in requisitions)
            {
                var dTO = new DeptRequisitionDTO();
                dTO.Id = requisition.Id;
                dTO.RequisitionApprovalStatus    = requisition.RequisitionApprovalStatus;
                dTO.RequisitionFulfillmentStatus = requisition.RequisitionFulfillmentStatus;
                dTOs.Add(dTO);
            }


            return(JsonSerializer.Serialize(new
            {
                requisitions = dTOs
            }));
        }
        // Author: Benedict, Yeo Jia Hui
        // GET API to logout user from android
        public void LogoutApi()
        {
            AndroidUser user = _dbContext.AndroidUsers.FirstOrDefault();

            if (user != null)
            {
                _dbContext.Remove(user);
                _dbContext.SaveChanges();
            }
        }
        protected override void LoadUsersFinished(IDictionary _dataDict)
        {
            IList  _usersJSONList = _dataDict.GetIfAvailable <IList>(kUsersList);
            string _error         = _dataDict.GetIfAvailable <string>(kNativeMessageError);

            User[] _newUsers = null;


            if (_usersJSONList != null)
            {
                _newUsers = AndroidUser.ConvertToUserList(_usersJSONList);
            }

            LoadUsersFinished(_newUsers, _error);
        }
Esempio n. 6
0
        // Author: Lance, Saw
        // GET API to return list of employees
        public string EmployeeListApi()
        {
            AndroidUser androidUser = _dbContext.AndroidUsers.FirstOrDefault();
            Employee    user        = _dbContext.Employees.SingleOrDefault(e => e.Id == androidUser.UserId);
            int         deptId      = user.Dept.id;

            var emp   = _dbContext.Employees.Where(x => x.Role != DeptRole.DeptHead && x.Dept.id == deptId).ToList();
            var eList = new List <EmployeeDTO>();

            foreach (Employee e in emp)
            {
                EmployeeDTO eDto = new EmployeeDTO();
                eDto.Id     = e.Id;
                eDto.Name   = e.Name;
                eDto.DeptId = e.Dept.id;
                eDto.Role   = e.Role;
                eList.Add(eDto);
            }
            return(JsonSerializer.Serialize(new
            {
                EmployeeList = eList
            }));
        }
Esempio n. 7
0
        // Author: Lance, Saw
        // GET API to return a list of delegated employees
        public string DelegatedEmployeeListApi()
        {
            AndroidUser androidUser       = _dbContext.AndroidUsers.FirstOrDefault();
            Employee    user              = _dbContext.Employees.SingleOrDefault(e => e.Id == androidUser.UserId);
            int         deptId            = user.Dept.id;
            var         delegatedEmployee = _dbContext.DelegatedEmployees.Where(x => x.delegationStatus != 0 && x.Employee.Dept.id == deptId).ToList();
            var         deList            = new List <DelegatedEmployees>();

            foreach (DelegatedEmployee de in delegatedEmployee)
            {
                var deemp = new DelegatedEmployees();
                deemp.name      = de.Name;
                deemp.id        = de.Id;
                deemp.status    = de.delegationStatus;
                deemp.startDate = de.StartDate.ToString();
                deemp.endDate   = de.EndDate.ToString();
                deList.Add(deemp);
            }
            return(JsonSerializer.Serialize(new
            {
                delegatedEmployees = deList
            }));
        }