public async Task UsersShouldNotBeAbleToRegisterIfNotAllowed()
        {
            var mockUserManager = UsersMockHelper.MockUserManager <IUser>().Object;
            var settings        = new RegistrationSettings {
                UsersCanRegister = UserRegistrationType.NoRegistration
            };
            var mockSiteService = Mock.Of <ISiteService>(ss =>
                                                         ss.GetSiteSettingsAsync() == Task.FromResult(
                                                             Mock.Of <ISite>(s => s.Properties == JObject.FromObject(new { RegistrationSettings = settings }))
                                                             )
                                                         );
            var mockSmtpService = Mock.Of <ISmtpService>();

            var controller = new RegistrationController(
                mockUserManager,
                Mock.Of <IAuthorizationService>(),
                mockSiteService,
                Mock.Of <INotifier>(),
                Mock.Of <IEmailAddressValidator>(),
                Mock.Of <ILogger <RegistrationController> >(),
                Mock.Of <IHtmlLocalizer <RegistrationController> >(),
                Mock.Of <IStringLocalizer <RegistrationController> >());

            var result = await controller.Register();

            Assert.IsType <NotFoundResult>(result);

            // Post
            result = await controller.Register(new RegisterViewModel());

            Assert.IsType <NotFoundResult>(result);
        }
예제 #2
0
        /// <summary>
        /// Registers the device.
        /// </summary>
        /// <param name="registration">The registration.</param>
        /// <returns></returns>
        public void RegisterDevice(RegistrationSettings registration)
        {
            if (_recvrComm == null) throw new InvalidOperationException("Receiver communications port is null");

            if (registration.GameNumber < 1) throw new InvalidOperationException("Match Number must be between 1-255");
            if (registration.MinimumPressure < 10) throw new InvalidOperationException("Minimum Pressure Setting range is 10-255");

            Trace.TraceInformation("{0}.RegisterDevice: OpCode={1} Match={2} Court={3} RegSeq={4} MinPressure={5} Touch={6}",
                  CLASSNAME, registration.OpCode, registration.GameNumber, CourtNumber, _registrationSeq, registration.MinimumPressure, registration.TouchSensorMode);
            Trace.Indent();
            // Send registration command to receiver
            _recvrComm.SendDataPacket(new byte[6] 
            { 
                registration.GameNumber, 
                (byte)registration.OpCode,
                CourtNumber, 
                _registrationSeq, 
                registration.MinimumPressure,
                (byte)registration.TouchSensorMode 
            });

            // Increment the registration sequence number with wrap around
            _registrationSeq = (byte)(_registrationSeq + 1 % 0xFF);

            Trace.Unindent();
        }
예제 #3
0
 public MembershipSettingsBag(LoginSettings login, PasswordSettings password, RegistrationSettings registration, PasswordResetRetrievalSettings passwordResetRetrievalSettings)
 {
     Login = login;
     Password = password;
     Registration = registration;
     PasswordResetRetrievalSettings = passwordResetRetrievalSettings;
 }
        public async Task UsersShouldBeAbleToRegisterIfAllowed()
        {
            var mockUserManager = MockUserManager <IUser>().Object;
            var settings        = new RegistrationSettings {
                UsersCanRegister = true
            };
            var mockSiteService = Mock.Of <ISiteService>(ss =>
                                                         ss.GetSiteSettingsAsync() == Task.FromResult(
                                                             Mock.Of <ISite>(s => s.Properties == JObject.FromObject(new { RegistrationSettings = settings }))
                                                             )
                                                         );

            var controller = new AccountController(
                Mock.Of <IUserService>(),
                MockSignInManager(mockUserManager).Object,
                mockUserManager,
                Mock.Of <ILogger <AccountController> >(),
                mockSiteService);


            var result = await controller.Register();

            Assert.IsType <ViewResult>(result);

            // Post
            result = await controller.Register(new RegisterViewModel());

            Assert.IsType <ViewResult>(result);
        }
예제 #5
0
 public RegistrationModel(RegistrationSettings settings)
 {
     if (settings == null)
     {
         return;
     }
     UsersCanSelfRegister = settings.UsersCanSelfRegister;
     SelfRegistrationMandatoryEmailAddressHostnames = settings.SelfRegistrationMandatoryEmailAddressHostnames;
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                rptr.DataSource = RegistrationSettings.GetAll();
                rptr.DataBind();

                ((BaseSRPPage)Page).TranslateStrings(rptr);
            }
        }
예제 #7
0
        public static List <IRegistrationSetting> GetDoubleSettings(IRegistrationSetting setting)
        {
            var conflictedSettings = new List <IRegistrationSetting>();

            #region Конфликт по условиям

            var allSettings = RegistrationSettings.GetAll(s => !Equals(s, setting) && setting.SettingType == s.SettingType &&
                                                          s.Status.Value == CoreEntities.DatabookEntry.Status.Active).ToList();

            foreach (var documentKind in setting.DocumentKinds)
            {
                conflictedSettings.AddRange(allSettings.Where(s => s.DocumentKinds.Any(o => o.DocumentKind == documentKind.DocumentKind)).ToList());
            }

            allSettings = conflictedSettings.ToList();
            conflictedSettings.Clear();

            if (setting.BusinessUnits.Any())
            {
                foreach (var unit in setting.BusinessUnits)
                {
                    conflictedSettings.AddRange(allSettings.Where(s => s.BusinessUnits.Any(o => o.BusinessUnit == unit.BusinessUnit)).ToList());
                }
            }
            else
            {
                conflictedSettings.AddRange(allSettings.Where(s => !s.BusinessUnits.Any()).ToList());
            }

            allSettings = conflictedSettings.ToList();
            conflictedSettings.Clear();

            if (setting.Departments.Any())
            {
                foreach (var department in setting.Departments)
                {
                    conflictedSettings.AddRange(allSettings.Where(s => s.Departments.Any(o => o.Department == department.Department)).ToList());
                }
            }
            else
            {
                conflictedSettings.AddRange(allSettings.Where(s => !s.Departments.Any()).ToList());
            }

            #endregion

            return(conflictedSettings.Distinct().ToList());
        }
예제 #8
0
        public void LoadData()
        {
            var patron = (Patron)Session["Patron"];

            int totalPoints = PatronPoints.GetTotalPatronPoints(patron.PID);

            lblPoints.Text = totalPoints.ToInt();
            var pgm = Programs.FetchObject(patron.ProgID);

            if (pgm.ProgramGameID > 0)
            {
                if (ProgramGame.FetchObject(pgm.ProgramGameID) != null)
                {
                    LoadNextLevelInfo(patron, pgm, totalPoints);
                }
            }


            int readingPoints             = PatronPoints.GetPatronReadingPoints(patron.PID);
            RegistrationSettings settings = RegistrationSettings.FetchObject(patron.TenID);

            if (settings.Goal_Show)
            {
                int totalGoal = patron.GoalCache;

                int percent = 0;

                /* avoid divide by zero */
                if (totalGoal > 0)
                {
                    percent = (readingPoints * 100) / totalGoal;
                }

                String percentString = $"{percent}%";
                lblPercentGoal.Text = percentString;


                /* display over 100% in label, but do not allow bar to extend outside of bounds */
                int    widthPercent       = Math.Min(percent, 100);
                String widthPercentString = $"{widthPercent}%";

                divGoalProgressBar.Style["width"] = widthPercentString;
            }
            else
            {
                divGoalProgress.Visible = false;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                var sessionProgramId = Session["ProgramID"];
                int programId;
                if (sessionProgramId != null)
                {
                    try
                    {
                        programId = sessionProgramId.ToString().SafeToInt();
                    }
                    catch (Exception)
                    {
                        programId = Programs.GetDefaultProgramID();
                    }
                }
                else
                {
                    programId = Programs.GetDefaultProgramID();
                }
                var currentProgram = Programs.FetchObject(programId);

                DateTime startDate = currentProgram.StartDate < currentProgram.LoggingStart
                    ? currentProgram.StartDate
                    : currentProgram.LoggingStart;

                DateTime endDate = currentProgram.EndDate > currentProgram.LoggingEnd
                    ? currentProgram.EndDate
                    : currentProgram.LoggingEnd;

                if (DateTime.Now < startDate)
                {
                    Response.Redirect("~");
                }
                else if (DateTime.Now > endDate)
                {
                    Response.Redirect("~");
                }
                var dataSource = RegistrationSettings.GetAll();
                rptr.DataSource = dataSource;
                rptr.DataBind();

                ((BaseSRPPage)Page).TranslateStrings(rptr);
            }
        }
예제 #10
0
        public static List <IDocumentRegister> GetDocumentRegistersByParams(IDocumentKind kind, IBusinessUnit unit, IDepartment department,
                                                                            Enumeration?settingType, bool forCurrentUser)
        {
            // Результат сразу замыкается в ToList, так как иначе не транслируется в SQL, если вызывать на сервере.
            // Все журналы, указанные в настройках регистрации.
            var documentRegistersWithRegistrationSettings = RegistrationSettings
                                                            .GetAllCached(s => s.Status == CoreEntities.DatabookEntry.Status.Active &&
                                                                          s.SettingType == Docflow.RegistrationSetting.SettingType.Registration)
                                                            .Select(s => s.DocumentRegister)
                                                            .ToList();

            // Все журналы, кроме указанных в настройках регистрации.
            var documentRegistersWithoutRegistrationSettings = DocumentRegisters.GetAll()
                                                               .Where(l => !documentRegistersWithRegistrationSettings.Contains(l));

            // Журналы, подходящие по непротиворечивым настройкам.
            var documentRegistersBySettings = Functions.RegistrationSetting
                                              .GetAvailableSettingsByParams(settingType, unit, kind, department)
                                              .Select(s => s.DocumentRegister)
                                              .ToList();

            // Журналы настроек регистрации, подходящих для текущего документа.
            var documentRegistersByRegistrationSettings = Functions.RegistrationSetting
                                                          .GetAvailableSettingsByParams(Docflow.RegistrationSetting.SettingType.Registration, unit, kind, department)
                                                          .Select(s => s.DocumentRegister)
                                                          .ToList();

            // Получить все журналы по настройкам.
            documentRegistersByRegistrationSettings.AddRange(documentRegistersBySettings);

            // Фильтруем журналы по документопотоку. Только журналы регистрации.
            var result = Functions.DocumentRegister.GetFilteredDocumentRegisters(kind.DocumentFlow.Value, true, forCurrentUser)
                         .Where(a => documentRegistersByRegistrationSettings.Contains(a) || documentRegistersWithoutRegistrationSettings.Contains(a)).ToList();

            // Для резервирования добавить настройки резервирования в обход проверки доступности журнала группе регистрации.
            // Делопроизводитель должен иметь возможность резервировать номер в документе, который не сможет зарегистрировать.
            if (settingType == Docflow.RegistrationSetting.SettingType.Reservation)
            {
                result.AddRange(documentRegistersBySettings);
            }

            return(result.Distinct().ToList());
        }
