MongoDB.Messaging - MongoDB Messaging Library

Overview

The MongoDB Messaging library is a lightweight queue pub/sub processing library based on MongoDB data store.

Features

  • Easy to use Fluent API
  • Self creating and cleaning of Queues
  • Configurable message expiration
  • Generic data payload
  • Trigger processing from oplog change monitoring
  • Configurable auto retry on error
  • Message processing timeout
  • Scalable via subscriber worker count
  • Supports distributed locks

Download

The MongoDB.Messaging library is available on nuget.org via package name MongoDB.Messaging.

To install MongoDB.Messaging, run the following command in the Package Manager Console


DataGenerator - Generate Intelligent and Realistic Test Data

Features

  • Generate intelligent test data based on property type and name
  • Automatic discovery of data sources
  • Fully customizable property data sources
  • Realistic data sources
  • Weighted value selection
  • Easy fluent API

Download

The DataGenerator library is available on nuget.org via package name DataGenerator.

To install DataGenerator, run the following command in the Package Manager Console

Install-Package DataGenerator

NuGet Version

Configuration

Full class property configuration

Generator.Default.Configure(c => c
  .Entity<User>(e =>
  {
    e.Property(p => p.FirstName).DataSource<FirstNameSource>();
    e.Property(p => p.LastName).DataSource<LastNameSource>();
    e.Property(p => p.Address1).DataSource<StreetSource>();
    e.Property(p => p.City).DataSource<CitySource>();
    e.Property(p => p.State).DataSource<StateSource>();
    e.Property(p => p.Zip).DataSource<PostalCodeSource>();
    
    e.Property(p => p.Note).DataSource<LoremIpsumSource>();
    e.Property(p => p.Password).DataSource<PasswordSource>();
    
    // array of values
    e.Property(p => p.Status).DataSource(new[] { Status.New, Status.Verified });
    
    
    // don't generate
    e.Property(p => p.Budget).Ignore();
    
    // static value
    e.Property(p => p.IsActive).Value(true);
    
    // delegate value
    e.Property(p => p.Created).Value(() => DateTime.Now);
  })
);

Example of configuration for generating child classes


FluentRest - Lightweight fluent wrapper over HttpClient

Features

  • Fluent request building
  • Fluent form building
  • Automatic deserialization of response
  • Plugin different serialization
  • Fake HTTP responses

Download

The FluentRest library is available on nuget.org via package name FluentRest.

To install FluentRest, run the following command in the Package Manager Console

Install-Package FluentRest

NuGet Version

Fluent Request

Create a form post request

var client = new FluentClient();
client.BaseUri = new Uri("http://echo.jpillora.com/", UriKind.Absolute);

var result = await client.PostAsync<EchoResult>(b => b
    .AppendPath("Project")
    .AppendPath("123")
    .FormValue("Test", "Value")
    .FormValue("key", "value")
    .QueryString("page", 10)
);

Custom authorization header


EstimatorX - Project Estimation Application

EstimatorX

A simple project estimation application.
http://estimatorx.com

Features

Projects

A project contains all the details that make up an estimate. An estimate is broken down into Assumptions, Factors and Tasks. The estimate is padded with a contingency rate.

Assumptions

When making an estimate, there are assumptions the estimator makes to come up with the estimate. Document those assumptions to help raise the red flag in the future when an assumptions proves not to be true.


FluentCommand - Fluent Wrapper for DbCommand

Fluent Wrapper for DbCommand

Download

The FluentCommand library is available on nuget.org via package name FluentCommand.

To install FluentCommand, run the following command in the Package Manager Console

Install-Package FluentCommand

Features

  • Fluent wrapper over DbConnection and DbCommand
  • Callback for parameter return values
  • Automatic handling of connection state
  • Caching of results
  • Automatic creating of entity from DataReader
  • Create Dynamic objects from DataReader
  • Handles multiple result sets

Example

Query all users with email domain. Entity is automatically created from DataReader.