public IFacadeUpdateResult <ApplicationSettingData> SaveApplicationSetting(ApplicationSettingData dto)
        {
            UnitOfWork.BeginTransaction();
            IFacadeUpdateResult <ApplicationSettingData> result = ApplicationSettingSystem.SaveApplicationSetting(dto);

            if (result.IsSuccessful)
            {
                UnitOfWork.CommitTransaction();
            }
            else
            {
                UnitOfWork.RollbackTransaction();
            }
            return(result);
        }
        internal IFacadeUpdateResult <ApplicationSettingData> SaveApplicationSetting(ApplicationSettingData dto)
        {
            ArgumentValidator.IsNotNull("dto", dto);

            FacadeUpdateResult <ApplicationSettingData> result = new FacadeUpdateResult <ApplicationSettingData>();
            IApplicationSettingService service  = UnitOfWork.GetService <IApplicationSettingService>();
            ApplicationSetting         instance = RetrieveOrNew <ApplicationSettingData, ApplicationSetting, IApplicationSettingService>(result.ValidationResult, dto.Id);

            if (result.IsSuccessful)
            {
                instance.SettingKey   = dto.SettingKey;
                instance.SettingValue = dto.SettingValue;

                var saveQuery = service.Save(instance);

                result.AttachResult(instance.RetrieveData <ApplicationSettingData>());
                result.Merge(saveQuery);
            }

            return(result);
        }