Esempio n. 1
0
        public List <MUserVM> ReadListUser(ref string message)
        {
            List <MUserVM> lstRet      = new List <MUserVM>();
            MUserRPO       usrRPO      = new MUserRPO(imap_);
            TUserRoleRPO   tusrRoleRPO = new TUserRoleRPO(imap_);

            usrRPO.BeginTrans();
            if (usrRPO.ReadList(ref exec))
            {
                tusrRoleRPO.SetObjConn(usrRPO.ObjConn);
                foreach (var _objUser in usrRPO.Result.Collection)
                {
                    tusrRoleRPO.Conditions(nameof(TuserRole.Username), Operator.Equals(_objUser.Username));
                    //tusrRoleRPO.Where(nameof(TUserRole.Username)).Equals(_objUser.Username);
                    if (tusrRoleRPO.ReadList(ref exec))
                    {
                        _objUser.Password = "";
                        lstRet.Add(new MUserVM()
                        {
                            objUser  = _objUser,
                            ListRole = tusrRoleRPO.Result.Collection
                        });
                    }
                    else
                    {
                        break;
                    }
                }
            }
            message = exec.Message;
            usrRPO.EndTrans(exec);

            return(lstRet);
        }
Esempio n. 2
0
        public MUserVM Login(string username, string password, out string message)
        {
            string     encodedPassFromDB;
            bool       matchPass  = false;
            MUser      objRetUser = new MUser();
            MUserVM    objUser    = new MUserVM();
            MUserRPO   muserRPO   = new MUserRPO(imap_);
            Conditions cnd        = new Conditions();

            cnd.AddFilter(nameof(MUser.Username), Operator.Equals(username));
            cnd.AddFilter(nameof(MUser.IsActive), Operator.Equals(1));
            cnd.AddFilter(nameof(MUser.IsLocked), Operator.Equals(0));
            muserRPO.Conditions(cnd);
            //muserRPO.Where(nameof(MUser.IsActive)).Equals(1);
            //muserRPO.Where(nameof(MUser.IsLocked)).Equals(0);
            if (muserRPO.ReadOne(ref exec) && muserRPO.Result.AffectedRow > 0)
            {
                encodedPassFromDB = muserRPO.Result.Row.Password;
                matchPass         = Helpers.Crypto.ValidateKey(password, encodedPassFromDB);
                objRetUser        = matchPass ? muserRPO.Result.Row : null;
                if (matchPass)
                {
                    objUser.objUser  = objRetUser;
                    objUser.ListRole = new List <TuserRole>();
                    TUserRoleRPO objUrole = new TUserRoleRPO(imap_);
                    objUrole.Conditions(nameof(TuserRole.Username), Operator.Equals(objRetUser.Username));
                    //objUrole.Where(nameof(TUserRole.Username)).Equals(objRetUser.Username);
                    if (objUrole.ReadList(ref exec))
                    {
                        objUser.ListRole = objUrole.Result.Collection;
                    }
                    message = exec.Message;
                }
                else
                {
                    message = "Incorrect Username or Password";
                }
            }
            else
            {
                message = exec.Message;
            }

            return(objUser);
        }
Esempio n. 3
0
        private void AddUpdateUserRole(bool isUpdate, MUserVM objMuser, ObjectConnection objc, ref ExecResult exec)
        {
            TUserRoleRPO trpo = new TUserRoleRPO(imap_);

            trpo.SetObjConn(objc);
            if (isUpdate)
            {
                trpo.Conditions(nameof(TuserRole.Username), Operator.Equals(objMuser.objUser.Username));
                trpo.Delete(ref exec);
                //trpo.Where(nameof(TUserRole.Username)).Equals(objMuser.objUser.Username);
                //trpo.Delete(null,ref exec);
            }
            foreach (var obj in objMuser.ListRole)
            {
                if (!exec.Success)
                {
                    break;
                }

                trpo.Insert(obj, ref exec);
            }
        }