Example #1
0
 public MalListEntry(int malAnimeId, byte? rating, CompletionStatus status, short numEpisodesWatched)
 {
     MalAnimeId = malAnimeId;
     Rating = rating;
     Status = status;
     NumEpisodesWatched = numEpisodesWatched;
 }
Example #2
0
        private void OnAsyncCompleted(object sender, SocketAsyncEventArgs e)
        {
            OperationType operationType;

            switch (e.LastOperation)
            {
                case SocketAsyncOperation.Accept:
                    operationType = OperationType.Accept;
                    break;
                case SocketAsyncOperation.Connect:
                    operationType = OperationType.Connect;
                    break;
                case SocketAsyncOperation.Receive:
                    operationType = OperationType.Receive;
                    break;
                case SocketAsyncOperation.Send:
                    operationType = OperationType.Send;
                    break;
                case SocketAsyncOperation.Disconnect:
                    operationType = OperationType.Disconnect;
                    break;
                default:
                    throw new ArgumentOutOfRangeException();
            }

            CompletionStatus completionStatus = new CompletionStatus(this, m_state, operationType, e.SocketError,
                e.BytesTransferred);

            m_completionPort.Queue(ref completionStatus);
        }
Example #3
0
 public MalListEntry(byte? rating, CompletionStatus status, short numEpisodesWatched)
     : this()
 {
     Rating = rating;
     Status = status;
     NumEpisodesWatched = numEpisodesWatched;
 }
Example #4
0
        public void RunAsCommand_Valid_ProcessCompletedCalledWithValidArgs()
        {
            var Manager         = SetupManager();
            int CompletedCalled = 0;

            Manager.ProcessCompleted += (s, e) => {
                CompletedCalled++;
                Assert.Equal(CompletionStatus.Success, e.Status);
            };

            CompletionStatus Result = Manager.RunAsCommand(TestFileName);

            Assert.Equal(1, CompletedCalled);
        }
Example #5
0
        public AttemptResult(long attemptId, User user, Theme theme,
                             CompletionStatus completionStatus, AttemptStatus attemptStatus,
                             SuccessStatus successStatus, DateTime?startTime, float?scaledScore)
        {
            this.AttemptId = attemptId;
            this.User      = user;
            this.Theme     = theme;

            this.CompletionStatus = completionStatus;
            this.AttemptStatus    = attemptStatus;
            this.SuccessStatus    = successStatus;
            this.StartTime        = startTime;
            this.Score            = new Score(scaledScore);
        }
Example #6
0
 public AttemptResult(long attemptId, User user, Theme theme, 
     CompletionStatus completionStatus, AttemptStatus attemptStatus, 
     SuccessStatus successStatus, DateTime? startTime, float? scaledScore)
 {
     this.AttemptId = attemptId;
     this.User = user;
     this.Theme = theme;
     
     this.CompletionStatus = completionStatus;
     this.AttemptStatus = attemptStatus;
     this.SuccessStatus = successStatus;
     this.StartTime = startTime;
     this.Score = new Score(scaledScore);
 }
 /// <summary>
 /// Gets the RTE string that represents the completion status.
 /// </summary>
 public static string GetRteCompletionStatus(CompletionStatus status)
 {
     switch (status)
     {
         case CompletionStatus.Completed:
             return "completed";
         case CompletionStatus.Incomplete:
             return "incomplete";
         case CompletionStatus.NotAttempted:
             return "not attempted";
         default:
             return "unknown";
     }
 }
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            CompletionStatus inStatus = (CompletionStatus)value;


            double opac = 1.0;

            if (inStatus != CompletionStatus.inProgress)
            {
                opac = 0.3;
            }

            return(opac);
        }
Example #9
0
        void DataComplete(RacingEvent data, CompletionStatus status)
        {
            if (status == CompletionStatus.Completed || status == CompletionStatus.NoChange)
            {
                foreach (ShellTile tile in ShellTile.ActiveTiles)
                {
                    StandardTileData tileData = RacingEventDataConverter.Convert(data);

                    tile.Update(tileData);
                }
            }

            OnUpdateCompleted.Invoke();
        }
        /// <summary>
        /// Encodes specified audio file according to settings. The script file must already be written.
        /// </summary>
        /// <param name="settings">An object containing the encoding settings.</param>
        /// <returns>The endoding completion status..</returns>
        public static CompletionStatus EncodeAudio(MediaEncoderSettings settings)
        {
            CompletionStatus    Result  = CompletionStatus.Success;
            string              WavFile = PathManager.GetAudioFile(settings.JobIndex, AudioActions.Wav);
            ProcessStartOptions Options = new ProcessStartOptions(settings.JobIndex, "Exporting Audio", false).TrackProcess(settings);

            if (!File.Exists(WavFile))
            {
                EncoderBusiness.SaveAudioToWav(settings, WavFile, Options);
                if (settings.CompletionStatus == CompletionStatus.Cancelled)
                {
                    File.Delete(WavFile);
                    return(CompletionStatus.Cancelled);
                }
                if (!File.Exists(WavFile))
                {
                    settings.Cancel();
                    return(CompletionStatus.Error);
                }
            }

            string DestFile = PathManager.GetAudioFile(settings.JobIndex, settings.AudioAction);

            if (!File.Exists(DestFile))
            {
                Options.Title = "Encoding Audio";
                if (settings.AudioAction == AudioActions.Opus)
                {
                    string        Args   = string.Format(@"--bitrate {0} ""{1}"" ""{2}""", settings.AudioQuality, WavFile, DestFile);
                    FFmpegProcess Worker = new FFmpegProcess(Options);
                    Result = Worker.Run("Encoder\\opusenc.exe", Args);
                }
                else if (settings.AudioAction == AudioActions.Aac || settings.AudioAction == AudioActions.Flac)
                {
                    Result = MediaEncoder.Encode(WavFile, null,
                                                 settings.AudioAction == AudioActions.Flac ? "flac" : "aac",
                                                 string.Format("-b:a {0}k", settings.AudioQuality),
                                                 DestFile,
                                                 Options);
                }
            }

            if (Result != CompletionStatus.Success || !File.Exists(DestFile))
            {
                File.Delete(DestFile);
                settings.Cancel();
            }
            return(Result);
        }
Example #11
0
        public AttemptResult(long attemptId, User user, CurriculumChapterTopic curriculumChapterTopic, TopicTypeEnum topicType, CompletionStatus completionStatus, AttemptStatus attemptStatus, SuccessStatus successStatus, DateTime? startTime, DateTime? finishTime, int iudicoCourseRef, float? minScore, float? maxScore, float? rawScore, float? scaledScore)
        {
            this.AttemptId = attemptId;
            this.User = user;
            this.CurriculumChapterTopic = curriculumChapterTopic;
            this.TopicType = topicType;

            this.CompletionStatus = completionStatus;
            this.AttemptStatus = attemptStatus;
            this.SuccessStatus = successStatus;
            this.StartTime = startTime;
            this.FinishTime = finishTime;
            this.IudicoCourseRef = iudicoCourseRef;
            this.Score = new Score(minScore, maxScore, rawScore, scaledScore);
        }
