public void SetIdentificationModel(int customerId, MaintenanceGroupIdentificationModel identificationModel)
        {
            var customerProfile = RbacEntities.CustomerProfiles.SingleOrDefault(m => m.CustomerId == customerId);

            if (customerProfile == null)
            {
                return;
            }

            customerProfile.DisplayName = identificationModel.DisplayName;

            var settingFactory = new SettingsFactory();

            if (identificationModel.DefaultPassword != null)
            {
                settingFactory.Set(customerId, "DefaultPassword", identificationModel.DefaultPassword);
            }

            // Save customer contact
            SetCustomerContactModel(customerId, identificationModel.Contact);

            // Save Customer Localization data.
            SetCustomerLocalizationModel(customerId, identificationModel.Localization);

            RbacEntities.SaveChanges();
        }
        public ActionResult EditMaintenanceGroup(string submitButton, MaintenanceGroupIdentificationModel model)
        {
            // Was action RETURN?

            var mainFactory  = new MaintenanceGroupFactory();
            var auditFactory = new AuditFactory();

            if (submitButton.Equals("RETURN"))
            {
                return(RedirectToAction("Index", new { rtn = "true" }));
            }

            if (submitButton.Equals("ACTIVATE"))
            {
                mainFactory.Activate(model.CustomerId);
                auditFactory.ModifiedBy("CustomerProfile", model.CustomerId, WebSecurity.CurrentUserId);
                return(RedirectToAction("EditMaintenanceGroup", new { customerId = model.CustomerId }));
            }

            if (submitButton.Equals("INACTIVATE"))
            {
                mainFactory.Inactivate(model.CustomerId);
                auditFactory.ModifiedBy("CustomerProfile", model.CustomerId, WebSecurity.CurrentUserId);
                return(RedirectToAction("EditMaintenanceGroup", new { customerId = model.CustomerId }));
            }

            // Save values
            if (!ModelState.IsValid)
            {
                model = mainFactory.GetIdentificationModel(model.CustomerId, model);
                return(View(model));
            }

            mainFactory.SetIdentificationModel(model.CustomerId, model);
            auditFactory.ModifiedBy("CustomerProfile", model.CustomerId, WebSecurity.CurrentUserId);
            model = mainFactory.GetIdentificationModel(model.CustomerId, model);
            if (submitButton.Equals("SAVE"))
            {
                // Saved and stay on same page.
                return(View(model));
            }
            // Saved but move to next page.
            return(RedirectToAction("EditMaintenanceGroupCustomers", new { customerId = model.CustomerId }));
        }
        public MaintenanceGroupIdentificationModel GetIdentificationModel(int customerId)
        {
            var identificationModel = new MaintenanceGroupIdentificationModel();

            identificationModel.CustomerId = customerId;
            var settingFactory  = new SettingsFactory();
            var customerProfile = RbacEntities.CustomerProfiles.SingleOrDefault(m => m.CustomerId == customerId);

            if (customerProfile != null)
            {
                GetCustomerBaseModel(customerId, identificationModel);
                identificationModel.DisplayName     = customerProfile.DisplayName;
                identificationModel.DefaultPassword = settingFactory.GetValue("DefaultPassword", customerId);
            }

            // Get customer Address
            identificationModel.Contact = GetCustomerContactModel(customerId);

            // Get customer localization data.
            identificationModel.Localization = GetCustomerLocalizationModel(customerId);
            return(identificationModel);
        }
        public ActionResult EditMaintenanceGroup(int customerId)
        {
            MaintenanceGroupIdentificationModel model = (new MaintenanceGroupFactory()).GetIdentificationModel(customerId);

            return(View(model));
        }
        public MaintenanceGroupIdentificationModel GetIdentificationModel(int customerId, MaintenanceGroupIdentificationModel identificationModel)
        {
            // Save selected localization data indicies.
            int timeZoneId = identificationModel.Localization.TimeZoneId;
            int languageId = identificationModel.Localization.LanguageId;

            // Refresh customer localization data.
            identificationModel.Localization = GetCustomerLocalizationModel(customerId);

            // Restore selected localization data indicies.
            identificationModel.Localization.TimeZoneId = timeZoneId;
            identificationModel.Localization.LanguageId = languageId;

            // Get customer Status
            identificationModel.Status = GetCustomerStatusModel(customerId);
            return(identificationModel);
        }