using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Autofac;
using System.Reflection;
using Autofac.Core;
using EMIS.DataLogic;
using EMIS.Utility;
using Bowin.Common.XML;
using System.Xml.Linq;
using EMIS.CommonLogic.SystemServices;
using System.Configuration;
using EMIS.ViewModel;

namespace EMIS.CommonLogic
{
    public class ServiceModule : Autofac.Module
    {
        protected override void Load(ContainerBuilder builder)
        {
            var blAssembly = typeof(BaseServices).Assembly;
            builder.RegisterAssemblyTypes(blAssembly)
                .Where(x => x.FullName.StartsWith("EMIS.CommonLogic") &&
                    x.Name != "BaseServices" &&
                    x.Name.EndsWith("Services"))
                .AsImplementedInterfaces()
                .PropertiesAutowired()
                .InstancePerLifetimeScope();
        }
    }
}