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_); } }
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_); } }
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_); } }