コード例 #1
0
 public ActionResult CheckStatus(String Access = "")
 {
     Config.CheckData();
     if (Config.DataExist == 2)
     {
         return(RedirectToRoute(new { controller = "Pharmacy", action = "Create", t = 1 }));
     }
     else if (Config.DataExist == 1)
     {
         return(RedirectToRoute(new { controller = "Employees", action = "Create", t = 1 }));
     }
     else if (Account.User == null || Account.Department == null)
     {
         return(RedirectToRoute(new { controller = "Account", action = "Login" }));
     }
     else
     {
         try
         {
             Employee user = new MAccounts().Login(Account.User.NIC, Account.User.Password);
             if (user == null || String.IsNullOrEmpty(user.NIC))
             {
                 throw new Exception();
             }
             Employee employee = new MEmployees().Get(user.ID);
             if (employee == null)
             {
                 throw new Exception();
             }
             Department department = new MDepartments().Get(employee.Department_ID);
             if (department == null)
             {
                 throw new Exception();
             }
             Config.LogIn(employee, department);
         }
         catch
         {
             return(RedirectToRoute(new { controller = "Account", action = "Logout" }));
         }
         foreach (System.Reflection.PropertyInfo prop in typeof(Department).GetProperties())
         {
             if (prop.PropertyType == typeof(Boolean) && (Boolean)prop.GetValue(Account.Department))
             {
                 return(null);
             }
         }
     }
     return(RedirectToRoute(new { controller = "Home", action = "Index" }));
 }
コード例 #2
0
        public Responser Login([FromBody] LoginEntity loginEntity_)
        {
            try
            {
                List <MEmployees> employees = PayRollDB.Employees_Tab.ToList().MapTo <Employees_Tab, MEmployees>();

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

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

                    MEmployees 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 = employee.RoleName;

                    responser_.Status        = 0;
                    responser_.StatusMessage = "Login Successfully";
                    responser_.Data          = userLogged;

                    //Generate a Token
                    Guid tokenLogged = Guid.NewGuid();
                    userLogged.Token = tokenLogged.ToString();

                    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();
                    }
                }
                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_);
            }
        }
コード例 #3
0
        public Responser LogOff(string id = "")
        {
            try
            {
                if (!string.IsNullOrWhiteSpace(id))
                {
                    List <MEmployees> employees = PayRollDB.Employees_Tab.ToList().MapTo <Employees_Tab, MEmployees>();

                    employees = employees.Where(item => item.EmployeeID == int.Parse(id)).ToList();

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

                        MEmployees employee = employees.FirstOrDefault();
                        userToLogOff.UserID = employee.EmployeeID;
                        userToLogOff.Token  = employee.Token.ToString();

                        //Disable Token
                        Employees_Tab empTab = PayRollDB.Employees_Tab.Where(item => item.EmployeeID == userToLogOff.UserID).ToList().FirstOrDefault();

                        if (empTab != null)
                        {
                            //Remove token from user
                            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 = "LogOff Successfully";
                        responser_.Data          = userToLogOff;
                    }
                    else
                    {
                        responser_.Status        = -2;
                        responser_.StatusMessage = "LogOff failed";
                        responser_.Data          = null;
                    }
                }

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

                return(responser_);
            }
        }