예제 #1
0
        public string Information(ApplicationStateEnum state, int appId = 0)
        {
            var pmsInput = new PmsInput {
                UserName = UserName, Password = Password, Mode = GetPmsMode(), Language = LanguageTypeEnum.English
            };

            PmsActionEnum action = PmsActionEnum.information;

            pmsInput.CreateActionByType(action);
            pmsInput.Action.ApplicationState = state;
            if (appId > 0)
            {
                pmsInput.Action.ApplicationId = appId;
            }

            Stream responseAtt = null;
            string request     = pmsInput.XmlString;

            try
            {
                string result = Proxy.Information(request, out responseAtt);
                return(result);
            }
            finally
            {
                responseAtt?.Close();
            }
        }
예제 #2
0
 public MainModel()
 {
     files          = new List <FileInfo>();
     directories    = new List <DirectoryInfo>();
     allFilePaths   = new List <string>();
     filesSortedBy  = DisplaySortOptionEnum.None;
     dirsSortedBy   = DisplaySortOptionEnum.None;
     appState       = ApplicationStateEnum.Ready;
     gridViewOption = GridViewOptionEnum.Files;
 }
예제 #3
0
        public (string, string) Export(ApplicationStateEnum state, int appId)
        {
            var pmsInput = new PmsInput {
                UserName = UserName, Password = Password, Mode = GetPmsMode(), Language = LanguageTypeEnum.English
            };

            PmsActionEnum action = PmsActionEnum.export;

            pmsInput.CreateActionByType(action);
            pmsInput.Action.ApplicationId    = appId;
            pmsInput.Action.ApplicationState = state;

            Stream responseAtt = null;
            string request     = pmsInput.XmlString;

            try
            {
                string result     = Proxy.Export(request, out responseAtt);
                var    tempFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
                tempFolder = Path.Combine(tempFolder, CommonConst.ApplicationName, "RetrievePackage");
                if (!Directory.Exists(tempFolder))
                {
                    Directory.CreateDirectory(tempFolder);
                }

                try
                {
                    var zipExists = Directory.GetFiles(tempFolder, "*.zip");
                    foreach (string zipFile in zipExists)
                    {
                        if (File.Exists(zipFile))
                        {
                            File.Delete(zipFile);
                        }
                    }
                }
                catch (IOException)
                {
                }

                var fileName = Utils.SaveAttachmentToWorkDir(responseAtt, tempFolder);
                return(fileName, result);
            }
            finally
            {
                responseAtt?.Close();
            }
        }
예제 #4
0
        public string Remove(ApplicationStateEnum state, int appId)
        {
            var pmsInput = new PmsInput {
                UserName = UserName, Password = Password, Mode = GetPmsMode(), Language = LanguageTypeEnum.English
            };

            PmsActionEnum action = PmsActionEnum.remove;

            pmsInput.CreateActionByType(action);
            pmsInput.Action.ApplicationId    = appId;
            pmsInput.Action.ApplicationState = state;

            string request = pmsInput.XmlString;
            string result  = Proxy.Remove(request);

            return(result);
        }
예제 #5
0
        private async UniTask OnApplicationStateChanged(ApplicationStateEnum newApplicationState, CancellationToken token)
        {
            if (_isLoading)
            {
                return;
            }

            // necessary to let _applicationState value to be correctly assigned
            await UniTask.NextFrame(cancellationToken : token);

            // initialize load
            _isLoading.Value       = true;
            _loadingProgress.Value = 0;

            // wait for fade
            if (_shouldFade)
            {
                await UniTask.Delay(TimeSpan.FromSeconds(_fadeDuration), cancellationToken : token);
            }

            // unload/load scenes
            await UnloadPreviousState(token);
            await LoadCurrentState(token);

            SetActiveScene();

            await UniTask.NextFrame(cancellationToken : token);

            GC.Collect();

            await UniTask.NextFrame(cancellationToken : token);

            Shader.WarmupAllShaders();

            await UniTask.NextFrame(cancellationToken : token);

            // wait for load buffer time
            await ProcessOffset(token);

            PrevState = _cachedConfigs[newApplicationState];

            _isLoading.Value = false;
        }
예제 #6
0
 public void RaiseAppStateChangedEvent(ApplicationStateEnum state)
 {
     appStateChanged(this, new StateChangeEventArgs(state));
 }
예제 #7
0
 public StateChangeEventArgs(ApplicationStateEnum data)
 {
     Data = data;
 }
예제 #8
0
 public void SetApplicationState(ApplicationStateEnum state)
 {
     appState = state;
     RaiseAppStateChangedEvent(state);
 }
