public int Compare(Submit x, Submit y)
            {
                SubmitStatus xStatus = x.ConvertStatus(x.Status);
                SubmitStatus yStatus = y.ConvertStatus(y.Status);

                if (x.ConvertStatus(x.Status) == y.ConvertStatus(y.Status))
                {
                    if (x.SecondsSinceEnrollment == y.SecondsSinceEnrollment)
                    {
                        return(0);
                    }

                    if (x.SecondsSinceEnrollment < y.SecondsSinceEnrollment)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(1);
                    }
                }

                if (x.ConvertStatus(x.Status) < y.ConvertStatus(y.Status))
                {
                    return(-1);
                }
                else
                {
                    return(1);
                }
            }
        public StatusEnum ConvertSubmitStatus(SubmitStatus submitStatus)
        {
            switch (submitStatus)
            {
            case SubmitStatus.Success:
                return(StatusEnum.Finished);

            case SubmitStatus.Submitted:
            case SubmitStatus.Processing:
                return(StatusEnum.Started);

            case SubmitStatus.NullSubmit:
                return(StatusEnum.NotStarted);

            case SubmitStatus.ErrorCompilation:
            case SubmitStatus.ErrorValidation:
            case SubmitStatus.ErrorTesting:
            case SubmitStatus.ErrorServer:
            case SubmitStatus.ErrorUnknown:
                return(StatusEnum.Failed);

            default:
                break;
            }

            return(StatusEnum.NotStarted);
        }
Example #3
0
        public void UpdateSubmitStatusDetails(int submitId, SubmitStatus newStatus, string details, DateTime statusDate)
        {
            if (string.IsNullOrEmpty(details))
            {
                details = "Empty";
            }
            _dataAccess.UpdateSubmitStatusDetails(submitId, newStatus, details, statusDate);

            NotifySubmitStatusChange(submitId, newStatus, details, statusDate);

            Submit firstPlaceSubmit = null;

            //TODO If newstatus is success, check if this submit is in first place for the assignment
            if (newStatus == SubmitStatus.Success)
            {
                // Get the tournamentassignment of the submit
                Submit submit = _dataAccess.GetSubmitById(submitId);
                int    taId   = submit.TournamentAssignment.Id;

                // Get the submit in first place for the tournamentassignment
                firstPlaceSubmit = _dataAccess.GetFastestSubmitForTournamentAssignment(taId);
            }

            if (firstPlaceSubmit != null && firstPlaceSubmit.Id == submitId)
            {
                NotifyFirstPlace(firstPlaceSubmit);
            }
        }
        public static string GetDescription(this SubmitStatus submitStatus)
        {
            switch (submitStatus)
            {
            case SubmitStatus.Pending:
                return("Pending...");

            case SubmitStatus.CompilationError:
                return("Compilation error");

            case SubmitStatus.RuntimeError:
                return("Runtime error");

            case SubmitStatus.TimeLimitExceeded:
                return("Time limit exceeded");

            case SubmitStatus.MemoryLimitExceeded:
                return("Memory limit exceeded");

            case SubmitStatus.WrongAnswer:
                return("Wrong answer");

            case SubmitStatus.Accepted:
                return("Accepted");

            case SubmitStatus.ServerError:
                return("Server error");
            }
            throw new ArgumentOutOfRangeException();
        }
 public static string getStringFromSubmitType(SubmitStatus type)
 {
     switch (type)
     {
         case Lib.Enumerations.SubmitStatus.Approved:
             return Lib.Resources.Messages.ENUM_SUBMITTYPE_APPROVED;
         case Lib.Enumerations.SubmitStatus.NotApproved:
             return Lib.Resources.Messages.ENUM_SUBMITTYPE_REPROVED;
         default:
             return Lib.Resources.Messages.ENUM_SUBMITTYPE_SUBMITTED;
     }
 }