예제 #11
0
        public void CanRegisterFactories()
        {
            var services = new ServiceCollection();

            var registrationSettings = new RegistrationSettings()
            {
                Assemblies = new[] {
                    typeof(RegistrationTest).Assembly
                }
            };

            services.AddAssemblyTypesAsImplementedInterfaces(registrationSettings);
            services.AddAssemblyTypesAsFactories(registrationSettings);

            var container = services.BuildServiceProvider();

            var instance = container.GetService <Func <IGenericWrapper> >()();

            Assert.IsNotNull(instance);
        }
예제 #12
0
        /// <summary>
        /// Registers the device.
        /// </summary>
        /// <param name="registration">The registration.</param>
        public void RegisterDevice(RegistrationSettings registration)
        {
            if (this.receiverComm == null)
            {
                throw new InvalidOperationException("Receiver communications port is null");
            }

            if (registration.GameNumber < 1)
            {
                throw new InvalidOperationException("Game Number must be between 1-255");
            }

            if (registration.MinimumPressure < 30)
            {
                throw new InvalidOperationException("Minimum Pressure Setting range is 30-255");
            }

            Trace.TraceInformation(
                "{0}.RegisterDevice: OpCode={1} Match={2} Court={3} RegSeq={4} MinPressure={5} Touch={6}",
                CLASSNAME,
                registration.OperationCode,
                registration.GameNumber,
                this.CourtNumber,
                registration.RegistrationSequence,
                registration.MinimumPressure,
                registration.TouchSensorMode);
            Trace.Indent();

            // Send registration command to receiver
            this.receiverComm.SendDataPacket(new byte[6]
            {
                registration.GameNumber,
                (byte)registration.OperationCode,
                this.CourtNumber,
                registration.RegistrationSequence,
                registration.MinimumPressure,
                (byte)registration.TouchSensorMode
            });

            Trace.Unindent();
        }
예제 #13
0
        public static void OnRegister(Type t)
        {
            // See http://www.codeproject.com/Articles/839585/Solid-Edge-ST-AddIn-Architecture-Overview#Registration for registration details.
            // The following code helps write registry entries that Solid Edge needs to identify an addin. You can omit this code and
            // user installer logic if you'd like. This is simply here to help.

            try
            {
                var settings = new RegistrationSettings(t);

                settings.Enabled = true;
                //settings.Environments.Add(SolidEdgeSDK.EnvironmentCategories.Application);
                settings.Environments.Add(SolidEdgeSDK.EnvironmentCategories.AllDocumentEnvrionments);

                // See http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx for LCID details.
                var englishCulture = CultureInfo.GetCultureInfo(1033);

                // Title & Summary are Locale specific.
                settings.Titles.Add(englishCulture, "SolidEdge.Community.TestAddIn");
                settings.Summaries.Add(englishCulture, "Solid Edge Addin in .NET 4.0.");

                var spanishCultere = CultureInfo.GetCultureInfo(3082);
                settings.Titles.Add(spanishCultere, "SolidEdge.Community.TestAddIn");
                settings.Summaries.Add(spanishCultere, "Solid Edge Addin in .NET 4.0.");

                // Optionally, you can add additional locales.
                var germanCultere = CultureInfo.GetCultureInfo(1031);
                settings.Titles.Add(germanCultere, "SolidEdge.Community.TestAddIn");
                settings.Summaries.Add(germanCultere, "Solid Edge Addin in .NET 4.0.");

                MyAddIn.Register(settings);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.StackTrace, ex.Message);
            }
        }
        public async Task UsersShouldBeAbleToRegisterIfAllowed()
        {
            var mockUserManager = MockUserManager <IUser>().Object;
            var settings        = new RegistrationSettings {
                UsersCanRegister = true
            };
            var mockSiteService = Mock.Of <ISiteService>(ss =>
                                                         ss.GetSiteSettingsAsync() == Task.FromResult(
                                                             Mock.Of <ISite>(s => s.Properties == JObject.FromObject(new { RegistrationSettings = settings }))
                                                             )
                                                         );
            var mockSmtpService = Mock.Of <ISmtpService>();

            var controller = new RegistrationController(
                Mock.Of <IUserService>(),
                mockUserManager,
                MockSignInManager(mockUserManager).Object,
                Mock.Of <IAuthorizationService>(),
                mockSiteService,
                Mock.Of <INotifier>(),
                mockSmtpService,
                Mock.Of <IShapeFactory>(),
                Mock.Of <IHtmlDisplay>(),
                Mock.Of <ILogger <RegistrationController> >(),
                Mock.Of <IHtmlLocalizer <RegistrationController> >(),
                Mock.Of <IStringLocalizer <RegistrationController> >(),
                Enumerable.Empty <IRegistrationFormEvents>());

            var result = await controller.Register();

            Assert.IsType <ViewResult>(result);

            // Post
            result = await controller.Register(new RegisterViewModel());

            Assert.IsType <ViewResult>(result);
        }
예제 #15
0
        public static IQueryable <IRegistrationSetting> GetAvailableSettingsByParams(Enumeration?settingType,
                                                                                     IBusinessUnit businessUnit,
                                                                                     IDocumentKind documentKind,
                                                                                     IDepartment department)
        {
            var activeStatus = CoreEntities.DatabookEntry.Status.Active;
            var settings     = RegistrationSettings.GetAllCached(r => r.Status == activeStatus &&
                                                                 r.SettingType == settingType &&
                                                                 r.DocumentRegister.Status == activeStatus);

            settings = businessUnit != null?
                       settings.Where(r => r.BusinessUnits.Any(o => o.BusinessUnit.Equals(businessUnit)) || !r.BusinessUnits.Any()) :
                           settings.Where(r => !r.BusinessUnits.Any());

            settings = documentKind != null?
                       settings.Where(r => r.DocumentKinds.Any(o => o.DocumentKind.Equals(documentKind)) || !r.DocumentKinds.Any()) :
                           settings.Where(r => !r.DocumentKinds.Any());

            settings = department != null?
                       settings.Where(r => r.Departments.Any(o => o.Department.Equals(department)) || !r.Departments.Any()) :
                           settings.Where(r => !r.Departments.Any());

            return(settings);
        }
예제 #16
0
 public PortalSettings()
 {
     Registration = new RegistrationSettings();
 }