Example #12
0
 public AnswerResult(long activityAttempId, long activityPackageId, string activityTitle, long? interactionId, CompletionStatus completionStatus, SuccessStatus? successStatus, 
     AttemptResult attempResult, object learnerResponse, string correctResponse, InteractionType? learnerResponseType, float? scaledScore)
 {
     this.ActivityAttemptId = activityAttempId;
     this.ActivityPackageId = activityPackageId;
     this.ActivityTitle = activityTitle;
     this.InteractionId = interactionId;
     this.CompletionStatus = completionStatus;
     this.SuccessStatus = successStatus;
     this.AttemptResult = attempResult;
     this.LearnerResponse = learnerResponse;
     this.CorrectResponse = correctResponse;
     this.LearnerResponseType = learnerResponseType;
     this.ScaledScore = scaledScore;
 }
Example #13
0
        private CompletionStatus ExecuteComplex(string src, string dst)
        {
            string DstEncode  = GetPathWithoutExtension(dst) + "_.mp4";
            string DstExtract = GetPathWithoutExtension(dst) + "_.mkv";
            string DstAac     = GetPathWithoutExtension(dst) + "_.aac";

            jobId++;
            CompletionStatus Result;

            FFmpegConfig.UserInterfaceManager.Start(jobId, "Encoding to H264/AAC (Complex)");

            ProcessStartOptions OptionsMain = new ProcessStartOptions(jobId, "", true);
            FFmpegProcess       ProcessMain = null;

            OptionsMain.Started += (sender, e) => {
                ProcessMain = e.Process;
            };
            Task <CompletionStatus> TaskMain = Task.Run(() => MediaEncoder.Encode(src, "h264", null, "", DstEncode, OptionsMain));

            ProcessStartOptions Options = new ProcessStartOptions(jobId, "Extracting Audio", false);

            Result = MediaMuxer.ExtractAudio(src, DstExtract, Options);
            if (Result == CompletionStatus.Success)
            {
                Options.Title = "Encoding Audio";
                Result        = MediaEncoder.Encode(DstExtract, null, "aac", null, DstAac, Options);
            }

            if (Result != CompletionStatus.Success)
            {
                ProcessMain?.Cancel();
            }

            TaskMain.Wait();
            CompletionStatus Result2 = TaskMain.Result;

            if (Result == CompletionStatus.Success && Result2 == CompletionStatus.Success)
            {
                Options.Title = "Muxing Audio and Video";
                Result        = MediaMuxer.Muxe(DstEncode, DstAac, dst, Options);
            }

            File.Delete(DstEncode);
            File.Delete(DstExtract);
            File.Delete(DstAac);
            FFmpegConfig.UserInterfaceManager.Stop(jobId);
            return(Result);
        }
Example #14
0
        public void CreateAnswerResultWithParameters()
        {
            const long             ActivityAttemptId = 2349;
            const long             ActivityPackageId = 83294;
            const string           ActivityTitle     = "Some Activity";
            long?                  interactionId     = 12382;
            const CompletionStatus CompletionStatus  = CompletionStatus.NotAttempted;
            const SuccessStatus    SuccessStatus     = SuccessStatus.Failed;
            var             attemptResult            = new AttemptResult();
            const string    LearnerResponse          = "C";
            const string    CorrectResponse          = "-328";
            InteractionType?learnerResponseType      = Common.Models.Shared.Statistics.InteractionType.Numeric;
            float?          scaledScore = 0.58f;
            float?          minScore    = 0;
            float?          maxScore    = 50;
            float?          rawScore    = 29;
            string          primaryResourceFromManifest = "0.html";


            var answerResult = new AnswerResult(
                ActivityAttemptId,
                ActivityPackageId,
                ActivityTitle,
                interactionId,
                CompletionStatus,
                SuccessStatus,
                attemptResult,
                LearnerResponse,
                CorrectResponse,
                learnerResponseType,
                minScore,
                maxScore,
                rawScore,
                scaledScore,
                primaryResourceFromManifest);

            Assert.AreEqual(ActivityAttemptId, answerResult.ActivityAttemptId);
            Assert.AreEqual(ActivityPackageId, answerResult.ActivityPackageId);
            Assert.AreEqual(ActivityTitle, answerResult.ActivityTitle);
            Assert.AreEqual(interactionId, answerResult.InteractionId);
            Assert.AreEqual(CompletionStatus, answerResult.CompletionStatus);
            Assert.AreEqual(SuccessStatus, answerResult.SuccessStatus);
            Assert.AreSame(attemptResult, answerResult.AttemptResult);
            Assert.AreEqual(LearnerResponse, answerResult.LearnerResponse);
            Assert.AreEqual(CorrectResponse, answerResult.CorrectResponse);
            Assert.AreEqual(learnerResponseType, answerResult.LearnerResponseType);
            Assert.AreEqual(scaledScore, answerResult.ScaledScore);
        }
Example #15
0
        public override void Accept()
        {
            m_inSocketAsyncEventArgs.AcceptSocket = null;

            if (!m_socket.AcceptAsync(m_inSocketAsyncEventArgs))
            {
                if (m_inSocketAsyncEventArgs.SocketError == SocketError.Success)
                {
                    m_acceptedSocket = new NativeSocket(m_inSocketAsyncEventArgs.AcceptSocket);
                }

                CompletionStatus completionStatus = new CompletionStatus(this, m_state, OperationType.Accept, SocketError.Success, 0);

                m_completionPort.Queue(ref completionStatus);
            }
        }