Example #6
0
        public void NotifySubmitStatusChange(int submitId, SubmitStatus newStatus, string details, DateTime statusDate)
        {
            if (_useNotification)
            {
                string notifyText;
                //Get the submit

                //don't use global setting. this will break the multithreaded buildprocess
                IDataAccess dataAccess = CreateDataAccess();

                Submit s = dataAccess.GetSubmitById(submitId);

                switch (newStatus)
                {
                case SubmitStatus.Success:
                    notifyText = string.Format(
                        "Team '{0}': Processing of submit for assignment {1} submitted at {2} resulted in the following: SUCCESS! You pass, now get coffee.",
                        new object[] { s.Team.Name, s.TournamentAssignment.Assignment.Name, s.SubmitDate.ToString("dd-MM-yyyy HH:mm:ss") });
                    NotifyAll(MessageType.Info, statusDate, "", newStatus.ToString(), notifyText);
                    break;

                case SubmitStatus.Processing:
                    notifyText = string.Format(
                        "Team '{0}': Processing of submit for assignment {1} submitted at {2} has started. Now we wait.",
                        new object[] { s.Team.Name, s.TournamentAssignment.Assignment.Name, s.SubmitDate.ToString("dd-MM-yyyy HH:mm:ss") });
                    NotifyAll(MessageType.Info, statusDate, s.Team.Name, newStatus.ToString(), notifyText);
                    break;

                case SubmitStatus.ErrorCompilation:
                case SubmitStatus.ErrorValidation:
                case SubmitStatus.ErrorTesting:
                case SubmitStatus.ErrorServer:
                case SubmitStatus.ErrorUnknown:
                    notifyText = string.Format(
                        "Team '{0}': Processing of submit {1} for assignment {2} submitted at {3} resulted in the following: {4}",
                        new object[] { s.Team.Name, s.Id, s.TournamentAssignment.Assignment.Name, s.SubmitDate.ToString("dd-MM-yyyy HH:mm:ss"), details });
                    NotifyAll(MessageType.Error, statusDate, s.Team.Name, newStatus.ToString(), notifyText);
                    break;

                case SubmitStatus.Submitted:
                    notifyText = string.Format(
                        "Team '{0}': Submit {1} for assignment {2} has been received at {3}. It's in the queue.",
                        new object[] { s.Team.Name, s.Id, s.TournamentAssignment.Assignment.Name, s.SubmitDate.ToString("dd-MM-yyyy HH:mm:ss") });
                    NotifyAll(MessageType.Info, statusDate, "", newStatus.ToString(), notifyText);

                    break;

                default:
                    break;
                }
            }
        }
Example #7
0
        public void UpdateSubmitStatusDetails(int submitId, SubmitStatus newStatus, string details, DateTime statusDate)
        {
            e.Submit toUpdate = (from s in _m.Submit
                                 where s.Id == submitId
                                 select s).First();

            toUpdate.Status            = newStatus.ToString();
            toUpdate.ProcessingDetails = details;
            toUpdate.StatusDate        = statusDate;

            _m.SaveChanges();
            _m.Refresh(System.Data.Objects.RefreshMode.StoreWins, toUpdate);
        }
Example #8
0
        /// <inheritDoc/>
        public virtual string GetSubmitMessage(SubmitStatus submitedSuccessfully)
        {
            switch (submitedSuccessfully)
            {
            case SubmitStatus.Success:
                return(this.CustomConfirmationMessage);

            case SubmitStatus.InvalidEntry:
                return(Res.Get <FormResources>().UnsuccessfullySubmittedMessage);

            case SubmitStatus.RestrictionViolation:
                return(Res.Get <FormsResources>().YouHaveAlreadySubmittedThisForm);

            default:
                return(string.Empty);
            }
        }
Example #9
0
 public ProgSubmit(SubmitStatus Status)
 {
     this.Status = Status;
 }
Example #10
0
 /// <inheritDoc/>
 public virtual string GetSubmitMessage(SubmitStatus submitedSuccessfully)
 {
     switch (submitedSuccessfully)
     {
         case SubmitStatus.Success:
             return this.CustomConfirmationMessage;
         case SubmitStatus.InvalidEntry:
             return Res.Get<FormResources>().UnsuccessfullySubmittedMessage;
         case SubmitStatus.RestrictionViolation:
             return Res.Get<FormsResources>().YouHaveAlreadySubmittedThisForm;
         default:
             return string.Empty;
     }
 }
Example #11
0
 public IEnumerable <ActionSubmitPart> Get(SubmitStatus status, VersionOptions versionOptions)
 {
     return(_contentManager.Query <ActionSubmitPart, ActionSubmitPartRecord>(versionOptions)
            .Where(submit => submit.Status == status).List());
 }
Example #12
0
 public IEnumerable <ActionSubmitPart> Get(SubmitStatus status)
 {
     return(Get(status, VersionOptions.Published));
 }