예제 #17
0
        protected void DvItemCommand(object sender, DetailsViewCommandEventArgs e)
        {
            string returnURL = "Default.aspx";

            if (e.CommandName.ToLower() == "back")
            {
                Response.Redirect(returnURL);
            }
            if (e.CommandName.ToLower() == "refresh")
            {
                try
                {
                    odsData.DataBind();
                    dv.DataBind();
                    dv.ChangeMode(DetailsViewMode.Edit);

                    var masterPage = (IControlRoomMaster)Master;
                    if (masterPage != null)
                    {
                        masterPage.PageMessage = SRPResources.RefreshOK;
                    }
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }
            if (e.CommandName.ToLower() == "add" || e.CommandName.ToLower() == "addandback")
            {
                try
                {
                    var obj = new RegistrationSettings();
                    //obj.GenNotificationFlag = ((CheckBox)((DetailsView)sender).FindControl("TabContainer1").FindControl("TabPanel2").FindControl("GenNotificationFlag")).Checked;

                    obj.Literacy1Label                  = ((TextBox)((DetailsView)sender).FindControl("Literacy1Label")).Text;
                    obj.Literacy2Label                  = ((TextBox)((DetailsView)sender).FindControl("Literacy2Label")).Text;
                    obj.DOB_Prompt                      = ((CheckBox)((DetailsView)sender).FindControl("DOB_Prompt")).Checked;
                    obj.Age_Prompt                      = ((CheckBox)((DetailsView)sender).FindControl("Age_Prompt")).Checked;
                    obj.SchoolGrade_Prompt              = ((CheckBox)((DetailsView)sender).FindControl("SchoolGrade_Prompt")).Checked;
                    obj.FirstName_Prompt                = ((CheckBox)((DetailsView)sender).FindControl("FirstName_Prompt")).Checked;
                    obj.MiddleName_Prompt               = ((CheckBox)((DetailsView)sender).FindControl("MiddleName_Prompt")).Checked;
                    obj.LastName_Prompt                 = ((CheckBox)((DetailsView)sender).FindControl("LastName_Prompt")).Checked;
                    obj.Gender_Prompt                   = ((CheckBox)((DetailsView)sender).FindControl("Gender_Prompt")).Checked;
                    obj.EmailAddress_Prompt             = ((CheckBox)((DetailsView)sender).FindControl("EmailAddress_Prompt")).Checked;
                    obj.PhoneNumber_Prompt              = ((CheckBox)((DetailsView)sender).FindControl("PhoneNumber_Prompt")).Checked;
                    obj.StreetAddress1_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress1_Prompt")).Checked;
                    obj.StreetAddress2_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress2_Prompt")).Checked;
                    obj.City_Prompt                     = ((CheckBox)((DetailsView)sender).FindControl("City_Prompt")).Checked;
                    obj.State_Prompt                    = ((CheckBox)((DetailsView)sender).FindControl("State_Prompt")).Checked;
                    obj.ZipCode_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("ZipCode_Prompt")).Checked;
                    obj.Country_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Country_Prompt")).Checked;
                    obj.County_Prompt                   = ((CheckBox)((DetailsView)sender).FindControl("County_Prompt")).Checked;
                    obj.ParentGuardianFirstName_Prompt  = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianFirstName_Prompt")).Checked;
                    obj.ParentGuardianLastName_Prompt   = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianLastName_Prompt")).Checked;
                    obj.ParentGuardianMiddleName_Prompt = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianMiddleName_Prompt")).Checked;
                    obj.PrimaryLibrary_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("PrimaryLibrary_Prompt")).Checked;
                    obj.LibraryCard_Prompt              = ((CheckBox)((DetailsView)sender).FindControl("LibraryCard_Prompt")).Checked;
                    obj.SchoolName_Prompt               = ((CheckBox)((DetailsView)sender).FindControl("SchoolName_Prompt")).Checked;
                    obj.District_Prompt                 = ((CheckBox)((DetailsView)sender).FindControl("District_Prompt")).Checked;
                    obj.SDistrict_Prompt                = ((CheckBox)((DetailsView)sender).FindControl("SDistrict_Prompt")).Checked;
                    obj.Teacher_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Teacher_Prompt")).Checked;
                    obj.GroupTeamName_Prompt            = ((CheckBox)((DetailsView)sender).FindControl("GroupTeamName_Prompt")).Checked;
                    obj.SchoolType_Prompt               = ((CheckBox)((DetailsView)sender).FindControl("SchoolType_Prompt")).Checked;
                    obj.LiteracyLevel1_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel1_Prompt")).Checked;
                    obj.LiteracyLevel2_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel2_Prompt")).Checked;
                    obj.ParentPermFlag_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("ParentPermFlag_Prompt")).Checked;
                    obj.Over18Flag_Prompt               = ((CheckBox)((DetailsView)sender).FindControl("Over18Flag_Prompt")).Checked;
                    obj.ShareFlag_Prompt                = ((CheckBox)((DetailsView)sender).FindControl("ShareFlag_Prompt")).Checked;
                    obj.TermsOfUseflag_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("TermsOfUseflag_Prompt")).Checked;
                    obj.Custom1_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Custom1_Prompt")).Checked;
                    obj.Custom2_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Custom2_Prompt")).Checked;
                    obj.Custom3_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Custom3_Prompt")).Checked;
                    obj.Custom4_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Custom4_Prompt")).Checked;
                    obj.Custom5_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Custom5_Prompt")).Checked;
                    obj.DOB_Req                       = ((CheckBox)((DetailsView)sender).FindControl("DOB_Req")).Checked;
                    obj.Age_Req                       = ((CheckBox)((DetailsView)sender).FindControl("Age_Req")).Checked;
                    obj.SchoolGrade_Req               = ((CheckBox)((DetailsView)sender).FindControl("SchoolGrade_Req")).Checked;
                    obj.FirstName_Req                 = ((CheckBox)((DetailsView)sender).FindControl("FirstName_Req")).Checked;
                    obj.MiddleName_Req                = ((CheckBox)((DetailsView)sender).FindControl("MiddleName_Req")).Checked;
                    obj.LastName_Req                  = ((CheckBox)((DetailsView)sender).FindControl("LastName_Req")).Checked;
                    obj.Gender_Req                    = ((CheckBox)((DetailsView)sender).FindControl("Gender_Req")).Checked;
                    obj.EmailAddress_Req              = ((CheckBox)((DetailsView)sender).FindControl("EmailAddress_Req")).Checked;
                    obj.PhoneNumber_Req               = ((CheckBox)((DetailsView)sender).FindControl("PhoneNumber_Req")).Checked;
                    obj.StreetAddress1_Req            = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress1_Req")).Checked;
                    obj.StreetAddress2_Req            = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress2_Req")).Checked;
                    obj.City_Req                      = ((CheckBox)((DetailsView)sender).FindControl("City_Req")).Checked;
                    obj.State_Req                     = ((CheckBox)((DetailsView)sender).FindControl("State_Req")).Checked;
                    obj.ZipCode_Req                   = ((CheckBox)((DetailsView)sender).FindControl("ZipCode_Req")).Checked;
                    obj.Country_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Country_Req")).Checked;
                    obj.County_Req                    = ((CheckBox)((DetailsView)sender).FindControl("County_Req")).Checked;
                    obj.ParentGuardianFirstName_Req   = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianFirstName_Req")).Checked;
                    obj.ParentGuardianLastName_Req    = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianLastName_Req")).Checked;
                    obj.ParentGuardianMiddleName_Req  = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianMiddleName_Req")).Checked;
                    obj.PrimaryLibrary_Req            = ((CheckBox)((DetailsView)sender).FindControl("PrimaryLibrary_Req")).Checked;
                    obj.LibraryCard_Req               = ((CheckBox)((DetailsView)sender).FindControl("LibraryCard_Req")).Checked;
                    obj.SchoolName_Req                = ((CheckBox)((DetailsView)sender).FindControl("SchoolName_Req")).Checked;
                    obj.District_Req                  = ((CheckBox)((DetailsView)sender).FindControl("District_Req")).Checked;
                    obj.SDistrict_Req                 = ((CheckBox)((DetailsView)sender).FindControl("SDistrict_Req")).Checked;
                    obj.Teacher_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Teacher_Req")).Checked;
                    obj.GroupTeamName_Req             = ((CheckBox)((DetailsView)sender).FindControl("GroupTeamName_Req")).Checked;
                    obj.SchoolType_Req                = ((CheckBox)((DetailsView)sender).FindControl("SchoolType_Req")).Checked;
                    obj.LiteracyLevel1_Req            = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel1_Req")).Checked;
                    obj.LiteracyLevel2_Req            = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel2_Req")).Checked;
                    obj.ParentPermFlag_Req            = ((CheckBox)((DetailsView)sender).FindControl("ParentPermFlag_Req")).Checked;
                    obj.Over18Flag_Req                = ((CheckBox)((DetailsView)sender).FindControl("Over18Flag_Req")).Checked;
                    obj.ShareFlag_Req                 = ((CheckBox)((DetailsView)sender).FindControl("ShareFlag_Req")).Checked;
                    obj.TermsOfUseflag_Req            = ((CheckBox)((DetailsView)sender).FindControl("TermsOfUseflag_Req")).Checked;
                    obj.Custom1_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Custom1_Req")).Checked;
                    obj.Custom2_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Custom2_Req")).Checked;
                    obj.Custom3_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Custom3_Req")).Checked;
                    obj.Custom4_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Custom4_Req")).Checked;
                    obj.Custom5_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Custom5_Req")).Checked;
                    obj.DOB_Show                      = ((CheckBox)((DetailsView)sender).FindControl("DOB_Show")).Checked;
                    obj.Age_Show                      = ((CheckBox)((DetailsView)sender).FindControl("Age_Show")).Checked;
                    obj.SchoolGrade_Show              = ((CheckBox)((DetailsView)sender).FindControl("SchoolGrade_Show")).Checked;
                    obj.FirstName_Show                = ((CheckBox)((DetailsView)sender).FindControl("FirstName_Show")).Checked;
                    obj.MiddleName_Show               = ((CheckBox)((DetailsView)sender).FindControl("MiddleName_Show")).Checked;
                    obj.LastName_Show                 = ((CheckBox)((DetailsView)sender).FindControl("LastName_Show")).Checked;
                    obj.Gender_Show                   = ((CheckBox)((DetailsView)sender).FindControl("Gender_Show")).Checked;
                    obj.EmailAddress_Show             = ((CheckBox)((DetailsView)sender).FindControl("EmailAddress_Show")).Checked;
                    obj.PhoneNumber_Show              = ((CheckBox)((DetailsView)sender).FindControl("PhoneNumber_Show")).Checked;
                    obj.StreetAddress1_Show           = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress1_Show")).Checked;
                    obj.StreetAddress2_Show           = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress2_Show")).Checked;
                    obj.City_Show                     = ((CheckBox)((DetailsView)sender).FindControl("City_Show")).Checked;
                    obj.State_Show                    = ((CheckBox)((DetailsView)sender).FindControl("State_Show")).Checked;
                    obj.ZipCode_Show                  = ((CheckBox)((DetailsView)sender).FindControl("ZipCode_Show")).Checked;
                    obj.Country_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Country_Show")).Checked;
                    obj.County_Show                   = ((CheckBox)((DetailsView)sender).FindControl("County_Show")).Checked;
                    obj.ParentGuardianFirstName_Show  = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianFirstName_Show")).Checked;
                    obj.ParentGuardianLastName_Show   = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianLastName_Show")).Checked;
                    obj.ParentGuardianMiddleName_Show = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianMiddleName_Show")).Checked;
                    obj.PrimaryLibrary_Show           = ((CheckBox)((DetailsView)sender).FindControl("PrimaryLibrary_Show")).Checked;
                    obj.LibraryCard_Show              = ((CheckBox)((DetailsView)sender).FindControl("LibraryCard_Show")).Checked;
                    obj.SchoolName_Show               = ((CheckBox)((DetailsView)sender).FindControl("SchoolName_Show")).Checked;
                    obj.District_Show                 = ((CheckBox)((DetailsView)sender).FindControl("District_Show")).Checked;
                    obj.SDistrict_Show                = ((CheckBox)((DetailsView)sender).FindControl("SDistrict_Show")).Checked;
                    obj.Teacher_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Teacher_Show")).Checked;
                    obj.GroupTeamName_Show            = ((CheckBox)((DetailsView)sender).FindControl("GroupTeamName_Show")).Checked;
                    obj.SchoolType_Show               = ((CheckBox)((DetailsView)sender).FindControl("SchoolType_Show")).Checked;
                    obj.LiteracyLevel1_Show           = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel1_Show")).Checked;
                    obj.LiteracyLevel2_Show           = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel2_Show")).Checked;
                    obj.ParentPermFlag_Show           = ((CheckBox)((DetailsView)sender).FindControl("ParentPermFlag_Show")).Checked;
                    obj.Over18Flag_Show               = ((CheckBox)((DetailsView)sender).FindControl("Over18Flag_Show")).Checked;
                    obj.ShareFlag_Show                = ((CheckBox)((DetailsView)sender).FindControl("ShareFlag_Show")).Checked;
                    obj.TermsOfUseflag_Show           = ((CheckBox)((DetailsView)sender).FindControl("TermsOfUseflag_Show")).Checked;
                    obj.Custom1_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Custom1_Show")).Checked;
                    obj.Custom2_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Custom2_Show")).Checked;
                    obj.Custom3_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Custom3_Show")).Checked;
                    obj.Custom4_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Custom4_Show")).Checked;
                    obj.Custom5_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Custom5_Show")).Checked;
                    obj.DOB_Edit                      = ((CheckBox)((DetailsView)sender).FindControl("DOB_Edit")).Checked;
                    obj.Age_Edit                      = ((CheckBox)((DetailsView)sender).FindControl("Age_Edit")).Checked;
                    obj.SchoolGrade_Edit              = ((CheckBox)((DetailsView)sender).FindControl("SchoolGrade_Edit")).Checked;
                    obj.FirstName_Edit                = ((CheckBox)((DetailsView)sender).FindControl("FirstName_Edit")).Checked;
                    obj.MiddleName_Edit               = ((CheckBox)((DetailsView)sender).FindControl("MiddleName_Edit")).Checked;
                    obj.LastName_Edit                 = ((CheckBox)((DetailsView)sender).FindControl("LastName_Edit")).Checked;
                    obj.Gender_Edit                   = ((CheckBox)((DetailsView)sender).FindControl("Gender_Edit")).Checked;
                    obj.EmailAddress_Edit             = ((CheckBox)((DetailsView)sender).FindControl("EmailAddress_Edit")).Checked;
                    obj.PhoneNumber_Edit              = ((CheckBox)((DetailsView)sender).FindControl("PhoneNumber_Edit")).Checked;
                    obj.StreetAddress1_Edit           = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress1_Edit")).Checked;
                    obj.StreetAddress2_Edit           = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress2_Edit")).Checked;
                    obj.City_Edit                     = ((CheckBox)((DetailsView)sender).FindControl("City_Edit")).Checked;
                    obj.State_Edit                    = ((CheckBox)((DetailsView)sender).FindControl("State_Edit")).Checked;
                    obj.ZipCode_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("ZipCode_Edit")).Checked;
                    obj.Country_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Country_Edit")).Checked;
                    obj.County_Edit                   = ((CheckBox)((DetailsView)sender).FindControl("County_Edit")).Checked;
                    obj.ParentGuardianFirstName_Edit  = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianFirstName_Edit")).Checked;
                    obj.ParentGuardianLastName_Edit   = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianLastName_Edit")).Checked;
                    obj.ParentGuardianMiddleName_Edit = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianMiddleName_Edit")).Checked;
                    obj.PrimaryLibrary_Edit           = ((CheckBox)((DetailsView)sender).FindControl("PrimaryLibrary_Edit")).Checked;
                    obj.LibraryCard_Edit              = ((CheckBox)((DetailsView)sender).FindControl("LibraryCard_Edit")).Checked;
                    obj.SchoolName_Edit               = ((CheckBox)((DetailsView)sender).FindControl("SchoolName_Edit")).Checked;
                    obj.District_Edit                 = ((CheckBox)((DetailsView)sender).FindControl("District_Edit")).Checked;
                    obj.SDistrict_Edit                = ((CheckBox)((DetailsView)sender).FindControl("SDistrict_Edit")).Checked;
                    obj.Teacher_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Teacher_Edit")).Checked;
                    obj.GroupTeamName_Edit            = ((CheckBox)((DetailsView)sender).FindControl("GroupTeamName_Edit")).Checked;
                    obj.SchoolType_Edit               = ((CheckBox)((DetailsView)sender).FindControl("SchoolType_Edit")).Checked;
                    obj.LiteracyLevel1_Edit           = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel1_Edit")).Checked;
                    obj.LiteracyLevel2_Edit           = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel2_Edit")).Checked;
                    obj.ParentPermFlag_Edit           = ((CheckBox)((DetailsView)sender).FindControl("ParentPermFlag_Edit")).Checked;
                    obj.Over18Flag_Edit               = ((CheckBox)((DetailsView)sender).FindControl("Over18Flag_Edit")).Checked;
                    obj.ShareFlag_Edit                = ((CheckBox)((DetailsView)sender).FindControl("ShareFlag_Edit")).Checked;
                    obj.TermsOfUseflag_Edit           = ((CheckBox)((DetailsView)sender).FindControl("TermsOfUseflag_Edit")).Checked;
                    obj.Custom1_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Custom1_Edit")).Checked;
                    obj.Custom2_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Custom2_Edit")).Checked;
                    obj.Custom3_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Custom3_Edit")).Checked;
                    obj.Custom4_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Custom4_Edit")).Checked;
                    obj.Custom5_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Custom5_Edit")).Checked;

                    obj.AddedDate   = DateTime.Now;
                    obj.AddedUser   = ((SRPUser)Session[SessionData.UserProfile.ToString()]).Username; //"N/A";  // Get from session
                    obj.LastModDate = obj.AddedDate;
                    obj.LastModUser = obj.AddedUser;

                    if (obj.IsValid(BusinessRulesValidationMode.INSERT))
                    {
                        obj.Insert();
                        if (e.CommandName.ToLower() == "addandback")
                        {
                            Response.Redirect(returnURL);
                        }

                        lblPK.Text = obj.RID.ToString();

                        odsData.DataBind();
                        dv.DataBind();
                        dv.ChangeMode(DetailsViewMode.Edit);

                        var masterPage = (IControlRoomMaster)Master;
                        masterPage.PageMessage = SRPResources.AddedOK;
                    }
                    else
                    {
                        var    masterPage = (IControlRoomMaster)Master;
                        string message    = String.Format(SRPResources.ApplicationError1, "<ul>");
                        foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                        {
                            message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                        }
                        message = string.Format("{0}</ul>", message);
                        masterPage.PageError = message;
                    }
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }
            if (e.CommandName.ToLower() == "save" || e.CommandName.ToLower() == "saveandback")
            {
                try
                {
                    var obj = new RegistrationSettings();
                    int pk  = 0;// int.Parse(((DetailsView)sender).Rows[0].Cells[1].Text);
                    obj.Fetch();

                    obj.Literacy1Label                  = ((TextBox)((DetailsView)sender).FindControl("Literacy1Label")).Text;
                    obj.Literacy2Label                  = ((TextBox)((DetailsView)sender).FindControl("Literacy2Label")).Text;
                    obj.DOB_Prompt                      = ((CheckBox)((DetailsView)sender).FindControl("DOB_Prompt")).Checked;
                    obj.Age_Prompt                      = ((CheckBox)((DetailsView)sender).FindControl("Age_Prompt")).Checked;
                    obj.SchoolGrade_Prompt              = ((CheckBox)((DetailsView)sender).FindControl("SchoolGrade_Prompt")).Checked;
                    obj.FirstName_Prompt                = ((CheckBox)((DetailsView)sender).FindControl("FirstName_Prompt")).Checked;
                    obj.MiddleName_Prompt               = ((CheckBox)((DetailsView)sender).FindControl("MiddleName_Prompt")).Checked;
                    obj.LastName_Prompt                 = ((CheckBox)((DetailsView)sender).FindControl("LastName_Prompt")).Checked;
                    obj.Gender_Prompt                   = ((CheckBox)((DetailsView)sender).FindControl("Gender_Prompt")).Checked;
                    obj.EmailAddress_Prompt             = ((CheckBox)((DetailsView)sender).FindControl("EmailAddress_Prompt")).Checked;
                    obj.PhoneNumber_Prompt              = ((CheckBox)((DetailsView)sender).FindControl("PhoneNumber_Prompt")).Checked;
                    obj.StreetAddress1_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress1_Prompt")).Checked;
                    obj.StreetAddress2_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress2_Prompt")).Checked;
                    obj.City_Prompt                     = ((CheckBox)((DetailsView)sender).FindControl("City_Prompt")).Checked;
                    obj.State_Prompt                    = ((CheckBox)((DetailsView)sender).FindControl("State_Prompt")).Checked;
                    obj.ZipCode_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("ZipCode_Prompt")).Checked;
                    obj.Country_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Country_Prompt")).Checked;
                    obj.County_Prompt                   = ((CheckBox)((DetailsView)sender).FindControl("County_Prompt")).Checked;
                    obj.ParentGuardianFirstName_Prompt  = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianFirstName_Prompt")).Checked;
                    obj.ParentGuardianLastName_Prompt   = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianLastName_Prompt")).Checked;
                    obj.ParentGuardianMiddleName_Prompt = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianMiddleName_Prompt")).Checked;
                    obj.PrimaryLibrary_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("PrimaryLibrary_Prompt")).Checked;
                    obj.LibraryCard_Prompt              = ((CheckBox)((DetailsView)sender).FindControl("LibraryCard_Prompt")).Checked;
                    obj.SchoolName_Prompt               = ((CheckBox)((DetailsView)sender).FindControl("SchoolName_Prompt")).Checked;
                    obj.District_Prompt                 = ((CheckBox)((DetailsView)sender).FindControl("District_Prompt")).Checked;
                    obj.SDistrict_Prompt                = ((CheckBox)((DetailsView)sender).FindControl("SDistrict_Prompt")).Checked;
                    obj.Teacher_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Teacher_Prompt")).Checked;
                    obj.GroupTeamName_Prompt            = ((CheckBox)((DetailsView)sender).FindControl("GroupTeamName_Prompt")).Checked;
                    obj.SchoolType_Prompt               = ((CheckBox)((DetailsView)sender).FindControl("SchoolType_Prompt")).Checked;
                    obj.LiteracyLevel1_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel1_Prompt")).Checked;
                    obj.LiteracyLevel2_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel2_Prompt")).Checked;
                    obj.ParentPermFlag_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("ParentPermFlag_Prompt")).Checked;
                    obj.Over18Flag_Prompt               = ((CheckBox)((DetailsView)sender).FindControl("Over18Flag_Prompt")).Checked;
                    obj.ShareFlag_Prompt                = ((CheckBox)((DetailsView)sender).FindControl("ShareFlag_Prompt")).Checked;
                    obj.TermsOfUseflag_Prompt           = ((CheckBox)((DetailsView)sender).FindControl("TermsOfUseflag_Prompt")).Checked;
                    obj.Custom1_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Custom1_Prompt")).Checked;
                    obj.Custom2_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Custom2_Prompt")).Checked;
                    obj.Custom3_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Custom3_Prompt")).Checked;
                    obj.Custom4_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Custom4_Prompt")).Checked;
                    obj.Custom5_Prompt                  = ((CheckBox)((DetailsView)sender).FindControl("Custom5_Prompt")).Checked;
                    obj.DOB_Req                       = ((CheckBox)((DetailsView)sender).FindControl("DOB_Req")).Checked;
                    obj.Age_Req                       = ((CheckBox)((DetailsView)sender).FindControl("Age_Req")).Checked;
                    obj.SchoolGrade_Req               = ((CheckBox)((DetailsView)sender).FindControl("SchoolGrade_Req")).Checked;
                    obj.FirstName_Req                 = ((CheckBox)((DetailsView)sender).FindControl("FirstName_Req")).Checked;
                    obj.MiddleName_Req                = ((CheckBox)((DetailsView)sender).FindControl("MiddleName_Req")).Checked;
                    obj.LastName_Req                  = ((CheckBox)((DetailsView)sender).FindControl("LastName_Req")).Checked;
                    obj.Gender_Req                    = ((CheckBox)((DetailsView)sender).FindControl("Gender_Req")).Checked;
                    obj.EmailAddress_Req              = ((CheckBox)((DetailsView)sender).FindControl("EmailAddress_Req")).Checked;
                    obj.PhoneNumber_Req               = ((CheckBox)((DetailsView)sender).FindControl("PhoneNumber_Req")).Checked;
                    obj.StreetAddress1_Req            = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress1_Req")).Checked;
                    obj.StreetAddress2_Req            = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress2_Req")).Checked;
                    obj.City_Req                      = ((CheckBox)((DetailsView)sender).FindControl("City_Req")).Checked;
                    obj.State_Req                     = ((CheckBox)((DetailsView)sender).FindControl("State_Req")).Checked;
                    obj.ZipCode_Req                   = ((CheckBox)((DetailsView)sender).FindControl("ZipCode_Req")).Checked;
                    obj.Country_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Country_Req")).Checked;
                    obj.County_Req                    = ((CheckBox)((DetailsView)sender).FindControl("County_Req")).Checked;
                    obj.ParentGuardianFirstName_Req   = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianFirstName_Req")).Checked;
                    obj.ParentGuardianLastName_Req    = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianLastName_Req")).Checked;
                    obj.ParentGuardianMiddleName_Req  = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianMiddleName_Req")).Checked;
                    obj.PrimaryLibrary_Req            = ((CheckBox)((DetailsView)sender).FindControl("PrimaryLibrary_Req")).Checked;
                    obj.LibraryCard_Req               = ((CheckBox)((DetailsView)sender).FindControl("LibraryCard_Req")).Checked;
                    obj.SchoolName_Req                = ((CheckBox)((DetailsView)sender).FindControl("SchoolName_Req")).Checked;
                    obj.District_Req                  = ((CheckBox)((DetailsView)sender).FindControl("District_Req")).Checked;
                    obj.SDistrict_Req                 = ((CheckBox)((DetailsView)sender).FindControl("SDistrict_Req")).Checked;
                    obj.Teacher_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Teacher_Req")).Checked;
                    obj.GroupTeamName_Req             = ((CheckBox)((DetailsView)sender).FindControl("GroupTeamName_Req")).Checked;
                    obj.SchoolType_Req                = ((CheckBox)((DetailsView)sender).FindControl("SchoolType_Req")).Checked;
                    obj.LiteracyLevel1_Req            = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel1_Req")).Checked;
                    obj.LiteracyLevel2_Req            = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel2_Req")).Checked;
                    obj.ParentPermFlag_Req            = ((CheckBox)((DetailsView)sender).FindControl("ParentPermFlag_Req")).Checked;
                    obj.Over18Flag_Req                = ((CheckBox)((DetailsView)sender).FindControl("Over18Flag_Req")).Checked;
                    obj.ShareFlag_Req                 = ((CheckBox)((DetailsView)sender).FindControl("ShareFlag_Req")).Checked;
                    obj.TermsOfUseflag_Req            = ((CheckBox)((DetailsView)sender).FindControl("TermsOfUseflag_Req")).Checked;
                    obj.Custom1_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Custom1_Req")).Checked;
                    obj.Custom2_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Custom2_Req")).Checked;
                    obj.Custom3_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Custom3_Req")).Checked;
                    obj.Custom4_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Custom4_Req")).Checked;
                    obj.Custom5_Req                   = ((CheckBox)((DetailsView)sender).FindControl("Custom5_Req")).Checked;
                    obj.DOB_Show                      = ((CheckBox)((DetailsView)sender).FindControl("DOB_Show")).Checked;
                    obj.Age_Show                      = ((CheckBox)((DetailsView)sender).FindControl("Age_Show")).Checked;
                    obj.SchoolGrade_Show              = ((CheckBox)((DetailsView)sender).FindControl("SchoolGrade_Show")).Checked;
                    obj.FirstName_Show                = ((CheckBox)((DetailsView)sender).FindControl("FirstName_Show")).Checked;
                    obj.MiddleName_Show               = ((CheckBox)((DetailsView)sender).FindControl("MiddleName_Show")).Checked;
                    obj.LastName_Show                 = ((CheckBox)((DetailsView)sender).FindControl("LastName_Show")).Checked;
                    obj.Gender_Show                   = ((CheckBox)((DetailsView)sender).FindControl("Gender_Show")).Checked;
                    obj.EmailAddress_Show             = ((CheckBox)((DetailsView)sender).FindControl("EmailAddress_Show")).Checked;
                    obj.PhoneNumber_Show              = ((CheckBox)((DetailsView)sender).FindControl("PhoneNumber_Show")).Checked;
                    obj.StreetAddress1_Show           = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress1_Show")).Checked;
                    obj.StreetAddress2_Show           = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress2_Show")).Checked;
                    obj.City_Show                     = ((CheckBox)((DetailsView)sender).FindControl("City_Show")).Checked;
                    obj.State_Show                    = ((CheckBox)((DetailsView)sender).FindControl("State_Show")).Checked;
                    obj.ZipCode_Show                  = ((CheckBox)((DetailsView)sender).FindControl("ZipCode_Show")).Checked;
                    obj.Country_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Country_Show")).Checked;
                    obj.County_Show                   = ((CheckBox)((DetailsView)sender).FindControl("County_Show")).Checked;
                    obj.ParentGuardianFirstName_Show  = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianFirstName_Show")).Checked;
                    obj.ParentGuardianLastName_Show   = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianLastName_Show")).Checked;
                    obj.ParentGuardianMiddleName_Show = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianMiddleName_Show")).Checked;
                    obj.PrimaryLibrary_Show           = ((CheckBox)((DetailsView)sender).FindControl("PrimaryLibrary_Show")).Checked;
                    obj.LibraryCard_Show              = ((CheckBox)((DetailsView)sender).FindControl("LibraryCard_Show")).Checked;
                    obj.SchoolName_Show               = ((CheckBox)((DetailsView)sender).FindControl("SchoolName_Show")).Checked;
                    obj.District_Show                 = ((CheckBox)((DetailsView)sender).FindControl("District_Show")).Checked;
                    obj.SDistrict_Show                = ((CheckBox)((DetailsView)sender).FindControl("SDistrict_Show")).Checked;
                    obj.Teacher_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Teacher_Show")).Checked;
                    obj.GroupTeamName_Show            = ((CheckBox)((DetailsView)sender).FindControl("GroupTeamName_Show")).Checked;
                    obj.SchoolType_Show               = ((CheckBox)((DetailsView)sender).FindControl("SchoolType_Show")).Checked;
                    obj.LiteracyLevel1_Show           = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel1_Show")).Checked;
                    obj.LiteracyLevel2_Show           = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel2_Show")).Checked;
                    obj.ParentPermFlag_Show           = ((CheckBox)((DetailsView)sender).FindControl("ParentPermFlag_Show")).Checked;
                    obj.Over18Flag_Show               = ((CheckBox)((DetailsView)sender).FindControl("Over18Flag_Show")).Checked;
                    obj.ShareFlag_Show                = ((CheckBox)((DetailsView)sender).FindControl("ShareFlag_Show")).Checked;
                    obj.TermsOfUseflag_Show           = ((CheckBox)((DetailsView)sender).FindControl("TermsOfUseflag_Show")).Checked;
                    obj.Custom1_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Custom1_Show")).Checked;
                    obj.Custom2_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Custom2_Show")).Checked;
                    obj.Custom3_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Custom3_Show")).Checked;
                    obj.Custom4_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Custom4_Show")).Checked;
                    obj.Custom5_Show                  = ((CheckBox)((DetailsView)sender).FindControl("Custom5_Show")).Checked;
                    obj.DOB_Edit                      = ((CheckBox)((DetailsView)sender).FindControl("DOB_Edit")).Checked;
                    obj.Age_Edit                      = ((CheckBox)((DetailsView)sender).FindControl("Age_Edit")).Checked;
                    obj.SchoolGrade_Edit              = ((CheckBox)((DetailsView)sender).FindControl("SchoolGrade_Edit")).Checked;
                    obj.FirstName_Edit                = ((CheckBox)((DetailsView)sender).FindControl("FirstName_Edit")).Checked;
                    obj.MiddleName_Edit               = ((CheckBox)((DetailsView)sender).FindControl("MiddleName_Edit")).Checked;
                    obj.LastName_Edit                 = ((CheckBox)((DetailsView)sender).FindControl("LastName_Edit")).Checked;
                    obj.Gender_Edit                   = ((CheckBox)((DetailsView)sender).FindControl("Gender_Edit")).Checked;
                    obj.EmailAddress_Edit             = ((CheckBox)((DetailsView)sender).FindControl("EmailAddress_Edit")).Checked;
                    obj.PhoneNumber_Edit              = ((CheckBox)((DetailsView)sender).FindControl("PhoneNumber_Edit")).Checked;
                    obj.StreetAddress1_Edit           = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress1_Edit")).Checked;
                    obj.StreetAddress2_Edit           = ((CheckBox)((DetailsView)sender).FindControl("StreetAddress2_Edit")).Checked;
                    obj.City_Edit                     = ((CheckBox)((DetailsView)sender).FindControl("City_Edit")).Checked;
                    obj.State_Edit                    = ((CheckBox)((DetailsView)sender).FindControl("State_Edit")).Checked;
                    obj.ZipCode_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("ZipCode_Edit")).Checked;
                    obj.Country_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Country_Edit")).Checked;
                    obj.County_Edit                   = ((CheckBox)((DetailsView)sender).FindControl("County_Edit")).Checked;
                    obj.ParentGuardianFirstName_Edit  = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianFirstName_Edit")).Checked;
                    obj.ParentGuardianLastName_Edit   = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianLastName_Edit")).Checked;
                    obj.ParentGuardianMiddleName_Edit = ((CheckBox)((DetailsView)sender).FindControl("ParentGuardianMiddleName_Edit")).Checked;
                    obj.PrimaryLibrary_Edit           = ((CheckBox)((DetailsView)sender).FindControl("PrimaryLibrary_Edit")).Checked;
                    obj.LibraryCard_Edit              = ((CheckBox)((DetailsView)sender).FindControl("LibraryCard_Edit")).Checked;
                    obj.SchoolName_Edit               = ((CheckBox)((DetailsView)sender).FindControl("SchoolName_Edit")).Checked;
                    obj.District_Edit                 = ((CheckBox)((DetailsView)sender).FindControl("District_Edit")).Checked;
                    obj.SDistrict_Edit                = ((CheckBox)((DetailsView)sender).FindControl("SDistrict_Edit")).Checked;
                    obj.Teacher_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Teacher_Edit")).Checked;
                    obj.GroupTeamName_Edit            = ((CheckBox)((DetailsView)sender).FindControl("GroupTeamName_Edit")).Checked;
                    obj.SchoolType_Edit               = ((CheckBox)((DetailsView)sender).FindControl("SchoolType_Edit")).Checked;
                    obj.LiteracyLevel1_Edit           = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel1_Edit")).Checked;
                    obj.LiteracyLevel2_Edit           = ((CheckBox)((DetailsView)sender).FindControl("LiteracyLevel2_Edit")).Checked;
                    obj.ParentPermFlag_Edit           = ((CheckBox)((DetailsView)sender).FindControl("ParentPermFlag_Edit")).Checked;
                    obj.Over18Flag_Edit               = ((CheckBox)((DetailsView)sender).FindControl("Over18Flag_Edit")).Checked;
                    obj.ShareFlag_Edit                = ((CheckBox)((DetailsView)sender).FindControl("ShareFlag_Edit")).Checked;
                    obj.TermsOfUseflag_Edit           = ((CheckBox)((DetailsView)sender).FindControl("TermsOfUseflag_Edit")).Checked;
                    obj.Custom1_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Custom1_Edit")).Checked;
                    obj.Custom2_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Custom2_Edit")).Checked;
                    obj.Custom3_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Custom3_Edit")).Checked;
                    obj.Custom4_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Custom4_Edit")).Checked;
                    obj.Custom5_Edit                  = ((CheckBox)((DetailsView)sender).FindControl("Custom5_Edit")).Checked;

                    obj.LastModDate = DateTime.Now;
                    obj.LastModUser = ((SRPUser)Session[SessionData.UserProfile.ToString()]).Username;  //"N/A";  // Get from session

                    if (obj.IsValid(BusinessRulesValidationMode.UPDATE))
                    {
                        obj.Update();
                        if (e.CommandName.ToLower() == "saveandback")
                        {
                            Response.Redirect(returnURL);
                        }

                        odsData.DataBind();
                        dv.DataBind();
                        dv.ChangeMode(DetailsViewMode.Edit);

                        var masterPage = (IControlRoomMaster)Master;
                        masterPage.PageMessage = SRPResources.SaveOK;
                    }
                    else
                    {
                        var    masterPage = (IControlRoomMaster)Master;
                        string message    = String.Format(SRPResources.ApplicationError1, "<ul>");
                        foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                        {
                            message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                        }
                        message = string.Format("{0}</ul>", message);
                        masterPage.PageError = message;
                    }
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }
        }
        private static RegistrationController SetupRegistrationController(RegistrationSettings registrationSettings)
        {
            var users           = new List <IUser>();
            var mockUserManager = UsersMockHelper.MockUserManager <IUser>();

            mockUserManager.Setup(um => um.FindByEmailAsync(It.IsAny <string>()))
            .Returns <string>(e => {
                var user = users.SingleOrDefault(u => (u as User).Email == e);

                return(Task.FromResult(user));
            });

            var mockSiteService = Mock.Of <ISiteService>(ss =>
                                                         ss.GetSiteSettingsAsync() == Task.FromResult(
                                                             Mock.Of <ISite>(s => s.Properties == JObject.FromObject(new { RegistrationSettings = registrationSettings }))
                                                             )
                                                         );
            var mockSmtpService     = Mock.Of <ISmtpService>();
            var mockStringLocalizer = new Mock <IStringLocalizer <RegistrationController> >();

            mockStringLocalizer.Setup(l => l[It.IsAny <string>()])
            .Returns <string>(s => new LocalizedString(s, s));

            var userService = new Mock <IUserService>();

            userService.Setup(u => u.CreateUserAsync(It.IsAny <IUser>(), It.IsAny <string>(), It.IsAny <Action <string, string> >()))
            .Callback <IUser, string, Action <string, string> >((u, p, e) => users.Add(u));

            var controller = new RegistrationController(
                mockUserManager.Object,
                Mock.Of <IAuthorizationService>(),
                mockSiteService,
                Mock.Of <INotifier>(),
                new EmailAddressValidator(),
                Mock.Of <ILogger <RegistrationController> >(),
                Mock.Of <IHtmlLocalizer <RegistrationController> >(),
                mockStringLocalizer.Object);
            var mockServiceProvider = new Mock <IServiceProvider>();

            mockServiceProvider
            .Setup(x => x.GetService(typeof(ISmtpService)))
            .Returns(mockSmtpService);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(UserManager <IUser>)))
            .Returns(mockUserManager.Object);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(ISiteService)))
            .Returns(mockSiteService);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(IEnumerable <IRegistrationFormEvents>)))
            .Returns(Enumerable.Empty <IRegistrationFormEvents>());
            mockServiceProvider
            .Setup(x => x.GetService(typeof(IUserService)))
            .Returns(userService.Object);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(SignInManager <IUser>)))
            .Returns(MockSignInManager(mockUserManager.Object).Object);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(ITempDataDictionaryFactory)))
            .Returns(Mock.Of <ITempDataDictionaryFactory>());
            mockServiceProvider
            .Setup(x => x.GetService(typeof(IObjectModelValidator)))
            .Returns(Mock.Of <IObjectModelValidator>());

            var mockHttpContext = new Mock <HttpContext>();

            mockHttpContext
            .Setup(x => x.RequestServices)
            .Returns(mockServiceProvider.Object);

            controller.ControllerContext.HttpContext = mockHttpContext.Object;

            return(controller);
        }
