public LoginResponse Login(Account account) { LoginResponse response = new LoginResponse() { IsSucess = true }; try { IAccountDataProvider accountProvider = AccountDataProviderFactory.GetAccountDataProvider(); string errorMessage; Model.Account accountModel = account.ToModel(); string token = accountProvider.Login(ref accountModel, out errorMessage); if (!string.IsNullOrEmpty(token) && string.IsNullOrEmpty(errorMessage)) { response.Account = accountModel.ToDataContract(); response.SessionId = token; ICacheProvider cacheProvider = CacheProviderFactory.GetCacheProvider(); cacheProvider.AddValue(token, new Model.UserSession() { Account = accountModel }); } else { response.ErrorMessage = errorMessage; response.IsSucess = false; } } catch (Exception ex) { response.IsSucess = false; response.ErrorMessage = "Login failed! Please try again."; LoggingDataProviderFactory.GetLoggingDataProvider().LogException(ex, Source, "Login", Model.Severity.Critical); } return response; }
public LoginResponse RegisterUser(Account account) { LoginResponse response = new LoginResponse() {IsSucess = true}; try { IAccountDataProvider accountProvider = AccountDataProviderFactory.GetAccountDataProvider(); string errorMessage; if (accountProvider.AddUser(account.ToModel(), out errorMessage) && string.IsNullOrEmpty(errorMessage)) { response.Account = account; } else { response.ErrorMessage = errorMessage; response.IsSucess = false; } } catch (Exception ex) { response.IsSucess = false; response.ErrorMessage = "Registration failed! Please try again."; LoggingDataProviderFactory.GetLoggingDataProvider().LogException(ex,Source,"RegisterUser", Model.Severity.Critical); } return response; }