using ExpenseTracking.Models;
using ExpenseTracking.Service.Account;
using ExpenseTracking.Service.Expense;
using ExpenseTracking.Service.Expense.Interface;
using ExpenseTracking.Service.Interface.Account;
using ExpenseTracking.Service.Tag;
using ExpenseTracking.Service.Tag.Interface;
using StructureMap;

namespace ExpenseTracking
{
    public class StructureMapProvider
    {
        public static void RegisterMap()
        {
            ObjectFactory.Initialize(expression =>
            {
                expression.For<IAccountService>()
                        .Add(new AccountService());

                expression.For<FooEntities>()
                       .Add(new FooEntities());

                expression.For<ITagService>()
                        .Add<TagService>();

                expression.For<IExpenseService>()
                        .Add<ExpenseService>();

            });
        }
    }
}