示例#1
0
        public Responser CreateTokenAuth(string userId = "")
        {
            try
            {
                bool isValid = false;

                if (!string.IsNullOrWhiteSpace(userId))
                {
                    //Generate a Token
                    AM_User userLogged  = new AM_User();
                    Guid    tokenLogged = Guid.NewGuid();
                    userLogged.Token  = tokenLogged.ToString();
                    userLogged.UserID = int.Parse(userId);

                    Employees_Tab empTab = PayRollDB.Employees_Tab.Where(item => item.EmployeeID == userLogged.UserID).ToList().FirstOrDefault();

                    if (empTab != null)
                    {
                        //Record Token in OAuth's Table
                        TokenAuth tokenRecords = new TokenAuth();
                        tokenRecords.Token         = tokenLogged;
                        tokenRecords.CreationDate  = DateTime.Now;
                        tokenRecords.TokenStatusID = PayRollDB.TokenStatus.Where(item => item.Name == "Active").ToList().FirstOrDefault().TokenStatusID;
                        PayRollDB.TokenAuth.Add(tokenRecords);
                        PayRollDB.SaveChanges();

                        //Set token to user
                        empTab.Token = tokenLogged;
                        PayRollDB.SaveChanges();

                        isValid         = true;
                        responser_.Data = tokenLogged.ToString();
                    }
                    else
                    {
                        isValid         = false;
                        responser_.Data = string.Empty;
                    }
                }
                else
                {
                    isValid         = false;
                    responser_.Data = string.Empty;
                }

                responser_.Status        = (isValid ? 1 : 0);
                responser_.StatusMessage = (isValid ? "Token Auth generated successfully" : "Error at generating Token Auth");
                return(responser_);
            }
            catch (Exception e)
            {
                responser_.Status        = -1;
                responser_.StatusMessage = e.Message.ToString();
                responser_.Data          = null;

                return(responser_);
            }
        }
示例#2
0
        public Responser DisableTokenAuth(string userId = "")
        {
            try
            {
                if (!string.IsNullOrWhiteSpace(userId))
                {
                    //Remove token from user
                    AM_User userToLogOff = new AM_User();
                    userToLogOff.UserID = int.Parse(userId);
                    Employees_Tab empTab = PayRollDB.Employees_Tab.Where(item => item.EmployeeID == userToLogOff.UserID).ToList().FirstOrDefault();
                    userToLogOff.Token = empTab.Token.ToString();
                    empTab.Token       = null;

                    PayRollDB.SaveChanges();

                    //Disable Token in OAuth's Table
                    List <TokenAuth> tokenRecords = PayRollDB.TokenAuth.Where(item => item.Token.ToString().Trim() == userToLogOff.Token.Trim()).ToList();

                    if (tokenRecords.Count() > 0)
                    {
                        foreach (TokenAuth item_ in tokenRecords)
                        {
                            item_.TokenStatusID = PayRollDB.TokenStatus.Where(item => item.Name == "Inactive").ToList().FirstOrDefault().TokenStatusID;
                        }

                        PayRollDB.SaveChanges();
                    }

                    responser_.Status        = 0;
                    responser_.StatusMessage = "Token Auth disabled successfully";
                }
                else
                {
                    responser_.Status        = 0;
                    responser_.StatusMessage = "There was not any Token Auth to disable";
                }

                return(responser_);
            }
            catch (Exception e)
            {
                responser_.Status        = -1;
                responser_.StatusMessage = e.Message.ToString();
                responser_.Data          = null;

                return(responser_);
            }
        }
示例#3
0
        public Responser Login([FromBody] AM_LoginEntity loginEntity_)
        {
            try
            {
                List <AM_Employee> employees = PayRollDB.Employees_Tab.ToList().MapTo <Employees_Tab, AM_Employee>();

                employees = employees.Where(item => item.Email == loginEntity_.UserName && item.Password == loginEntity_.Password && item.Active == true).ToList();

                if (employees.Count > 0)
                {
                    //Get logged user
                    AM_User userLogged = new AM_User();

                    AM_Employee employee = employees.FirstOrDefault();
                    userLogged.UserID   = employee.EmployeeID;
                    userLogged.Name     = string.Format("{0} {1}", employee.Name, employee.LastNames);
                    userLogged.UserName = employee.Email;
                    userLogged.Password = employee.Password;
                    userLogged.RoleName = PayRollDB.Role_Cat.Where(item => item.RoleID == (int)employee.RoleID).FirstOrDefault().Name;

                    //Generate a Token
                    AuthController authController = new AuthController();
                    userLogged.Token = authController.CreateTokenAuth(userLogged.UserID.ToString()).Data as string;

                    //Get response
                    responser_.Status        = 0;
                    responser_.StatusMessage = "Login Successfully";
                    responser_.Data          = userLogged;
                }
                else
                {
                    responser_.Status        = -2;
                    responser_.StatusMessage = "Login failed: User or password is incorrect.";
                    responser_.Data          = null;
                }

                return(responser_);
            }
            catch (Exception e)
            {
                responser_.Status        = -1;
                responser_.StatusMessage = e.Message.ToString();
                responser_.Data          = null;

                return(responser_);
            }
        }