async Task <EventModel> IReadEventSource <EventModel> .ReadAsync(string transactionId) { try { var taskConnection = sqlClientDbProviders.GetConnectionAsync(); return (await base .DapperFluent ?.Value ?.SqlOpenConnection(await taskConnection) ?.SqlParameter(() => { var dynamicParameter = new DynamicParameters(); dynamicParameter.Add("@TransactionId", transactionId, DbType.String, ParameterDirection.Input); return dynamicParameter; }) ?.SqlCommand(async(dbConnection, dynamicParameter) => { var command = "SELECT * FROM dbo.EventStore WHERE TransactionId=@TransactionId"; var data = await dbConnection ?.QueryFirstAsync <EventModel>(command, dynamicParameter, commandType: CommandType.Text); return data; }) ?.ResultAsync <EventModel>()); } catch { throw; } }
async Task <AdminModel> ILoginAdminRepository.LoginAsync(AdminModel adminModel) { try { var taskConnection = sqlClientDbProviders?.GetConnectionAsync(); var taskParameter = base.GetParameterAsync("Admin-Login", adminModel); var taskData = base .DapperFluent ?.Value ?.SqlOpenConnection(await taskConnection) ?.SqlParameter(async() => await taskParameter) ?.SqlCommand(async(dbConnection, parameter) => { var data = (await dbConnection ?.QueryAsync <GetAdminResultSet>("Admin.uspGetAdmin", param: parameter, commandType: CommandType.StoredProcedure) ) ?.Select((getadminResultSet) => new AdminModel() { AdminIdentity = getadminResultSet?.AdminIdentity, FirstName = getadminResultSet?.FirstName, LastName = getadminResultSet?.LastName, EmailId = getadminResultSet?.EmailId, Role = getadminResultSet?.Role, AdminLogin = new AdminLoginModel() { UserName = getadminResultSet?.UserName, Hash = getadminResultSet?.Hash, Salt = getadminResultSet?.Salt } }) ?.FirstOrDefault(); return(data); }) ?.ResultAsync <AdminModel>(); return(await taskData); } catch { throw; } }
async Task <bool> IAddRepository <AdminModel, bool> .AddAsync(AdminModel model) { try { var taskConnection = sqlClientDbProviders.GetConnectionAsync(); var taskParameter = base.SetParameterAsync("Add-Admin", model); var taskAdd = await base .DapperFluent ?.Value ?.SqlOpenConnection(await taskConnection) ?.SqlParameter(async() => await taskParameter) ?.SqlCommand(async(dbConnection, dynamicParameter) => { var queryData = (await dbConnection ?.QueryFirstAsync <MessageModel>("Admin.uspSetAdmin", param: dynamicParameter, commandType: CommandType.StoredProcedure) ) ?.Message; return((queryData.Contains("Insert")) ? true : false); }) ?.ResultAsync <bool>(); if (taskAdd == true) { EventStoreHandler?.Invoke(this, model); } return(taskAdd); } catch { throw; } }