Example #13
0
        public void UpdateSubmitStatusDetails(int submitId, SubmitStatus newStatus, string details, DateTime statusDate)
        {
            e.Submit toUpdate = (from s in _m.Submit
                                 where s.Id == submitId
                                 select s).First();

            toUpdate.Status = newStatus.ToString();
            toUpdate.ProcessingDetails = details;
            toUpdate.StatusDate = statusDate;

            _m.SaveChanges();
            _m.Refresh(System.Data.Objects.RefreshMode.StoreWins, toUpdate);
        }
Example #14
0
 public string GetSubmitMessage(SubmitStatus submitedSuccessfully)
 {
     return(string.Empty);
 }
Example #15
0
 protected override void Decode(byte[] Data)
 {
     Status = (SubmitStatus)(Data.Length > 1 ? Data[1] : 0);
 }
Example #16
0
 private UpdateFilmTheatreResponse GetUpdateFilmThatreResponse(string message, SubmitStatus status)
 {
     return(new UpdateFilmTheatreResponse
     {
         Message = message,
         Status = status.ToString()
     });
 }
Example #17
0
        public void NotifySubmitStatusChange(int submitId, SubmitStatus newStatus, string details, DateTime statusDate)
        {
            if (_useNotification)
            {
                string notifyText;

                //don't use global setting. this will break the multithreaded buildprocess
                IDataAccess dataAccess = CreateDataAccess();

                Submit s = dataAccess.GetSubmitById(submitId);

                switch (newStatus)
                {
                    case SubmitStatus.Success:
                        notifyText = string.Format(
                            "Team '{0}': Processing of submit for assignment {1} submitted at {2} resulted in the following: SUCCESS! You pass, now get coffee.",
                            new object[] { s.Team.Name, s.TournamentAssignment.Assignment.Name, s.SubmitDate.ToString("dd-MM-yyyy HH:mm:ss") });
                        NotifyAll(MessageType.Info, statusDate, "", newStatus.ToString(), notifyText);
                        break;
                    case SubmitStatus.Processing:
                        notifyText = string.Format(
                            "Team '{0}': Processing of submit for assignment {1} submitted at {2} has started. Now we wait.",
                            new object[] { s.Team.Name, s.TournamentAssignment.Assignment.Name, s.SubmitDate.ToString("dd-MM-yyyy HH:mm:ss") });
                        NotifyAll(MessageType.Info, statusDate, s.Team.Name, newStatus.ToString(), notifyText);
                        break;
                    case SubmitStatus.ErrorCompilation:
                    case SubmitStatus.ErrorValidation:
                    case SubmitStatus.ErrorTesting:
                    case SubmitStatus.ErrorServer:
                    case SubmitStatus.ErrorUnknown:
                        notifyText = string.Format(
                            "Team '{0}': Processing of submit {1} for assignment {2} submitted at {3} resulted in the following: {4}",
                            new object[] { s.Team.Name, s.Id, s.TournamentAssignment.Assignment.Name, s.SubmitDate.ToString("dd-MM-yyyy HH:mm:ss"), details });
                        NotifyAll(MessageType.Error, statusDate, s.Team.Name, newStatus.ToString(), notifyText);
                        break;
                    case SubmitStatus.Submitted:
                        notifyText = string.Format(
                            "Team '{0}': Submit {1} for assignment {2} has been received at {3}. It's in the queue.",
                            new object[] { s.Team.Name, s.Id, s.TournamentAssignment.Assignment.Name, s.SubmitDate.ToString("dd-MM-yyyy HH:mm:ss") });
                        NotifyAll(MessageType.Info, statusDate, "", newStatus.ToString(), notifyText);

                        break;
                    default:
                        break;
                }
            }
        }
Example #18
0
        public void UpdateSubmitStatusDetails(int submitId, SubmitStatus newStatus, string details, DateTime statusDate)
        {
            if (string.IsNullOrEmpty(details))
            {
                details = "Empty";
            }

            _dataAccess.UpdateSubmitStatusDetails(submitId, newStatus, details, statusDate);

            NotifySubmitStatusChange(submitId, newStatus, details, statusDate);

            Submit firstPlaceSubmit = null;

            if (newStatus == SubmitStatus.Success)
            {
                // Get the tournamentassignment of the submit
                Submit submit = _dataAccess.GetSubmitById(submitId);
                int taId = submit.TournamentAssignment.Id;

                // Get the submit in first place for the tournamentassignment
                firstPlaceSubmit = _dataAccess.GetFastestSubmitForTournamentAssignment(taId);
            }

            if (firstPlaceSubmit != null && firstPlaceSubmit.Id == submitId)
            {
                NotifyFirstPlace(firstPlaceSubmit);
            }
        }