Exemple #1
0
        public async Task Create_Website_Test()
        {
            Guid websitekey = Guid.NewGuid();
            var  container  = new UnityContainer();

            var websiteMaster = WebsiteMaster.CreateWebsiteMaster(
                "Emdeon Script",
                "http://portal.nmm.cc/nmm/en/index.jsp",
                "CFC",
                Guid.NewGuid(),
                117
                );

            Func <WebsiteMaster, string, Task <Guid> > CreateWebsiteRecord = async(website, connectionString) =>
            {
                using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings[connectionString].ConnectionString))
                {
                    container.RegisterType <ISmartAgentRepo, CreateSmartAgentUserRepo>(new InjectionConstructor(db));
                    var repo = container.Resolve <ISmartAgentRepo>();
                    return(await repo.CreateWebsiteMasterRecord(website));
                }
            };

            Func <string, string, Task <WebsiteMaster> > FindWebsiteRecord = async(searchTerm, connectionString) =>
            {
                using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings[connectionString].ConnectionString))
                {
                    container.RegisterType <ISmartAgentRepo, CreateSmartAgentUserRepo>(new InjectionConstructor(db));
                    var repo = container.Resolve <ISmartAgentRepo>();
                    return(await repo.FindWebsiteRecord(searchTerm));
                }
            };

            var dataSource     = _devSmartAgent;
            var prodDataSource = _prodSmartAgentDb;

            var result = await FindWebsiteRecord(websiteMaster.WebsiteDescription, dataSource);

            if (result == null)
            {
                websitekey = await CreateWebsiteRecord(websiteMaster, dataSource);

                write(websitekey);
            }
            write(result.WebsiteDescription + " " + result.WebsiteKey);

            var result2 = await FindWebsiteRecord(websiteMaster.WebsiteDescription, prodDataSource);

            if (result2 == null)
            {
                websitekey = await CreateWebsiteRecord(websiteMaster, prodDataSource);

                write(websitekey);
            }
            write(result.WebsiteDescription + " " + result.WebsiteKey);
        }