public District Create(Guid id, string name, string sisUrl, string sisRedirectUrl, string sisUserName, string sisPassword, string timeZone, string stateCode, bool isReportCardsEnabled) { BaseSecurity.EnsureSysAdminOrDistrictRegistrator(Context); string server; District res; using (var uow = Update()) { server = FindServer(uow); var da = new DistrictDataAccess(uow); res = new District { ServerUrl = server, Id = id, Name = name, SisUrl = sisUrl, SisRedirectUrl = sisRedirectUrl, SisUserName = sisUserName, SisPassword = sisPassword, TimeZone = timeZone, MaxSyncTime = MAX_SYNC_TIME_DEFAULT, SyncLogFlushSize = SYNC_LOG_FLUSH_SIZE_DEFAULT, SyncHistoryDays = SYNC_HISTORY_DAYS_DEFAULT, FailCounter = 0, FailDelta = 0, IsDemoDistrict = false, SyncFrequency = SYNC_FREQUENCY, MaxSyncFrequency = MAX_SYNC_FREQUENCY, StateCode = stateCode, IsReportCardsEnabled = isReportCardsEnabled }; da.Insert(res); uow.Commit(); } using (var unitOfWork = new UnitOfWork(Settings.GetSchoolConnectionString(server, "Master"), false)) { var da = new DistrictDataAccess(unitOfWork); da.CreateDistrictDataBase(res.Id.ToString(), Settings.SchoolTemplateDbName); } return(res); }