예제 #19
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RegistrationService"/> class using
 /// the provided <paramref name="emailService"/> and <paramref name="settings"/>.
 /// </summary>
 /// <param name="emailService">The service to use to send e-mails.</param>
 /// <param name="passwordResetCallback">The instance that will supply the reset callback URL.</param>
 /// <param name="settings">The configured registration settings.</param>
 /// <exception cref="ArgumentNullException"><paramref name="emailService"/> is <see langref="null"/>.</exception>
 /// <exception cref="ArgumentNullException"><paramref name="passwordResetCallback"/> is <see langref="null"/>.</exception>
 /// <exception cref="ArgumentNullException"><paramref name="settings"/> is <see langref="null"/>.</exception>
 public RegistrationService(IEmailService emailService, IPasswordResetCallback passwordResetCallback, RegistrationSettings settings)
 {
     _emailService          = emailService ?? throw new ArgumentNullException(nameof(emailService));
     _passwordResetCallback = passwordResetCallback ?? throw new ArgumentNullException(nameof(passwordResetCallback));
     _settings = settings ?? throw new ArgumentNullException(nameof(settings));
 }
        protected void DvItemCommand(object sender, DetailsViewCommandEventArgs e)
        {
            string returnURL = "Default.aspx";

            if (e.CommandName.ToLower() == "back")
            {
                Response.Redirect(returnURL);
            }
            if (e.CommandName.ToLower() == "codes")
            {
                Response.Redirect("Codes.aspx");
            }

            if (e.CommandName.ToLower() == "refresh")
            {
                try
                {
                    odsData.DataBind();
                    dv.DataBind();
                    dv.ChangeMode(DetailsViewMode.Edit);

                    var masterPage = (IControlRoomMaster)Master;
                    if (masterPage != null)
                    {
                        masterPage.PageMessage = SRPResources.RefreshOK;
                    }
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }

            if (e.CommandName.ToLower() == "save" || e.CommandName.ToLower() == "saveandback")
            {
                try
                {
                    var obj = DAL.CustomRegistrationFields.FetchObject();
                    //int pk = 1;

                    obj.Label1 = ((TextBox)((DetailsView)sender).FindControl("Label1")).Text;
                    obj.Label2 = ((TextBox)((DetailsView)sender).FindControl("Label2")).Text;
                    obj.Label3 = ((TextBox)((DetailsView)sender).FindControl("Label3")).Text;
                    obj.Label4 = ((TextBox)((DetailsView)sender).FindControl("Label4")).Text;
                    obj.Label5 = ((TextBox)((DetailsView)sender).FindControl("Label5")).Text;

                    obj.Use1 = ((CheckBox)((DetailsView)sender).FindControl("Use1")).Checked;
                    obj.Use2 = ((CheckBox)((DetailsView)sender).FindControl("Use2")).Checked;
                    obj.Use3 = ((CheckBox)((DetailsView)sender).FindControl("Use3")).Checked;
                    obj.Use4 = ((CheckBox)((DetailsView)sender).FindControl("Use4")).Checked;
                    obj.Use5 = ((CheckBox)((DetailsView)sender).FindControl("Use5")).Checked;

                    obj.DDValues1 = ((DropDownList)((DetailsView)sender).FindControl("DDValues1")).SelectedValue;
                    obj.DDValues2 = ((DropDownList)((DetailsView)sender).FindControl("DDValues2")).SelectedValue;
                    obj.DDValues3 = ((DropDownList)((DetailsView)sender).FindControl("DDValues3")).SelectedValue;
                    obj.DDValues4 = ((DropDownList)((DetailsView)sender).FindControl("DDValues4")).SelectedValue;
                    obj.DDValues5 = ((DropDownList)((DetailsView)sender).FindControl("DDValues5")).SelectedValue;

                    obj.LastModDate = DateTime.Now;
                    obj.LastModUser = ((SRPUser)Session[SessionData.UserProfile.ToString()]).Username;  //"N/A";  // Get from session

                    if (obj.IsValid(BusinessRulesValidationMode.UPDATE))
                    {
                        obj.Update();
                        if (!obj.Use1)
                        {
                            var o2 = new RegistrationSettings();
                            o2.Fetch(0);
                            o2.Custom1_Req = o2.Custom1_Edit = o2.Custom1_Prompt = o2.Custom1_Show = false;
                            o2.Update();
                        }
                        if (!obj.Use2)
                        {
                            var o2 = new RegistrationSettings();
                            o2.Fetch(0);
                            o2.Custom2_Req = o2.Custom2_Edit = o2.Custom2_Prompt = o2.Custom2_Show = false;
                            o2.Update();
                        }
                        if (!obj.Use3)
                        {
                            var o2 = new RegistrationSettings();
                            o2.Fetch(0);
                            o2.Custom3_Req = o2.Custom3_Edit = o2.Custom3_Prompt = o2.Custom3_Show = false;
                            o2.Update();
                        }
                        if (!obj.Use4)
                        {
                            var o2 = new RegistrationSettings();
                            o2.Fetch(0);
                            o2.Custom4_Req = o2.Custom4_Edit = o2.Custom4_Prompt = o2.Custom4_Show = false;
                            o2.Update();
                        }
                        if (!obj.Use5)
                        {
                            var o2 = new RegistrationSettings();
                            o2.Fetch(0);
                            o2.Custom5_Req = o2.Custom5_Edit = o2.Custom5_Prompt = o2.Custom5_Show = false;
                            o2.Update();
                        }


                        if (e.CommandName.ToLower() == "saveandback")
                        {
                            Response.Redirect(returnURL);
                        }

                        odsData.DataBind();
                        dv.DataBind();
                        dv.ChangeMode(DetailsViewMode.Edit);

                        var masterPage = (IControlRoomMaster)Master;
                        masterPage.PageMessage = SRPResources.SaveOK;
                    }
                    else
                    {
                        var    masterPage = (IControlRoomMaster)Master;
                        string message    = String.Format(SRPResources.ApplicationError1, "<ul>");
                        foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                        {
                            message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                        }
                        message = string.Format("{0}</ul>", message);
                        masterPage.PageError = message;
                    }
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }
        }
예제 #21
0
 public static IQueryable <IRegistrationSetting> GetRegistrationSettingsByDocumentKind(IDocumentKind documentKind)
 {
     return(RegistrationSettings.GetAll(s => s.Status == Docflow.RegistrationSetting.Status.Active)
            .Where(s => s.DocumentKinds.Any(k => k.DocumentKind.Id == documentKind.Id)));
 }
예제 #22
0
        public override void BeforeExecute(Sungero.Reporting.Server.BeforeExecuteEventArgs e)
        {
            RegistrationSettingReport.ReportDate = Calendar.UserToday;

            // Заполнить значения по умолчанию, если отчет вызван в невизуальном режиме.
            if (RegistrationSettingReport.FilterDepartmentsForBusinessUnits == null)
            {
                RegistrationSettingReport.FilterDepartmentsForBusinessUnits = true;
            }

            var filterDepartment = RegistrationSettingReport.FilterDepartmentsForBusinessUnits == true;

            #region Описание параметров

            if (RegistrationSettingReport.BusinessUnit != null)
            {
                RegistrationSettingReport.ParamsDescriprion += string.Format("{0}: {1} \n", Reports.Resources.RegistrationSettingReport.BusinessUnit, RegistrationSettingReport.BusinessUnit.Name);
            }

            if (!string.IsNullOrWhiteSpace(RegistrationSettingReport.Direction))
            {
                RegistrationSettingReport.ParamsDescriprion += string.Format("{0}: {1} \n", Reports.Resources.RegistrationSettingReport.DocumentFlow, RegistrationSettingReport.DirectionLabel);
            }

            RegistrationSettingReport.ParamsDescriprion += string.Format("{0}: {1} \n", Reports.Resources.RegistrationSettingReport.FilterDepartmentsForBusinessUnits,
                                                                         RegistrationSettingReport.FilterDepartmentsForBusinessUnits == true ? Reports.Resources.RegistrationSettingReport.Yes : Reports.Resources.RegistrationSettingReport.No);

            #endregion

            var sourceDataTableName = Constants.RegistrationSettingReport.SourceTableName;
            RegistrationSettingReport.SourceDataTableName = sourceDataTableName;
            var reportSessionId = System.Guid.NewGuid().ToString();
            RegistrationSettingReport.ReportSessionId = reportSessionId;

            var units = RegistrationSettingReport.BusinessUnit != null ?
                        new List <Company.IBusinessUnit>()
            {
                RegistrationSettingReport.BusinessUnit
            } :
            Company.BusinessUnits.GetAll().Where(u => u.Status == CoreEntities.DatabookEntry.Status.Active).ToList();

            var flows = new List <Enumeration>()
            {
                DocumentFlow.Incoming, DocumentFlow.Outgoing, DocumentFlow.Inner, DocumentFlow.Contracts
            };
            if (!string.IsNullOrWhiteSpace(RegistrationSettingReport.Direction))
            {
                flows = flows.Where(i => i.Value == RegistrationSettingReport.Direction).ToList();
            }

            var kinds = DocumentKinds.GetAll().Where(k => k.Status == CoreEntities.DatabookEntry.Status.Active &&
                                                     !Equals(k.NumberingType, DocumentKind.NumberingType.NotNumerable)).ToList();
            var settings    = RegistrationSettings.GetAll().Where(s => s.Status == CoreEntities.DatabookEntry.Status.Active && s.DocumentRegister.Status == CoreEntities.DatabookEntry.Status.Active).ToList();
            var departments = Company.Departments.GetAll().Where(d => d.Status == CoreEntities.DatabookEntry.Status.Active).OrderBy(d => d.Name).ToList();

            var separator             = ";" + System.Environment.NewLine;
            var allDepartmentString   = Reports.Resources.RegistrationSettingReport.AllDepartmentString;
            var otherDepartmentString = Reports.Resources.RegistrationSettingReport.OtherDepartmentString;
            // Строчки также используются в условной разметке для подсветки красным\курсивом.
            var settingNotFound  = Reports.Resources.RegistrationSettingReport.SettingNotFound;
            var defaultSetting   = Reports.Resources.RegistrationSettingReport.DefaultSetting;
            var registerNotFound = Reports.Resources.RegistrationSettingReport.RegisterNotFound;

            var tableData = new List <Structures.RegistrationSettingReport.TableLine>();

            foreach (var unit in units)
            {
                foreach (var flow in flows)
                {
                    foreach (var kind in kinds.Where(k => Equals(k.DocumentFlow, flow)))
                    {
                        var error       = Equals(kind.NumberingType, DocumentKind.NumberingType.Numerable) ? settingNotFound : defaultSetting;
                        var subSettings = settings.Where(s => Equals(s.DocumentFlow, flow) &&
                                                         (!s.BusinessUnits.Any() || s.BusinessUnits.Any(u => Equals(u.BusinessUnit, unit))) &&
                                                         s.DocumentKinds.Any(k => Equals(k.DocumentKind, kind)))
                                          .ToList();

                        foreach (var setting in subSettings)
                        {
                            var subDepartments = setting.Departments.Where(d => !filterDepartment || Equals(d.Department.BusinessUnit, unit)).ToList();
                            if (setting.Departments.Any() && !subDepartments.Any())
                            {
                                continue;
                            }

                            var department = !setting.Departments.Any() ? allDepartmentString : string.Join(separator, subDepartments.Select(d => d.Department.Name));
                            var example    = Functions.DocumentRegister.GetValueExample(setting.DocumentRegister);

                            var line = Structures.RegistrationSettingReport.TableLine.Create();
                            line.BusinessUnit           = unit.Name;
                            line.DocumentFlow           = GetDocumentFlowName(flow);
                            line.DocumentFlowIndex      = flows.IndexOf(flow);
                            line.DocumentKind           = kind.Name;
                            line.RegistrationSetting    = setting.Name;
                            line.RegistrationSettingUri = Hyperlinks.Get(setting);
                            line.Priority            = setting.Priority ?? 0;
                            line.Departments         = department;
                            line.SettingType         = GetSettingType(kind, setting);
                            line.DocumentRegister    = setting.DocumentRegister.Name;
                            line.DocumentRegisterUri = Hyperlinks.Get(setting.DocumentRegister);
                            line.NumberExample       = example;
                            line.ReportSessionId     = reportSessionId;

                            tableData.Add(line);
                        }

                        // Если настроек для вида не найдено.
                        if (!subSettings.Any() && kind.NumberingType == DocumentKind.NumberingType.Numerable)
                        {
                            var line = Structures.RegistrationSettingReport.TableLine.Create();
                            line.BusinessUnit        = unit.Name;
                            line.DocumentFlow        = GetDocumentFlowName(flow);
                            line.DocumentFlowIndex   = flows.IndexOf(flow);
                            line.DocumentKind        = kind.Name;
                            line.RegistrationSetting = error;
                            line.Priority            = -1;
                            line.Departments         = allDepartmentString;
                            line.SettingType         = GetSettingType(kind, null);
                            line.ReportSessionId     = reportSessionId;

                            tableData.Add(line);
                            continue;
                        }

                        // Если есть хоть одна настройка для всех подразделений - идём дальше.
                        if (subSettings.Any(s => !s.Departments.Any()))
                        {
                            continue;
                        }
                        // Если нет подразделений без настроек - идем дальше
                        var allDeparmentInUnit = departments.Where(d => Equals(d.BusinessUnit, unit)).ToList();
                        var settingDepartments = subSettings.SelectMany(s => s.Departments).Select(s => s.Department).ToList();
                        if (!allDeparmentInUnit.Except(settingDepartments).Any())
                        {
                            continue;
                        }

                        var allDepartments = filterDepartment ?
                                             departments.Where(d => Equals(d.BusinessUnit, unit)).ToList() :
                                             departments;
                        var registers       = new List <IDocumentRegister>();
                        var firstDepartment = allDepartments.Except(settingDepartments).FirstOrDefault();
                        if (firstDepartment != null)
                        {
                            registers.AddRange(Functions.DocumentRegister.GetDocumentRegistersByParams(kind, unit, firstDepartment, SettingType.Registration, false));
                        }
                        registers = registers.Distinct().ToList();
                        var regDepartment = allDepartments.Any(d => settingDepartments.Contains(d)) ? otherDepartmentString : allDepartmentString;

                        if (!registers.Any())
                        {
                            var line = Structures.RegistrationSettingReport.TableLine.Create();
                            line.BusinessUnit        = unit.Name;
                            line.DocumentFlow        = GetDocumentFlowName(flow);
                            line.DocumentFlowIndex   = flows.IndexOf(flow);
                            line.DocumentKind        = kind.Name;
                            line.RegistrationSetting = registerNotFound;
                            line.Priority            = -1;
                            line.Departments         = regDepartment;
                            line.SettingType         = GetSettingType(kind, null);
                            line.ReportSessionId     = reportSessionId;

                            tableData.Add(line);
                        }

                        foreach (var register in registers)
                        {
                            var example = Functions.DocumentRegister.GetValueExample(register);

                            var line = Structures.RegistrationSettingReport.TableLine.Create();
                            line.BusinessUnit        = unit.Name;
                            line.DocumentFlow        = GetDocumentFlowName(flow);
                            line.DocumentFlowIndex   = flows.IndexOf(flow);
                            line.DocumentKind        = kind.Name;
                            line.RegistrationSetting = error;
                            line.Priority            = 0;
                            line.Departments         = regDepartment;
                            line.DocumentRegister    = register.Name;
                            line.DocumentRegisterUri = Hyperlinks.Get(register);
                            line.SettingType         = GetSettingType(kind, null);
                            line.NumberExample       = example;
                            line.ReportSessionId     = reportSessionId;

                            tableData.Add(line);
                        }
                    }
                }
            }

            // Полная сортировка данных.
            tableData = tableData
                        .OrderBy(t => t.BusinessUnit)
                        .ThenBy(t => t.DocumentFlowIndex)
                        .ThenBy(t => t.DocumentKind)
                        .ThenByDescending(t => t.Priority)
                        .ThenBy(t => t.Departments)
                        .ToList();

            for (var i = 0; i < tableData.Count; i++)
            {
                tableData[i].Id = i;
            }

            Functions.Module.WriteStructuresToTable(RegistrationSettingReport.SourceDataTableName, tableData);
        }
예제 #23
0
 public static List <IRegistrationSetting> GetByDocumentRegister(IDocumentRegister documentRegister)
 {
     return(RegistrationSettings.GetAllCached(s => s.Status == CoreEntities.DatabookEntry.Status.Active && Equals(s.DocumentRegister, documentRegister)).ToList());
 }
예제 #24
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CheckinType"/> class.
        /// </summary>
        /// <param name="checkinTypeId">The checkin type identifier.</param>
        public CheckinType(int checkinTypeId)
        {
            this.Id = checkinTypeId;

            Registration = new RegistrationSettings(this);
        }
예제 #25
0
        private static RegistrationController SetupRegistrationController(RegistrationSettings registrationSettings)
        {
            var users           = new List <IUser>();
            var mockUserManager = UsersMockHelper.MockUserManager <IUser>();

            mockUserManager.Setup(um => um.FindByEmailAsync(It.IsAny <string>()))
            .Returns <string>(e =>
            {
                var user = users.SingleOrDefault(u => (u as User).Email == e);

                return(Task.FromResult(user));
            });

            var mockSiteService = Mock.Of <ISiteService>(ss =>
                                                         ss.GetSiteSettingsAsync() == Task.FromResult(
                                                             Mock.Of <ISite>(s => s.Properties == JObject.FromObject(new { RegistrationSettings = registrationSettings }))
                                                             )
                                                         );
            var mockSmtpService     = Mock.Of <ISmtpService>(x => x.SendAsync(It.IsAny <MailMessage>()) == Task.FromResult(SmtpResult.Success));
            var mockStringLocalizer = new Mock <IStringLocalizer <RegistrationController> >();

            mockStringLocalizer.Setup(l => l[It.IsAny <string>()])
            .Returns <string>(s => new LocalizedString(s, s));

            var userService = new Mock <IUserService>();

            userService.Setup(u => u.CreateUserAsync(It.IsAny <IUser>(), It.IsAny <string>(), It.IsAny <Action <string, string> >()))
            .Callback <IUser, string, Action <string, string> >((u, p, e) => users.Add(u))
            .ReturnsAsync <IUser, string, Action <string, string>, IUserService, IUser>((u, p, e) => u);

            var urlHelperMock = new Mock <IUrlHelper>();

            urlHelperMock.Setup(urlHelper => urlHelper.Action(It.IsAny <UrlActionContext>()));

            var mockUrlHelperFactory = new Mock <IUrlHelperFactory>();

            mockUrlHelperFactory.Setup(f => f.GetUrlHelper(It.IsAny <ActionContext>()))
            .Returns(urlHelperMock.Object);

            var mockDisplayHelper = new Mock <IDisplayHelper>();

            mockDisplayHelper.Setup(x => x.ShapeExecuteAsync(It.IsAny <IShape>()))
            .ReturnsAsync(HtmlString.Empty);

            var controller = new RegistrationController(
                mockUserManager.Object,
                Mock.Of <IAuthorizationService>(),
                mockSiteService,
                Mock.Of <INotifier>(),
                Mock.Of <ILogger <RegistrationController> >(),
                Mock.Of <IHtmlLocalizer <RegistrationController> >(),
                mockStringLocalizer.Object);

            controller.Url = urlHelperMock.Object;

            var mockServiceProvider = new Mock <IServiceProvider>();

            mockServiceProvider
            .Setup(x => x.GetService(typeof(ISmtpService)))
            .Returns(mockSmtpService);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(UserManager <IUser>)))
            .Returns(mockUserManager.Object);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(ISiteService)))
            .Returns(mockSiteService);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(IEnumerable <IRegistrationFormEvents>)))
            .Returns(Enumerable.Empty <IRegistrationFormEvents>());
            mockServiceProvider
            .Setup(x => x.GetService(typeof(IUserService)))
            .Returns(userService.Object);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(SignInManager <IUser>)))
            .Returns(MockSignInManager(mockUserManager.Object).Object);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(ITempDataDictionaryFactory)))
            .Returns(Mock.Of <ITempDataDictionaryFactory>());
            mockServiceProvider
            .Setup(x => x.GetService(typeof(IObjectModelValidator)))
            .Returns(Mock.Of <IObjectModelValidator>());
            mockServiceProvider
            .Setup(x => x.GetService(typeof(IDisplayHelper)))
            .Returns(mockDisplayHelper.Object);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(IUrlHelperFactory)))
            .Returns(mockUrlHelperFactory.Object);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(HtmlEncoder)))
            .Returns(HtmlEncoder.Default);

            // var mockRequest = new Mock<HttpRequest>();
            // mockRequest.Setup(x => x.Scheme)
            //     .Returns("http");

            var mockHttpContext = new Mock <HttpContext>();

            mockHttpContext
            .Setup(x => x.RequestServices)
            .Returns(mockServiceProvider.Object);
            mockHttpContext
            .Setup(x => x.Request)
            .Returns(Mock.Of <HttpRequest>(x => x.Scheme == "http"));

            controller.ControllerContext.HttpContext = mockHttpContext.Object;

            return(controller);
        }
        public async Task UsersShouldBeAbleToRegisterIfAllowed()
        {
            var mockUserManager = UsersMockHelper.MockUserManager <IUser>().Object;
            var settings        = new RegistrationSettings {
                UsersCanRegister = UserRegistrationType.AllowRegistration
            };
            var mockSiteService = Mock.Of <ISiteService>(ss =>
                                                         ss.GetSiteSettingsAsync() == Task.FromResult(
                                                             Mock.Of <ISite>(s => s.Properties == JObject.FromObject(new { RegistrationSettings = settings }))
                                                             )
                                                         );
            var mockSmtpService = Mock.Of <ISmtpService>();

            var controller = new RegistrationController(
                mockUserManager,
                Mock.Of <IAuthorizationService>(),
                mockSiteService,
                Mock.Of <INotifier>(),
                Mock.Of <IEmailAddressValidator>(),
                Mock.Of <ILogger <RegistrationController> >(),
                Mock.Of <IHtmlLocalizer <RegistrationController> >(),
                Mock.Of <IStringLocalizer <RegistrationController> >());

            var mockServiceProvider = new Mock <IServiceProvider>();

            mockServiceProvider
            .Setup(x => x.GetService(typeof(ISmtpService)))
            .Returns(mockSmtpService);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(UserManager <IUser>)))
            .Returns(mockUserManager);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(ISiteService)))
            .Returns(mockSiteService);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(IEnumerable <IRegistrationFormEvents>)))
            .Returns(Enumerable.Empty <IRegistrationFormEvents>());
            mockServiceProvider
            .Setup(x => x.GetService(typeof(IUserService)))
            .Returns(Mock.Of <IUserService>());
            mockServiceProvider
            .Setup(x => x.GetService(typeof(SignInManager <IUser>)))
            .Returns(MockSignInManager(mockUserManager).Object);
            mockServiceProvider
            .Setup(x => x.GetService(typeof(ITempDataDictionaryFactory)))
            .Returns(Mock.Of <ITempDataDictionaryFactory>());
            mockServiceProvider
            .Setup(x => x.GetService(typeof(IObjectModelValidator)))
            .Returns(Mock.Of <IObjectModelValidator>());

            var mockHttpContext = new Mock <HttpContext>();

            mockHttpContext
            .Setup(x => x.RequestServices)
            .Returns(mockServiceProvider.Object);

            controller.ControllerContext.HttpContext = mockHttpContext.Object;

            var result = await controller.Register();

            Assert.IsType <ViewResult>(result);

            // Post
            result = await controller.Register(new RegisterViewModel());

            Assert.IsType <ViewResult>(result);
        }