Example #16
0
        /// <summary>
        /// Runs vspipe with specified source file. The output will be discarded.
        /// </summary>
        /// <param name="path">The path to the script to run.</param>
        /// <param name="options">The options for starting the process.</param>
        /// <param name="callback">A method that will be called after the process has been started.</param>
        /// <returns>The process completion status.</returns>
        public CompletionStatus RunVapourSynth(string path, ProcessOptionsEncoder options = null, ProcessStartedEventHandler callback = null)
        {
            if (string.IsNullOrEmpty(path))
            {
                throw new ArgumentException("Path cannot be null or empty.", nameof(path));
            }
            if (!fileSystem.Exists(factory.Config.VsPipePath))
            {
                throw new System.IO.FileNotFoundException($@"File ""{factory.Config.VsPipePath}"" specified by Config.VsPipePath is not found.");
            }
            string           Args    = $@"""{path}"" .";
            IProcessWorker   Manager = factory.Create(options, callback);
            CompletionStatus Result  = Manager.Run(factory.Config.VsPipePath, Args);

            return(Result);
        }
        /// <summary>
        /// Encodes an Avisynth script through X264 10bit.
        /// </summary>
        /// <param name="source">The script to encode.</param>
        /// <param name="encodeArgs">Options for x264.</param>
        /// <param name="destination">The destination file.</param>
        /// <param name="options">The options for starting the process.</param>
        /// <returns></returns>
        public static CompletionStatus EncodeX264_10bit(string source, string encodeArgs, string destination, ProcessStartOptions options)
        {
            File.Delete(destination);
            StringBuilder Query = new StringBuilder("--demuxer y4m ");

            Query.Append(encodeArgs);
            Query.Append(" -o \"");
            Query.Append(destination);
            Query.Append("\" -");

            // Run x264 with query.
            FFmpegProcess    Worker = new FFmpegProcess(options);
            CompletionStatus Result = Worker.RunAvisynthToEncoder(source, Query.ToString(), EncoderApp.x264, AppPaths.X264Path);

            return(Result);
        }
Example #18
0
        private void Worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            StringReader  reader      = new StringReader(worker_process.Output);
            StringBuilder errors      = new StringBuilder();
            bool          error_found = false;
            string        line        = "";
            string        last_line   = "";

            while ((line = reader.ReadLine()) != null)
            {
                Console.WriteLine(line);
                if (line.IndexOf("Error") >= 0)
                {
                    errors.AppendLine(line);
                    error_found = true;
                }
                last_line = line;
            }
            errors.AppendLine(last_line);

            UpdateStatus(WorkingState.Finished);

            CompletionStatus result = (CompletionStatus)e.Result;

            switch (result)
            {
            case CompletionStatus.Success:
                UpdateStatus(WorkingState.Success);
                break;

            case CompletionStatus.Error:
                Console.WriteLine("Parameters: " + worker_process.CommandWithArgs);
                UpdateStatus(WorkingState.Error, errors.ToString());
                break;

            case CompletionStatus.Cancelled:
                UpdateStatus(WorkingState.Cancelled);
                break;

            case CompletionStatus.Timeout:
                UpdateStatus(WorkingState.Timeout);
                break;

            default:
                break;
            }
        }
Example #19
0
 public static void AddToModelState(this CompletionStatus completionStatus, ModelStateDictionary modelState)
 {
     foreach (var validationError in completionStatus.MessageList)
     {
         if (validationError.FieldNames.Count == 0)
         {
             modelState.AddModelError("Validation Errors", validationError.Message);
         }
         else
         {
             foreach (var fieldName in validationError.FieldNames)
             {
                 modelState.AddModelError(fieldName, validationError.Message);
             }
         }
     }
 }
Example #20
0
        public void RunAsCommand_Valid_ProcessStartedCalledWithValidArgs()
        {
            var Manager = SetupManager();
            int ProcessStartedCalled = 0;

            Manager.ProcessStarted += (s, e) => {
                ProcessStartedCalled++;
                Assert.NotNull(s);
                Assert.NotNull(e.ProcessWorker);
                Assert.Equal(Manager, e.ProcessWorker);
                Assert.NotNull(Manager.WorkProcess);
            };

            CompletionStatus Result = Manager.RunAsCommand(TestFileName);

            Assert.Equal(1, ProcessStartedCalled);
        }
        public OwnedArtifactGroup FindOneRecordBy(int id, int groupID, CompletionStatus completiotStatus)
        {
            using NpgsqlConnection connection = OpenConnectionToDB();
            var query = $"SELECT * FROM \"NATQuest\".\"{DBTableName}\" WHERE \"ArtifactID\" = '{id}' AND \"GroupID\" = '{groupID}' AND \"ArtifactStatusID\" = {(int)completiotStatus} LIMIT 1;";

            using var command = new NpgsqlCommand(query, connection);
            var reader = command.ExecuteReader();

            var oneRecord = default(OwnedArtifactGroup);

            while (reader.Read())
            {
                oneRecord = ProvideOneRecord(reader);
            }
            ;
            return(oneRecord);
        }
Example #22
0
        /// <summary>
        /// Runs avs2yuv with specified source file. The output will be discarded.
        /// </summary>
        /// <param name="path">The path to the script to run.</param>
        public CompletionStatus RunAvisynth(string path)
        {
            if (string.IsNullOrEmpty(path))
            {
                throw new ArgumentException("Path cannot be null or empty.", nameof(path));
            }
            if (!fileSystem.Exists(Config.Avs2yuvPath))
            {
                throw new System.IO.FileNotFoundException(string.Format(@"File ""{0}"" specified by Config.Avs2yuvPath is not found.", Config.Avs2yuvPath));
            }
            string           TempFile = path + ".out";
            string           Args     = string.Format(@"""{0}"" -o ""{1}""", path, TempFile);
            CompletionStatus Result   = Run(Config.Avs2yuvPath, Args);

            fileSystem.Delete(TempFile);
            return(Result);
        }
Example #23
0
        private CompletionStatus GenerateDeshakerLogSegment(MediaEncoderSettings settings, string inputFile, int segment, long jobStart, long frameStart, long frameEnd, ProcessStartOptions jobOptions)
        {
            // Write Deshaker Pass 1 script to file.
            string Script = MediaEncoderScript.GenerateDeshakerScript(settings, inputFile, segment, frameStart, frameEnd);

            File.WriteAllText(settings.DeshakerScript, Script);

            // Run pass.
            jobOptions.IsMainTask = true;
            jobOptions.Title      = "Running Deshaker Prescan";
            jobOptions.ResumePos  = frameStart - jobStart;
            CompletionStatus Result = FFmpeg.MediaEncoder.ConvertToAvi(settings.DeshakerScript, settings.DeshakerTempOut, false, jobOptions);

            File.Delete(settings.DeshakerScript);
            File.Delete(settings.DeshakerTempOut);
            return(Result);
        }
Example #24
0
        private CompletionStatus ExecuteComplex(string src, string dst)
        {
            string DstEncode  = GetPathWithoutExtension(dst) + "_.mp4";
            string DstExtract = GetPathWithoutExtension(dst) + "_.mkv";
            string DstAac     = GetPathWithoutExtension(dst) + "_.aac";

            jobId++;
            CompletionStatus Result;

            ffmpegManagerUI.Start(jobId, "Encoding to H264/AAC (Complex)");

            ProcessOptionsFFmpeg    OptionsMain = new ProcessOptionsFFmpeg(jobId, "", true);
            IProcessManager         ProcessMain = null;
            Task <CompletionStatus> TaskMain    = Task.Run(() => encoder.Encode(src, "h264", null, "", DstEncode, OptionsMain));

            ProcessOptionsFFmpeg Options = new ProcessOptionsFFmpeg(jobId, "Extracting Audio", false);

            Result = muxer.ExtractAudio(src, DstExtract, Options);
            if (Result == CompletionStatus.Success)
            {
                Options.Title = "Encoding Audio";
                Result        = encoder.Encode(DstExtract, null, "aac", null, DstAac, Options,
                                               (s, p) => ProcessMain = p.ProcessManager);
            }

            if (Result != CompletionStatus.Success)
            {
                ProcessMain?.Cancel();
            }

            TaskMain.Wait();
            CompletionStatus Result2 = TaskMain.Result;

            if (Result == CompletionStatus.Success && Result2 == CompletionStatus.Success)
            {
                Options.Title = "Muxing Audio and Video";
                Result        = muxer.Muxe(DstEncode, DstAac, dst, Options);
            }

            File.Delete(DstEncode);
            File.Delete(DstExtract);
            File.Delete(DstAac);
            ffmpegManagerUI.Stop(jobId);
            return(Result);
        }
Example #25
0
        /// <summary>
        /// Merges specified audio and video files.
        /// </summary>
        /// <param name="videoFile">The file containing the video.</param>
        /// <param name="audioFile">The file containing the audio.</param>
        /// <param name="destination">The destination file.</param>
        /// <param name="options">The options for starting the process.</param>
        /// <returns>The process completion status.</returns>
        public static CompletionStatus Muxe(string videoFile, string audioFile, string destination, ProcessStartOptions options)
        {
            CompletionStatus Result = CompletionStatus.Success;

            File.Delete(destination);

            // FFMPEG fails to muxe H264 into MKV container. Converting to MP4 and then muxing with the audio, however, works.
            string OriginalVideoFile = videoFile;

            if ((videoFile.EndsWith(".264") || videoFile.EndsWith(".265")) && destination.ToLower().EndsWith(".mkv"))
            {
                videoFile = videoFile.Substring(0, videoFile.Length - 4) + ".mp4";
                Result    = Muxe(OriginalVideoFile, null, videoFile, options);
            }

            if (Result == CompletionStatus.Success)
            {
                // Join audio and video files.
                FFmpegProcess Worker = new FFmpegProcess(options);
                // FFMPEG-encoded AAC streams are invalid and require an extra flag to join.
                bool FixAac = audioFile != null?audioFile.ToLower().EndsWith(".aac") : false;

                string Query;
                if (string.IsNullOrEmpty(audioFile))
                {
                    Query = string.Format(@"-y -i ""{0}"" -vcodec copy -an ""{1}""", videoFile, destination);
                }
                else if (string.IsNullOrEmpty(videoFile))
                {
                    Query = string.Format(@"-y -i ""{0}"" -acodec copy -vn ""{1}""", videoFile, destination);
                }
                else
                {
                    Query = string.Format(@"-y -i ""{0}"" -i ""{1}"" -acodec copy -vcodec copy -map 0:v -map 1:a{2} ""{3}""", videoFile, audioFile, FixAac ? " -bsf:a aac_adtstoasc" : "", destination);
                }
                Result = Worker.RunFFmpeg(Query);
            }

            // Delete temp file.
            if (OriginalVideoFile != videoFile)
            {
                File.Delete(videoFile);
            }
            return(Result);
        }
        public void DeleteUsedArtifactFromView(Student student, int artifactID)
        {
            var artifactToDelete = _artifact.FindOneRecordBy(artifactID);
            CompletionStatus completionStatus = CompletionStatus.Finished;

            switch (artifactToDelete.Type)
            {
            case TypeClassification.Individual:
                var model = _ownedArtifactStudent.FindOneRecordBy(artifactID, student.Id, completionStatus);
                _ownedArtifactStudent.DeleteRecord(model.Id);
                break;

            case TypeClassification.Group:
                var modelGroup = _ownedArtifactGroup.FindOneRecordBy(artifactID, student.GroupID, completionStatus);
                _ownedArtifactGroup.DeleteRecord(modelGroup.Id);
                break;
            }
        }
