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;
            }
        }
Exemple #2
0
        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;
            }
        }