예제 #27
0
        /// <summary>
        /// Property access, initially provided for TokenReplace.
        /// </summary>
        /// <param name="propertyName">Name of the Property.</param>
        /// <param name="format">format string.</param>
        /// <param name="formatProvider">format provider for numbers, dates, currencies.</param>
        /// <param name="accessingUser">userinfo of the user, who queries the data (used to determine permissions).</param>
        /// <param name="currentScope">requested maximum access level, might be restricted due to user level.</param>
        /// <param name="propertyNotFound">out: flag, if property could be retrieved.</param>
        /// <returns>current value of the property for this userinfo object.</returns>
        public string GetProperty(string propertyName, string format, CultureInfo formatProvider, UserInfo accessingUser, Scope currentScope, ref bool propertyNotFound)
        {
            Scope internScope;

            if (this.UserID == -1 && currentScope > Scope.Configuration)
            {
                internScope = Scope.Configuration; // anonymous users only get access to displayname
            }
            else if (this.UserID != accessingUser.UserID && !this.isAdminUser(ref accessingUser) && currentScope > Scope.DefaultSettings)
            {
                internScope = Scope.DefaultSettings; // registerd users can access username and userID as well
            }
            else
            {
                internScope = currentScope; // admins and user himself can access all data
            }

            string outputFormat = format == string.Empty ? "g" : format;

            switch (propertyName.ToLowerInvariant())
            {
            case "verificationcode":
                if (internScope < Scope.SystemMessages)
                {
                    propertyNotFound = true;
                    return(PropertyAccess.ContentLocked);
                }

                var ps   = PortalSecurity.Instance;
                var code = ps.Encrypt(Config.GetDecryptionkey(), this.PortalID + "-" + this.GetMembershipUserId());
                return(code.Replace("+", ".").Replace("/", "-").Replace("=", "_"));

            case "affiliateid":
                if (internScope < Scope.SystemMessages)
                {
                    propertyNotFound = true;
                    return(PropertyAccess.ContentLocked);
                }

                return(this.AffiliateID.ToString(outputFormat, formatProvider));

            case "displayname":
                if (internScope < Scope.Configuration)
                {
                    propertyNotFound = true;
                    return(PropertyAccess.ContentLocked);
                }

                return(PropertyAccess.FormatString(this.DisplayName, format));

            case "email":
                if (internScope < Scope.DefaultSettings)
                {
                    propertyNotFound = true;
                    return(PropertyAccess.ContentLocked);
                }

                return(PropertyAccess.FormatString(this.Email, format));

            case "firstname":     // using profile property is recommended!
                if (internScope < Scope.DefaultSettings)
                {
                    propertyNotFound = true;
                    return(PropertyAccess.ContentLocked);
                }

                return(PropertyAccess.FormatString(this.FirstName, format));

            case "issuperuser":
                if (internScope < Scope.Debug)
                {
                    propertyNotFound = true;
                    return(PropertyAccess.ContentLocked);
                }

                return(this.IsSuperUser.ToString(formatProvider));

            case "lastname":     // using profile property is recommended!
                if (internScope < Scope.DefaultSettings)
                {
                    propertyNotFound = true;
                    return(PropertyAccess.ContentLocked);
                }

                return(PropertyAccess.FormatString(this.LastName, format));

            case "portalid":
                if (internScope < Scope.Configuration)
                {
                    propertyNotFound = true;
                    return(PropertyAccess.ContentLocked);
                }

                return(this.PortalID.ToString(outputFormat, formatProvider));

            case "userid":
                if (internScope < Scope.DefaultSettings)
                {
                    propertyNotFound = true;
                    return(PropertyAccess.ContentLocked);
                }

                return(this.UserID.ToString(outputFormat, formatProvider));

            case "username":
                if (internScope < Scope.DefaultSettings)
                {
                    propertyNotFound = true;
                    return(PropertyAccess.ContentLocked);
                }

                var settings    = PortalController.Instance.GetPortalSettings(this.PortalID);
                var regSettings = new RegistrationSettings(settings);

                return(regSettings.UseEmailAsUserName ?
                       PropertyAccess.FormatString(this.Email, format) :
                       PropertyAccess.FormatString(this.Username, format));

            case "fullname":     // fullname is obsolete, it will return DisplayName
                if (internScope < Scope.Configuration)
                {
                    propertyNotFound = true;
                    return(PropertyAccess.ContentLocked);
                }

                return(PropertyAccess.FormatString(this.DisplayName, format));

            case "roles":
                if (currentScope < Scope.SystemMessages)
                {
                    propertyNotFound = true;
                    return(PropertyAccess.ContentLocked);
                }

                return(PropertyAccess.FormatString(string.Join(", ", this.Roles), format));
            }

            propertyNotFound = true;
            return(string.Empty);
        }