Example #27
0
        public void CreateAttemptResultWithParameters()
        {
            const long             AttemptId              = 12312;
            const int              IudicoCourseRef        = 23;
            var                    user                   = new User();
            var                    curriculumChapterTopic = new CurriculumChapterTopic();
            const TopicTypeEnum    TopicTypeEnum          = TopicTypeEnum.TestWithoutCourse;
            const CompletionStatus CompletionStatus       = CompletionStatus.Incomplete;
            const AttemptStatus    AttemptStatus          = AttemptStatus.Completed;
            const SuccessStatus    SuccessStatus          = SuccessStatus.Passed;
            DateTime?              startTime              = new DateTime(32478932);
            DateTime?              finishTime             = new DateTime(189041324);
            float?                 score                  = 0.22f;
            float?                 minScore               = 0;
            float?                 maxScore               = 50;
            float?                 rawScore               = 11;

            var attemptResult = new AttemptResult(
                AttemptId,
                user,
                curriculumChapterTopic,
                TopicTypeEnum,
                CompletionStatus,
                AttemptStatus,
                SuccessStatus,
                startTime,
                finishTime,
                IudicoCourseRef,
                minScore,
                maxScore,
                rawScore,
                score);

            Assert.AreEqual(AttemptId, attemptResult.AttemptId);
            Assert.AreEqual(user, attemptResult.User);
            Assert.AreEqual(curriculumChapterTopic, attemptResult.CurriculumChapterTopic);
            Assert.AreEqual(TopicTypeEnum, attemptResult.TopicType);
            Assert.AreEqual(CompletionStatus, attemptResult.CompletionStatus);
            Assert.AreEqual(AttemptStatus, attemptResult.AttemptStatus);
            Assert.AreEqual(SuccessStatus, attemptResult.SuccessStatus);
            Assert.AreEqual(startTime, attemptResult.StartTime);
            Assert.AreEqual(finishTime, attemptResult.FinishTime);
            Assert.AreEqual(score, attemptResult.Score.ScaledScore);
        }
