private Result CheckLoginAndDataProvider(Guid guid, Operations operation) { if (DataProvider == null) { return(Result.NotInitialized()); } var permitionResult = LogonManager.CheckPermission(guid, operation); switch (permitionResult) { case PermissionResult.Ok: return(new Result(true)); case PermissionResult.AccessDeny: return(Result.AccsessDeny()); case PermissionResult.DoesntLogined: return(Result.DoesntLogined()); default: var message = string.Format("Не известный результат операции проверки доступа Result = {0}", permitionResult); return(new Result(false) { Message = message }); } }
public Result <LoginInfo> Login(string login, string pass, RoleTypes roleType) { SessionInfo sessionInfo; var logonResult = LogonManager.Login(login, pass, roleType, out sessionInfo); switch (logonResult) { case LogonResult.Ok: return(new Result <LoginInfo>(sessionInfo.GetLoginInfo())); case LogonResult.AlreadyLogined: LogonManager.Logout(sessionInfo.Guid); return(Login(login, pass, roleType)); case LogonResult.WrongLoginOrPass: return(new Result <LoginInfo>(Result.LoginOrPassIsWrong())); case LogonResult.WrongRole: return(new Result <LoginInfo>(Result.AccsessDeny())); default: return(new Result <LoginInfo>(false) { Message = "Ошибка: Не известный результат идентификации" }); } }
public Result <ClientInfo> PayInToAccount(long clientId, int operationCode, Guid guid) { var result = CheckLoginAndDataProvider(guid, Operations.PayInToAccount); if (!result.IsSucssied) { return(new Result <ClientInfo>(result)); } OperationInfo operationInfo; lock (_payInCodes) { if (!_payInCodes.TryGetValue(clientId, out operationInfo) || operationInfo.Code != operationCode) { var accsessDenyResult = Result.AccsessDeny(); accsessDenyResult.Message = Result.CodeErrorMsg; return(new Result <ClientInfo>(accsessDenyResult)); } _payInCodes.Remove(clientId); } ClientInfo clientInfo; if (!DataProvider.TryPayInToAccount(clientId, operationInfo.Summ, out clientInfo)) { return(new Result <ClientInfo>(false)); } return(new Result <ClientInfo>(clientInfo)); }