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