Example #28
0
        public static bool MarkTaskStatus(this TaskContext context, CompletionStatus completionStatus, ResultStatus result, string reason, IStateManager steManager)
        {
            try
            {
                context.Logger.Info(reason);
                //IStateManager steManager = Bus.StateManager;

                //todo:
                IReadWritableTaskState task = context.TaskStateWritable;
                var isDone = completionStatus.IsDone();
                if (isDone)
                {
                    task.IsFinished  = true;
                    task.CompletedOn = DateTime.UtcNow;
                }

                if (result.Id == ResultStatus.Error.Id)
                {
                    task.FailedCount = task.FailedCount + 1;
                }
                task.UpdatedOn = DateTime.UtcNow;
                task.Status    = result;

                steManager.UpdateTask(task, context.Transaction, isDone);
                if (isDone)
                {
                    context.Logger.Info("Done");
                    //context.Transaction.Commit();
                }

                return(true);
            }
            catch (FrameworkException e)
            {
                context.Logger.Error("FrameworkException while updating task status from node {node}, Complete: {complete}, Result: {result}, Reason: {reason} with error {error}", NodeSettings.Instance.Name, completionStatus.Name, result.Name, reason, e);

                return(false);
            }
            catch (Exception e)
            {
                context.Logger.Error("Failed to update task status from node {node}, Complete: {complete}, Result: {result}, Reason: {reason} with error {error}", NodeSettings.Instance.Name, completionStatus.Name, result.Name, reason, e);
                return(false);
            }
        }
Example #29
0
        /// <summary>
        /// Runs avs2pipemod with specified source file. The output will be discarded.
        /// </summary>
        /// <param name="path">The path to the script to run.</param>
        /// <param name="options">The options for starting the process.</param>
        /// <param name="callback">A method that will be called after the process has been started.</param>
        /// <returns>The process completion status.</returns>
        public CompletionStatus RunAvisynth(string path, ProcessOptionsEncoder options = null, ProcessStartedEventHandler callback = null)
        {
            if (string.IsNullOrEmpty(path))
            {
                throw new ArgumentException("Path cannot be null or empty.", nameof(path));
            }
            if (!fileSystem.Exists(factory.Config.Avs2PipeMod))
            {
                throw new System.IO.FileNotFoundException($@"File ""{factory.Config.Avs2PipeMod}"" specified by Config.Avs2PipeModPath is not found.");
            }
            string         Args    = $@"""{path}"" -rawvideo > NUL";
            IProcessWorker Manager = factory.Create(options, callback);

            Manager.OutputType = ProcessOutput.Error;
            string           Cmd    = $@"""{factory.Config.Avs2PipeMod}"" {Args}";
            CompletionStatus Result = Manager.RunAsCommand(Cmd);

            return(Result);
        }
        private void PrintStateTransitionStatus(InstanceOperation instOp, CompletionStatus operationStatus)
        {
            string operationType = ConvertInstanceOperation(instOp);

            switch (operationStatus)
            {
            case (CompletionStatus.Succeeded):
                Console.WriteLine("The " + operationType + " operation succeeded.");
                return;

            case (CompletionStatus.Failed):
                Console.WriteLine("The " + operationType + " operation failed.");
                return;

            case (CompletionStatus.Pending):
                Console.WriteLine("The " + operationType + " operation is pending or was skipped.");
                return;
            }
        }
Example #31
0
        public override void Send(byte[] buffer, int offset, int count, SocketFlags flags)
        {
            if (m_outSocketAsyncEventArgs.Buffer != buffer)
            {
                m_outSocketAsyncEventArgs.SetBuffer(buffer, offset, count);
            }
            else if (m_outSocketAsyncEventArgs.Offset != offset || m_inSocketAsyncEventArgs.Count != count)
            {
                m_outSocketAsyncEventArgs.SetBuffer(offset, count);
            }

            if (!m_socket.SendAsync(m_outSocketAsyncEventArgs))
            {
                CompletionStatus completionStatus = new CompletionStatus(this, m_state, OperationType.Send, m_outSocketAsyncEventArgs.SocketError,
                                                                         m_outSocketAsyncEventArgs.BytesTransferred);

                m_completionPort.Queue(ref completionStatus);
            }
        }
Example #32
0
        public static void MarkProcessStatus(this IReadWritableProcessState state, CompletionStatus completionStatus,
                                             ResultStatus result, string reason, IStateManager stateManager, IProcessRepository registeredProcesses,
                                             IProcessExecutionContext executionContext, IBatchEngineSubscribers batchEngineSubscribers,
                                             IFrameworkLogger fLogger)
        {
            state.Status = completionStatus;
            state.Result = result;
            if (completionStatus.IsDone())
            {
                state.CompleteTime = DateTime.UtcNow;
            }
            state.IsFinished = completionStatus.Id == CompletionStatus.Finished.Id;
            state.IsStopped  = completionStatus.Id == CompletionStatus.Stopped.Id;

            stateManager.SaveProcess(state);

            state.TriggerProcessEvents(registeredProcesses, executionContext, result.Id == ResultStatus.Error.Id, state.IsStopped,
                                       batchEngineSubscribers, fLogger, reason);
        }
        public void UseArtifact(Student student, int artifactID)
        {
            var artifactToUse = _artifact.FindOneRecordBy(artifactID);
            CompletionStatus completionStatus = CompletionStatus.Unfinished;

            switch (artifactToUse.Type)
            {
            case TypeClassification.Individual:
                var model = _ownedArtifactStudent.FindOneRecordBy(artifactID, student.Id, completionStatus);
                model.CompletionStatus = CompletionStatus.Finished;
                _ownedArtifactStudent.UpdateRecord(model);
                break;

            case TypeClassification.Group:
                var modelGroup = _ownedArtifactGroup.FindOneRecordBy(artifactID, student.GroupID, completionStatus);
                modelGroup.CompletionStatus = CompletionStatus.Finished;
                _ownedArtifactGroup.UpdateRecord(modelGroup);
                break;
            }
        }
        public void GetJobs_WithCompletionStatusFilter_ReturnsResultsMatchingFilter()
        {
            // Arrange
            CompletionStatus completionStatus = CompletionStatus.Succeeded;

            IJobRepository jobRepository = CreateJobRepository();

            jobRepository
            .GetJobs()
            .Returns(testData.AsQueryable());

            IJobService jobService = CreateJobService(jobRepository);

            // Act
            IActionResult results = jobService.GetJobs(null, null, null, null, completionStatus, false, 1);

            // Assert
            OkObjectResult objResult = results
                                       .Should()
                                       .BeOfType <OkObjectResult>()
                                       .Subject;

            JobQueryResponseModel response = objResult.Value
                                             .Should()
                                             .BeOfType <JobQueryResponseModel>()
                                             .Subject;

            response.TotalItems.Should().Be(3);
            response.CurrentPage.Should().Be(1);
            response.TotalPages.Should().Be(1);

            IEnumerable <JobSummary> summaries = response.Results;

            summaries
            .Should()
            .OnlyContain(s => s.CompletionStatus == completionStatus);

            summaries
            .Should()
            .HaveCount(3);
        }
        public static string GetStatusClass(CompletionStatus status)
        {
            var statusClass = "fa ";

            switch (status)
            {
            case CompletionStatus.NotStarted:
                statusClass += "fa-circle";
                break;

            case CompletionStatus.InProgress:
                statusClass += "fa-spinner fa-spin";
                break;

            case CompletionStatus.Completed:
                statusClass += "fa-check-circle";
                break;
            }

            return(statusClass);
        }
        /// <summary>
        /// For files encoded in various segments (stop/resume), merge the various segments.
        /// </summary>
        private CompletionStatus MergeSegments(MediaEncoderSettings settings, string destination) {
            MediaEncoderSegments segBusiness = new MediaEncoderSegments();
            segBusiness.Analyze(settings);
            if (segBusiness.SegLeft.Count() > 0)
                return CompletionStatus.Error;

            List<string> SegmentList = new List<string>();
            foreach (SegmentInfo seg in segBusiness.SegDone) {
                SegmentList.Add(PathManager.GetOutputFile(settings.JobIndex, seg.Start, settings.Container));
            }

            CompletionStatus Result = CompletionStatus.Success;
            File.Delete(destination);
            if (SegmentList.Count == 1)
                File.Move(SegmentList[0], destination);
            else if (SegmentList.Count > 1) {
                Result = MediaMuxer.Concatenate(SegmentList, destination, new ProcessStartOptions(settings.JobIndex, "Merging Files", false));
            }
            settings.CompletionStatus = Result;
            return Result;
        }