예제 #9
0
        private Application EditApplication(Application application, BaseApplicationInfo applicationInfo, bool addToOauth = false,
                                            ApplicationStateEnum state = ApplicationStateEnum.Draft)
        {
            if (application.DeveloperRef == Guid.Empty)
            {
                application.DeveloperRef = applicationInfo.DeveloperId;
            }

            if (!ApplicationSecurity.CanUploadApplication(Context) || !ApplicationSecurity.CanEditApplication(Context, application))
            {
                throw new ChalkableSecurityException(ChlkResources.ERR_APP_INVALID_RIGHTS);
            }

            if (applicationInfo.ApplicationPrices.Price < 0 || applicationInfo.ApplicationPrices.PricePerClass < 0 ||
                applicationInfo.ApplicationPrices.PricePerSchool < 0)
            {
                throw new ChalkableException(ChlkResources.ERR_APP_INVALID_PRICE);
            }
            var newAppName = applicationInfo.ShortApplicationInfo.Name;
            var newAppUrl  = applicationInfo.ShortApplicationInfo.Url ?? "";

            if (state != ApplicationStateEnum.Live)
            {
                if (Exists(application.Id, newAppName, null))
                {
                    throw new ChalkableException(ChlkResources.ERR_APP_DUPLICATE_NAME);
                }
                if (addToOauth && Exists(application.Id, null, newAppUrl))
                {
                    throw new ChalkableException(ChlkResources.ERR_APP_DUPLICATE_URL);
                }
            }

            application.Name                     = newAppName;
            application.Url                      = newAppUrl;
            application.ShortDescription         = applicationInfo.ShortApplicationInfo.ShortDescription;
            application.Description              = applicationInfo.ShortApplicationInfo.Description;
            application.SmallPictureRef          = applicationInfo.ShortApplicationInfo.SmallPictureId;
            application.BigPictureRef            = applicationInfo.ShortApplicationInfo.BigPictureId;
            application.ExternalAttachPictureRef = applicationInfo.ShortApplicationInfo.ExternalAttachPictureId;
            application.Description              = applicationInfo.ShortApplicationInfo.Description;
            application.VideoUrl                 = applicationInfo.ShortApplicationInfo.VideoDemoUrl;
            application.IsAdvanced               = applicationInfo.ShortApplicationInfo.AdvancedApp;

            application.Price          = applicationInfo.ApplicationPrices.Price;
            application.PricePerClass  = applicationInfo.ApplicationPrices.PricePerClass;
            application.PricePerSchool = applicationInfo.ApplicationPrices.PricePerSchool;

            application.HasStudentMyApps           = applicationInfo.ApplicationAccessInfo.HasStudentMyApps;
            application.HasTeacherMyApps           = applicationInfo.ApplicationAccessInfo.HasTeacherMyApps;
            application.HasParentMyApps            = applicationInfo.ApplicationAccessInfo.HasParentMyApps;
            application.HasAdminMyApps             = applicationInfo.ApplicationAccessInfo.HasAdminMyApps;
            application.CanAttach                  = applicationInfo.ApplicationAccessInfo.CanAttach;
            application.ShowInGradeView            = applicationInfo.ApplicationAccessInfo.ShowInGradeView;
            application.HasAdminExternalAttach     = applicationInfo.ApplicationAccessInfo.HasAdminExternalAttach;
            application.HasTeacherExternalAttach   = applicationInfo.ApplicationAccessInfo.HasTeacherExternalAttach;
            application.HasStudentExternalAttach   = applicationInfo.ApplicationAccessInfo.HasStudentExternalAttach;
            application.HasSysAdminSettings        = applicationInfo.ApplicationAccessInfo.HasSysAdminSettings;
            application.HasDistrictAdminSettings   = applicationInfo.ApplicationAccessInfo.HasDistrictAdminSettings;
            application.HasStudentProfile          = applicationInfo.ApplicationAccessInfo.HasStudentProfile;
            application.ProvidesRecommendedContent = applicationInfo.ApplicationAccessInfo.ProvidesRecommendedContent;

            application.State = state;

            using (var uow = Update())
            {
                var da = new ApplicationDataAccess(uow);

                if (application.Id == Guid.Empty)
                {
                    application.Id             = Guid.NewGuid();
                    application.CreateDateTime = DateTime.UtcNow;
                    da.Insert(application);
                }
                else
                {
                    da.Update(application);
                }

                application.Categories           = da.UpdateCategories(application.Id, applicationInfo.Categories);
                application.Pictures             = da.UpdatePictures(application.Id, applicationInfo.PicturesId);
                application.GradeLevels          = da.UpdateGradeLevels(application.Id, applicationInfo.GradeLevels);
                application.Permissions          = da.UpdatePermissions(application.Id, applicationInfo.PermissionIds);
                application.ApplicationStandards = da.UpdateApplicationStandards(application.Id, applicationInfo.StandardsIds);
                uow.Commit();
            }
            application.Developer = ServiceLocator.DeveloperService.GetById(application.DeveloperRef);
            return(application);
        }