public bool Compare(T_SystemUser value)
 {
     using (AttMonSysRFIDDataContext dc = new AttMonSysRFIDDataContext(SystemConnection.ConnectionString))
     {
         return(dc.T_SystemUsers.Where(x => x.UserID == value.UserID && x.Username == value.Username && x.Password == value.Password && x.EncryptedPassword == value.EncryptedPassword && x.FirstName == value.FirstName && x.LastName == value.LastName && x.ContactNo == value.ContactNo && x.RFIDNo == value.RFIDNo && x.RFIDStatus == value.RFIDStatus && x.Active == value.Active && x.PositionID == value.PositionID).FirstOrDefault() == null ? true : false);
     }
 }
 public bool Login(T_SystemUser Users, ref string msg)
 {
     //T_SystemUser _users = new T_SystemUser();
     using (AttMonSysRFIDDataContext dc = new AttMonSysRFIDDataContext(SystemConnection.ConnectionString))
     {
         //_users = dc.T_SystemUsers.Where(x => x.Active == true && x.EncryptedPassword == Users.EncryptedPassword && x.Username == Users.Username && x.Active==true).FirstOrDefault();
         var _users = dc.T_SystemUsers.FirstOrDefault(x => x.Active.Value && x.EncryptedPassword == Users.EncryptedPassword && x.Username == Users.Username);
         if (_users != null)
         {
             UserInfo.UserID            = _users.UserID;
             UserInfo.UserName          = _users.Username;
             UserInfo.Password          = _users.Password;
             UserInfo.EncryptedPassword = _users.EncryptedPassword;
             UserInfo.PositionID        = _users.PositionID;
             //UserInfo.UserTheme=_users.us
             UserInfo.FirstName    = _users.FirstName;
             UserInfo.LastName     = _users.LastName;
             UserInfo.CompleteName = string.Format("{0}, {1}", _users.LastName, _users.FirstName);
             UserInfo.DisplayName  = _users.DisplayName;
             UserInfo.TimeIn       = CurrDate();
             //var accessRight = GetAccessRight().Where(x => x.Active == true && x.PositionID == _users.PositionID).FirstOrDefault();
             var accessRight = GetAccessRight().FirstOrDefault(x => x.Active.Value && x.PositionID == _users.PositionID);
             SystemSetup.SystemName = "Attendance Monitoring System with RFID and Message Notification";
             UserInfo.JobTitle      = accessRight.JobTitle;
             SystemProperties.AccessRight.Application         = accessRight.Application.Value;
             SystemProperties.AccessRight.Student             = accessRight.Student.Value;
             SystemProperties.AccessRight.Instructor          = accessRight.Instructor.Value;
             SystemProperties.AccessRight.Position            = accessRight.Position.Value;
             SystemProperties.AccessRight.User                = accessRight.Users.Value;
             SystemProperties.AccessRight.YearLevel           = accessRight.YearLevel.Value;
             SystemProperties.AccessRight.Course              = accessRight.Course.Value;
             SystemProperties.AccessRight.Subject             = accessRight.Course.Value;
             SystemProperties.AccessRight.Room                = accessRight.Room.Value;
             SystemProperties.AccessRight.Time                = accessRight.Time.Value;
             SystemProperties.AccessRight.Display             = accessRight.Display.Value;
             SystemProperties.AccessRight.Report              = accessRight.Report.Value;
             SystemProperties.AccessRight.CivilStatus         = accessRight.CivilStatus.Value;
             SystemProperties.AccessRight.DeviceConfiguration = accessRight.DeviceConfiguration.Value;
             SystemProperties.AccessRight.RoomType            = accessRight.RoomType.Value;
             SystemProperties.AccessRight.Building            = accessRight.Building.Value;
             SystemProperties.AccessRight.ViewRoom            = accessRight.ViewRoom.Value;
             SystemProperties.AccessRight.ViewCourse          = accessRight.ViewCourse.Value;
             SystemProperties.AccessRight.ViewInstructor      = accessRight.ViewInstructor.Value;
             SystemProperties.AccessRight.NotifyStudent       = accessRight.NotifyStudent.Value;
             SystemProperties.AccessRight.MaintenanceMessage  = accessRight.MaintenanceMessage.Value;
             SystemProperties.AccessRight.SMSSettings         = accessRight.SMSSettings.Value;
             SystemProperties.AccessRight.Semester            = accessRight.Semester.Value;
             SystemProperties.AccessRight.YearClass           = accessRight.YearClass.Value;
             SaveLog(true);
             msg = string.Format("Welcome for {0} " + Environment.NewLine + "{1}" + Environment.NewLine + "{2}", SystemSetup.SystemName, UserInfo.CompleteName, UserInfo.JobTitle);
             return(true);
         }
         else
         {
             msg = string.Format("Your input is invalid {0}", SystemSetup.SystemName);
             return(false);
         }
     }
 }
        public void Delete(T_SystemUser value, ref string msg)
        {
            T_SystemUser valuedelete = new T_SystemUser();

            using (AttMonSysRFIDDataContext dc = new AttMonSysRFIDDataContext(SystemConnection.ConnectionString))
            {
                valuedelete = dc.T_SystemUsers.Where(x => x.ID == value.ID).FirstOrDefault();
                dc.T_SystemUsers.DeleteOnSubmit(valuedelete);
                dc.SubmitChanges();
                msg = string.Format("{0}" + Environment.NewLine + Environment.NewLine + "USER ID: [{1}]" + Environment.NewLine + "POSITION ID;  [{2}]" + Environment.NewLine + "USERNAME:  [{3}]" + Environment.NewLine + "NAME:  [{4}, {5}]", SystemProperties.MessageNotification.Deleted, valuedelete.UserID, valuedelete.PositionID, valuedelete.Username, valuedelete.LastName, valuedelete.FirstName);
            }
        }
        public void Login()
        {
            T_SystemUser user = new T_SystemUser();

            using (UserDetail _userdetails = new UserDetail())
            {
                if (!string.IsNullOrWhiteSpace(txtUsername.Text) && !string.IsNullOrWhiteSpace(txtPassword.Text))
                {
                    user.Username          = txtUsername.Text;
                    user.EncryptedPassword = EncryptedPassword;
                    if (_userdetails.Login(user, ref ReturnMsg))
                    {
                        pnlLogin.Hide();
                        SystemProperties.ShowMessage.MessageInformation(ReturnMsg, "Login");
                        GetAccessRight(true);
                        tsOffline.Text      = "Online";
                        tsOffline.ForeColor = Color.Green;
                        tsUser.Text         = !string.IsNullOrWhiteSpace(UserInfo.DisplayName)?UserInfo.DisplayName:UserInfo.CompleteName;
                        tsTimeIN.Text       = UserInfo.TimeIn.ToString("MMM. dd, yyyy  |  HH:mm:ss tt");
                        tsPosition.Text     = UserInfo.JobTitle;
                        mtLogin.Enabled     = !(mtLogout.Enabled = true);
                        using (GetAPI getapi = new GetAPI())
                        {
                            getapi.CheckInternetConnection();
                        }
                        GetActiveSemester();
                    }
                    else
                    {
                        foreach (Form frm in this.MdiChildren)
                        {
                            if (!frm.Focused)
                            {
                                frm.Close();
                            }
                        }
                        tsOffline.ForeColor = Color.Red;
                        tsOffline.Text      = "Offline";
                        tsUser.Text         = "";
                        tsTimeIN.Text       = "";
                        tsPosition.Text     = "";
                        pnlLogin.Show();
                        GetAccessRight(false);
                        mtLogin.Enabled = !(mtLogout.Enabled = false);
                        SystemProperties.ShowMessage.MessageError(ReturnMsg, "Login");
                    }
                }
                else
                {
                    SystemProperties.ShowMessage.MessageError(string.Format("Please check your input below " + Environment.NewLine + Environment.NewLine + "Username" + Environment.NewLine + "Password"), SystemSetup.SystemName);
                }
            }
        }
        public void Save(T_SystemUser value, ref string msg)
        {
            T_SystemUser valueupdate = new T_SystemUser();

            using (AttMonSysRFIDDataContext dc = new AttMonSysRFIDDataContext(SystemConnection.ConnectionString))
            {
                if (Compare(value))
                {
                    if (value.ID == 0)
                    {
                        dc.T_SystemUsers.InsertOnSubmit(value);
                        msg = string.Format("{0}" + Environment.NewLine + Environment.NewLine + "USER ID: [{1}]" + Environment.NewLine + "POSITION ID;  [{2}]" + Environment.NewLine + "USERNAME:  [{3}]" + Environment.NewLine + "NAME:  [{4}, {5}]", SystemProperties.MessageNotification.Saved, value.UserID, value.PositionID, value.Username, value.LastName, value.FirstName);
                    }
                    else
                    {
                        valueupdate                   = dc.T_SystemUsers.Where(x => x.ID == value.ID).FirstOrDefault();
                        valueupdate.Password          = value.Password;
                        valueupdate.EncryptedPassword = value.EncryptedPassword;
                        valueupdate.DisplayName       = value.DisplayName;
                        valueupdate.LastName          = value.LastName;
                        valueupdate.FirstName         = value.FirstName;
                        valueupdate.PathImage         = value.PathImage;
                        valueupdate.Bday              = value.Bday;
                        valueupdate.ContactNo         = value.ContactNo;
                        valueupdate.PositionID        = value.PositionID;
                        valueupdate.Theme             = value.Theme;
                        valueupdate.Active            = value.Active;
                        valueupdate.Username          = value.Username;
                        valueupdate.RFIDStatus        = value.RFIDStatus;
                        valueupdate.RFIDNo            = value.RFIDNo;
                        msg = string.Format("{0}" + Environment.NewLine + Environment.NewLine + "USER ID: [{1}]" + Environment.NewLine + "POSITION ID;  [{2}]" + Environment.NewLine + "USERNAME:  [{3}]" + Environment.NewLine + "NAME:  [{4}, {5}]", SystemProperties.MessageNotification.Updated, valueupdate.UserID, valueupdate.PositionID, valueupdate.Username, valueupdate.LastName, valueupdate.FirstName);
                    }
                    dc.SubmitChanges();
                }
                else
                {
                    msg = SystemProperties.MessageNotification.Exist;
                }
            }
        }
        void Save()
        {
            if (SystemProperties.ShowMessage.MessageQuestion(SystemProperties.MessageNotification.YouWantToSave, "User registration") == DialogResult.Yes)
            {
                if (CheckEmptyField())
                {
                    T_SystemUser user = new T_SystemUser();
                    user.ID                = isAdd ? 0 : Convert.ToInt64(dgUserRecord.SelectedRows[0].Cells[0].Value.ToString());
                    user.UserID            = txtUserID.Text;
                    user.Password          = txtPassword.Text;
                    user.EncryptedPassword = EncryptedPassword;
                    user.DisplayName       = txtDisplayName.Text;
                    user.LastName          = txtLastName.Text;
                    user.FirstName         = txtFirstName.Text;
                    user.PathImage         = "";
                    user.Bday              = dtStudentBday.Value;
                    user.ContactNo         = txtContactNo.Text;
                    user.PositionID        = cmbPositionID.Text;
                    user.Theme             = "";
                    user.Active            = cbActive.Checked;
                    user.Username          = txtUserName.Text;
                    user.RFIDStatus        = cbRFID.Checked;
                    user.RFIDNo            = txtRFIDNo.Text;

                    using (Maintenance _maintain = new Maintenance())
                    {
                        _maintain.Save(user, ref MsgReturned);
                        SystemProperties.ShowMessage.MessageInformation(MsgReturned, "User registration");
                        lblMessage.Text = "";
                    }
                    GetUser();
                    SystemProperties.Cleared(this, false, true, true);
                }
                else
                {
                    SystemProperties.ShowMessage.MessageError(string.Format("{0}" + Environment.NewLine + Environment.NewLine + "POSITION ID" + Environment.NewLine + "USER ID" + Environment.NewLine + "LASTNAME" + Environment.NewLine + "FIRSTNAME" + Environment.NewLine + "USERNAME AND PASSWORD", SystemProperties.MessageNotification.CheckInput), "User registration");
                }
            }
        }
 void Delete()
 {
     if (SystemProperties.ShowMessage.MessageQuestion(SystemProperties.MessageNotification.YouWantToDelete, "User registration") == DialogResult.Yes)
     {
         if (CheckEmptyField())
         {
             T_SystemUser user = new T_SystemUser();
             using (Maintenance _maintain = new Maintenance())
             {
                 user.ID = Convert.ToInt64(dgUserRecord.SelectedRows[0].Cells[0].Value.ToString());
                 _maintain.Delete(user, ref MsgReturned);
                 SystemProperties.ShowMessage.MessageWarning(MsgReturned, "User registration");
                 GetUser();
                 SystemProperties.Cleared(this, false, true, true);
                 lblMessage.Text = "";
             }
         }
         else
         {
             SystemProperties.ShowMessage.MessageError(SystemProperties.MessageNotification.SelectFirst + "delete", "User registration");
         }
     }
 }