Example #37
0
        private void Worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            StringReader reader = new StringReader(worker_process.Output);
            string       line   = "";

            while ((line = reader.ReadLine()) != null)
            {
                if (line.IndexOf("Error") >= 0)
                {
                    break;
                }
            }

            Console.WriteLine(line);
            UpdateStatus(WorkingState.Finished);

            CompletionStatus result = (CompletionStatus)e.Result;

            switch (result)
            {
            case CompletionStatus.Success:
                UpdateStatus(WorkingState.Success);
                break;

            case CompletionStatus.Error:
                UpdateStatus(WorkingState.Error, line);
                break;

            case CompletionStatus.Cancelled:
                UpdateStatus(WorkingState.Cancelled);
                break;

            case CompletionStatus.Timeout:
                UpdateStatus(WorkingState.Timeout);
                break;

            default:
                break;
            }
        }
Example #38
0
        private void OnAsyncCompleted(object sender, SocketAsyncEventArgs e)
        {
            OperationType operationType;

            switch (e.LastOperation)
            {
            case SocketAsyncOperation.Accept:
                operationType = OperationType.Accept;
                if (e.SocketError == SocketError.Success)
                {
                    m_acceptedSocket = new NativeSocket(e.AcceptSocket);
                }
                break;

            case SocketAsyncOperation.Connect:
                operationType = OperationType.Connect;
                break;

            case SocketAsyncOperation.Receive:
                operationType = OperationType.Receive;
                break;

            case SocketAsyncOperation.Send:
                operationType = OperationType.Send;
                break;

            case SocketAsyncOperation.Disconnect:
                operationType = OperationType.Disconnect;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            CompletionStatus completionStatus = new CompletionStatus(this, m_state, operationType, e.SocketError,
                                                                     e.BytesTransferred);

            m_completionPort.Queue(ref completionStatus);
        }
Example #39
0
        public override bool GetMultipleQueuedCompletionStatus(int timeout, CompletionStatus[] completionStatuses, out int removed)
        {
            if (m_overlappedEntries == null || m_overlappedEntries.Length < completionStatuses.Length)
            {
                if (m_overlappedEntries != null)
                {
                    m_overlappedEntriesHandle.Free();
                }

                m_overlappedEntries = new OverlappedEntry[completionStatuses.Length];

                m_overlappedEntriesHandle = GCHandle.Alloc(m_overlappedEntries, GCHandleType.Pinned);
                m_overlappedEntriesAddress = Marshal.UnsafeAddrOfPinnedArrayElement(m_overlappedEntries, 0);
            }

            bool result = UnsafeMethods.GetQueuedCompletionStatusEx(m_completionPortHandle, m_overlappedEntriesAddress,
                completionStatuses.Length, out removed, timeout, false);

            if (!result)
            {
                int error = Marshal.GetLastWin32Error();

                if (error == WaitTimeoutError)
                {
                    removed = 0;
                    return false;
                }

                throw new Win32Exception(error);
            }

            for (int i = 0; i < removed; i++)
            {
                HandleCompletionStatus(out completionStatuses[i], m_overlappedEntries[i].Overlapped,
                    m_overlappedEntries[i].CompletionKey, m_overlappedEntries[i].BytesTransferred);
            }

            return true;
        }
Example #40
0
 /// <summary>
 /// All enum values are valid.
 /// </summary>
 /// <param name="value">The value to validate.</param>
 public override void ValidateCompletionStatus(CompletionStatus value)
 {
     switch(value)
     {
     case CompletionStatus.Completed:
     case CompletionStatus.Incomplete:
     case CompletionStatus.NotAttempted:
     case CompletionStatus.Unknown:
         break;
     default:
         throw new ArgumentOutOfRangeException("value");
     }
 }
Example #41
0
 public abstract void ValidateCompletionStatus(CompletionStatus value);
Example #42
0
        public void SendReceive()
        {
            CompletionPort completionPort = CompletionPort.Create();

            bool exception = false;

            var task = Task.Factory.StartNew(() =>
            {
                bool cancel = false;

                while (!cancel)
                {
                    CompletionStatus [] completionStatuses = new CompletionStatus[10];

                    int removed;

                    completionPort.GetMultipleQueuedCompletionStatus(-1, completionStatuses, out removed);

                    for (int i = 0; i < removed; i++)
                    {
                        if (completionStatuses[i].OperationType == OperationType.Signal)
                        {
                            cancel = true;
                        }
                        else if (completionStatuses[i].SocketError == SocketError.Success)
                        {
                            EventWaitHandle manualResetEvent = (EventWaitHandle)completionStatuses[i].State;
                            manualResetEvent.Set();
                        }
                        else
                        {
                            exception = true;
                        }
                    }
                }
            });

            AutoResetEvent clientEvent = new AutoResetEvent(false);
            AutoResetEvent acceptedEvent = new AutoResetEvent(false);

            AsyncSocket listener = AsyncSocket.CreateIPv4Tcp();
            completionPort.AssociateSocket(listener, acceptedEvent);            
            listener.Bind(IPAddress.Any, 5553);
            listener.Listen(1);
            
            AsyncSocket serverSocket = AsyncSocket.CreateIPv4Tcp();
            listener.Accept(serverSocket);

            AsyncSocket clientSocket = AsyncSocket.CreateIPv4Tcp();
            completionPort.AssociateSocket(clientSocket, clientEvent);
            clientSocket.Bind(IPAddress.Any,0);
            clientSocket.Connect("localhost", 5553);

            clientEvent.WaitOne();
            acceptedEvent.WaitOne();

            AutoResetEvent serverEvent = new AutoResetEvent(false);
            completionPort.AssociateSocket(serverSocket, serverEvent);

            byte[] recv = new byte[1];
            serverSocket.Receive(recv);

            byte[] data = new[] {(byte)1};
            
            clientSocket.Send(data);
            clientEvent.WaitOne(); // wait for data to be send

            serverEvent.WaitOne(); // wait for data to be received

            Assert.AreEqual(1, recv[0]);

            completionPort.Signal(null);
            task.Wait();

            Assert.IsFalse(exception);

            completionPort.Dispose();
            listener.Dispose();
            serverSocket.Dispose();
            clientSocket.Dispose();
        }
Example #43
0
 //Seperate Connection is not used?
 public long Save(CompletionStatus status, string CompletionMsg, bool SeperateConnection)
 {
     SqlUtil sql = new SqlUtil(mDatabase);
     sql.BypassTransaction = true;
     return Save(status, CompletionMsg, sql);
 }
Example #44
0
        /// <summary>
        /// you can supply your own SQL object and force the audit to go to that database.  Used by GT
        /// </summary>
        /// <param name="status"></param>
        /// <param name="CompletionMsg"></param>
        /// <param name="SQL"></param>
        /// <returns></returns>
        public long Save(CompletionStatus status, string CompletionMsg, SqlUtil SQL)
        {
            //save it - just in case of recovery
            mCompletionStatus = status;
            mCompletionMsg = CompletionMsg;

            string sql;

            SqlParameterCollection oParameters = new SqlCommand().Parameters;
            long ID = -1;

            oParameters.AddWithValue("@iDataType", DataUtils.DBNullIfNull(mDataType));
            oParameters.AddWithValue("@iDataID", DataUtils.DBNullIfNull(mDataID));
            oParameters.AddWithValue("@iCorrespondenceID", DataUtils.DBNullIfNull(mCorrespondenceID));
            oParameters.AddWithValue("@iEventID", DataUtils.DBNullIfNull(mEventID));
            oParameters.AddWithValue("@iEventDescription", DataUtils.DBNullIfNull(mEventDescription));
            oParameters.AddWithValue("@iCompletionMsg", DataUtils.DBNullIfNull(CompletionMsg));
            oParameters.AddWithValue("@iCompletionStatus", DataUtils.DBNullIfNull(status));
            if (mLogTime == DateTime.MinValue)
                mLogTime = DateTimeUtility.ServerDateNoRefresh();

            oParameters.AddWithValue("@iTime", mLogTime);

            sql = "set ansi_warnings off;INSERT INTO AuditHeader (DataType,DataID,CorrespondenceID,EventID,EventDescription,CompletionMsg,CompletionStatus,LogTime)"
                + " VALUES (@iDataType,@iDataID,@iCorrespondenceID,@iEventID,@iEventDescription,@iCompletionMsg,@iCompletionStatus,@iTime)";
            sql += "; select @@IDENTITY as ID";

            DataTable oTable;
            try {
                oTable = SQL.ExecuteSingleResultSetSQLQuery(sql, oParameters);
            } catch (Exception x) {
                if (mRecover && SqlRecover.SaveForRecovery(x, true, this, "auditheader"))
                    return 0;
                else
                    throw new Exception("sql error", x);
            }

            if (oTable.Rows.Count == 0)
                return -1;

            ID = DataUtils.LongZeroIfNull(oTable.Rows[0]["ID"]);
            if (ID < 1)
                return -1;

            if (mFieldChanges != null) {
                string o;
                string n;
                oParameters = new SqlCommand().Parameters;
                foreach (string field in mFieldChanges.UpdateList.Keys) {
                    mFieldChanges.GetAuditValue(field, out o, out n);

                    oParameters.AddWithValue("@iAuditID", ID);
                    oParameters.AddWithValue("@iField", DataUtils.DBNullIfNull(field));
                    oParameters.AddWithValue("@iOldVal", DataUtils.DBNullIfNull(o));
                    oParameters.AddWithValue("@iNewVal", DataUtils.DBNullIfNull(n));

                    sql = "set ansi_warnings off;INSERT INTO AuditDetail(AuditID,Field, OldValue,NewValue) " +
                         " VALUES (@iAuditID,@iField, @iOldVal,@iNewVal);";

                    SQL.ExecuteNoResultSetSQLQuery(sql, oParameters);
                    oParameters.Clear();
                }
            }

            return ID;
        }
Example #45
0
        public override void Connect(System.Net.IPEndPoint endPoint)
        {
            m_outSocketAsyncEventArgs.RemoteEndPoint = endPoint;

            if (!m_socket.ConnectAsync(m_outSocketAsyncEventArgs))
            {
                CompletionStatus completionStatus = new CompletionStatus(this, m_state, OperationType.Connect, SocketError.Success, 0);

                m_completionPort.Queue(ref completionStatus);
            }
        }
Example #46
0
        private void HandleCompletionStatus(out CompletionStatus completionStatus, IntPtr overlappedAddress, IntPtr completionKey, int bytesTransferred)
        {
            if (completionKey.Equals(SignalPostCompletionKey))
            {
                object state;

                m_signalQueue.TryDequeue(out state);
                completionStatus = new CompletionStatus(null, state, OperationType.Signal, SocketError.Success, 0);
            }
            else
            {

                var overlapped = Overlapped.CompleteOperation(overlappedAddress);

                if (completionKey.Equals(SocketCompletionKey))
                {
                    // if the overlapped ntstatus is zero we assume success and don't call get overlapped result for optimization
                    if (overlapped.Success)
                    {
                        SocketError socketError = SocketError.Success;
                        try
                        {
                            if (overlapped.OperationType == OperationType.Accept)
                            {
                                overlapped.AsyncSocket.UpdateAccept();
                            }
                            else if (overlapped.OperationType == OperationType.Connect)
                            {
                                overlapped.AsyncSocket.UpdateConnect();
                            }
                        }
                        catch (SocketException)
                        {
                            socketError = (SocketError)Marshal.GetLastWin32Error();
                        }

                        completionStatus = new CompletionStatus(overlapped.AsyncSocket, overlapped.State,
                            overlapped.OperationType, socketError,
                            bytesTransferred);
                    }
                    else
                    {
                        SocketError socketError = SocketError.Success;
                        SocketFlags socketFlags;

                        bool operationSucceed = UnsafeMethods.WSAGetOverlappedResult(overlapped.AsyncSocket.Handle,
                            overlappedAddress,
                            out bytesTransferred, false, out socketFlags);

                        if (!operationSucceed)
                        {
                            socketError = (SocketError)Marshal.GetLastWin32Error();
                        }

                        completionStatus = new CompletionStatus(overlapped.AsyncSocket, overlapped.State,
                            overlapped.OperationType, socketError,
                            bytesTransferred);
                    }
                }
                else
                {
                    completionStatus = new CompletionStatus(overlapped.AsyncSocket, overlapped.State,
                        overlapped.OperationType, SocketError.Success, 0);
                }
            }
        }
 public TRANSACTION_UNAVAILABLE(int minor, CompletionStatus status) :
     base(System.Reflection.MethodInfo.GetCurrentMethod().DeclaringType.FullName, minor, status) { }
 public CODESET_INCOMPATIBLE(int minor, CompletionStatus status) :
     base(System.Reflection.MethodInfo.GetCurrentMethod().DeclaringType.FullName, minor, status) { }
Example #49
0
 public long Save(CompletionStatus status, string CompletionMsg)
 {
     return Save(status, CompletionMsg, SqlUtil.Get(mDatabase));
 }
 public NO_IMPLEMENT(int minor, CompletionStatus status, string missingtype) :
     base(System.Reflection.MethodInfo.GetCurrentMethod().DeclaringType.FullName +
         " ["+missingtype+"] ", minor, status) { }
Example #51
0
        public override void Receive(byte[] buffer, int offset, int count, SocketFlags flags)
        {
            m_inSocketAsyncEventArgs.AcceptSocket = null;

            if (m_inSocketAsyncEventArgs.Buffer != buffer)
            {
                m_inSocketAsyncEventArgs.SetBuffer(buffer, offset, count);
            }
            else if (m_inSocketAsyncEventArgs.Offset != offset || m_inSocketAsyncEventArgs.Count != count)
            {
                m_inSocketAsyncEventArgs.SetBuffer(offset, count);
            }

            if (!m_socket.ReceiveAsync(m_inSocketAsyncEventArgs))
            {
                CompletionStatus completionStatus = new CompletionStatus(this, m_state, OperationType.Receive, m_inSocketAsyncEventArgs.SocketError,
                    m_inSocketAsyncEventArgs.BytesTransferred);

                m_completionPort.Queue(ref completionStatus);
            }
        }
Example #52
0
        public override void Accept(AsyncSocket socket)
        {
            NativeSocket nativeSocket = (NativeSocket)socket;

            m_inSocketAsyncEventArgs.AcceptSocket = nativeSocket.m_socket;

            if (!m_socket.AcceptAsync(m_inSocketAsyncEventArgs))
            {
                CompletionStatus completionStatus = new CompletionStatus(this, m_state, OperationType.Accept, SocketError.Success, 0);

                m_completionPort.Queue(ref completionStatus);
            }
        }
Example #53
0
 /// <summary>
 /// This value is not valid for SCORM 1.2
 /// </summary>
 /// <param name="value">The value to validate.</param>
 public override void ValidateCompletionStatus(CompletionStatus value)
 {
     throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, Resources.OnlyValidForSCORMV1p3, "CompletionStatus"));
 }
Example #54
0
 public static string MalAnimeStatusAsString(CompletionStatus status)
 {
     // This could come from the DB...
     switch (status)
     {
         case CompletionStatus.Completed:
             return "Completed";
         case CompletionStatus.Dropped:
             return "Dropped";
         case CompletionStatus.OnHold:
             return "On Hold";
         case CompletionStatus.PlanToWatch:
             return "Plan to Watch";
         case CompletionStatus.Watching:
             return "Watching";
         default:
             return "???";
     }
 }
Example #55
0
        public override bool GetQueuedCompletionStatus(int timeout, out CompletionStatus completionStatus)
        {
            int bytesTransferred;
            IntPtr completionKey;
            IntPtr overlappedAddress;

            bool result = UnsafeMethods.GetQueuedCompletionStatus(m_completionPortHandle, out bytesTransferred,
                out completionKey, out overlappedAddress, timeout);

            if (!result && overlappedAddress == IntPtr.Zero)
            {
                int error = Marshal.GetLastWin32Error();

                if (error == WaitTimeoutError)
                {
                    completionStatus = new CompletionStatus();

                    return false;
                }

                throw new Win32Exception(error);
            }

            HandleCompletionStatus(out completionStatus, overlappedAddress, completionKey, bytesTransferred);

            return true;
        }
 public TRANSIENT(int minor, CompletionStatus status, string additionalDetail) :
     base(System.Reflection.MethodInfo.GetCurrentMethod().DeclaringType.FullName +
         " ["+additionalDetail+"] ", minor, status) { }
 protected AbstractCORBASystemException(System.Runtime.Serialization.SerializationInfo info,
                                        System.Runtime.Serialization.StreamingContext context) : base(info, context) {
     m_minor = info.GetInt32("minor");
     m_status = (CompletionStatus)
                info.GetValue("status", typeof(CompletionStatus));
 }
Example #58
0
 public AnswerResult(long activityAttempId, long activityPackageId, string activityTitle, long? interactionId, CompletionStatus completionStatus, SuccessStatus? successStatus, AttemptResult attempResult, object learnerResponse, string correctResponse, InteractionType? learnerResponseType, float? minScore, float? maxScore, float? rawScore, float? scaledScore, string primaryResourceFromManifest)
 {
    this.ActivityAttemptId = activityAttempId;
    this.ActivityPackageId = activityPackageId;
    this.ActivityTitle = activityTitle;
    this.InteractionId = interactionId;
    this.CompletionStatus = completionStatus;
    this.SuccessStatus = successStatus;
    this.AttemptResult = attempResult;
    this.LearnerResponse = learnerResponse;
    this.CorrectResponse = correctResponse;
    this.LearnerResponseType = learnerResponseType;
    this.MinScore = minScore;
    this.MaxScore = maxScore;
    this.RawScore = rawScore;
    this.ScaledScore = scaledScore;
    this.PrimaryResourceFromManifest = primaryResourceFromManifest;
 }
 protected AbstractCORBASystemException(string exceptionDesc, int minor, CompletionStatus status) :
     base("CORBA system exception : " + exceptionDesc +
          ", completed: " + status + " minor: " + minor) {
     m_minor = minor;
     m_status = status;
 }
 public BAD_QOS(int minor, CompletionStatus status) :
     base(System.Reflection.MethodInfo.GetCurrentMethod().DeclaringType.FullName, minor, status) { }