Exemplo n.º 1
0
        public void InitView()
        {
            Boolean isAnonymousUser = UserContext.isAnonymous;
            long    idCall          = View.PreloadIdCall;
            long    idEvaluation    = View.PreloadIdEvaluation;
            long    idSubmission    = View.PreloadIdSubmission;
            long    idEvaluator     = View.PreloadIdEvaluator;
            Int32   idUser          = UserContext.CurrentUserID;

            lm.Comol.Modules.CallForPapers.Domain.CallForPaperType type = ServiceCall.GetCallType(idCall);
            int idModule = (type == CallForPaperType.CallForBids) ? ServiceCall.ServiceModuleID() : ServiceRequest.ServiceModuleID();

            dtoBaseForPaper baseCall    = ServiceCall.GetDtoBaseCall(idCall);
            int             idCommunity = GetCurrentCommunity(baseCall);


            View.IdCall          = idCall;
            View.IdCallModule    = idModule;
            View.IdCallCommunity = idCommunity;
            View.IdEvaluation    = idEvaluation;
            View.IdSubmission    = idSubmission;
            View.IdEvaluator     = idEvaluator;
            View.CallType        = type;
            DisplayEvaluations dEvaluation = DisplayEvaluations.None;

            if (idEvaluation > 0)
            {
                dEvaluation = DisplayEvaluations.Single;
            }
            else if (idEvaluator > 0)
            {
                dEvaluation = DisplayEvaluations.ForUser;
            }
            else if (idSubmission > 0)
            {
                dEvaluation = DisplayEvaluations.ForSubmission;
            }

            if (UserContext.isAnonymous)
            {
                switch (dEvaluation)
                {
                case DisplayEvaluations.Single:
                    View.DisplaySessionTimeout(RootObject.ViewSingleEvaluation(idEvaluation, idSubmission, idCall, idCommunity, View.AdvCommId));
                    break;

                case DisplayEvaluations.ForUser:
                    View.DisplaySessionTimeout(RootObject.ViewUserEvaluations(idEvaluator, idSubmission, idCall, idCommunity, View.AdvCommId));
                    break;

                default:
                    View.DisplaySessionTimeout(RootObject.ViewSubmissionEvaluations(idSubmission, idCall, idCommunity, View.AdvCommId));
                    break;
                }
            }
            else
            {
                if (baseCall == null)
                {
                    View.DisplayUnknownCall(idCommunity, idModule, idCall, type);
                }
                else if (type == CallForPaperType.RequestForMembership)
                {
                    View.DisplayEvaluationUnavailable();
                }
                else if (dEvaluation == DisplayEvaluations.None)
                {
                    View.DisplayNoEvaluationsToView();
                }
                else
                {
                    ModuleCallForPaper module     = ServiceCall.CallForPaperServicePermission(idUser, idCommunity);
                    Boolean            allowAdmin = ((module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && baseCall.Owner.Id == idUser)));

                    if (!allowAdmin && !Service.isEvaluationOwner(idEvaluator, idEvaluation, idSubmission, dEvaluation, UserContext.CurrentUserID))
                    {
                        View.DisplayNoPermissionToView();
                    }
                    else
                    {
                        dtoSubmissionRevision submission = ServiceCall.GetSubmissionWithRevisions(idSubmission, false);
                        if (submission == null)
                        {
                            View.DisplayUnknownSubmission(idCommunity, idModule, idSubmission, type);
                        }
                        else
                        {
                            dtoCall call = ServiceCall.GetDtoCall(idCall);
                            if (call != null)
                            {
                                View.CurrentEvaluationType = call.EvaluationType;
                                if (call.EvaluationType == EvaluationType.Dss)
                                {
                                    InitializeDssInfo(idCall);
                                }
                                else
                                {
                                    View.HideDssWarning();
                                }
                                LoadData(dEvaluation, idCommunity, call, submission, idEvaluation, idEvaluator);
                            }
                            else
                            {
                                View.DisplayUnknownCall(idCommunity, idModule, idCall, type);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void LoadData(DisplayEvaluations display, Int32 idCommunity, dtoCall call, dtoSubmissionRevision submission, long idEvaluation, long idEvaluator)
        {
            View.CurrentDisplay = display;
            List <dtoCommitteeEvaluationInfo> committees = null;
            String     owner       = (submission.IsAnonymous || submission.Owner == null) ? View.AnonymousDisplayName : submission.Owner.SurnameAndName;
            litePerson submitter   = CurrentManager.GetLitePerson(submission.IdSubmittedBy);
            String     submittedBy = (submission.IdPerson == submission.IdSubmittedBy) ? "" : (submitter == null || submitter.TypeID == (int)UserTypeStandard.Guest) ? View.AnonymousDisplayName : submitter.SurnameAndName;

            View.LoadSubmissionInfo(owner, call.Name, submission.SubmittedOn, submittedBy);
            View.AllowPrint = true;

            if (call.AdvacedEvaluation)
            {
                View.SetViewEvaluationUrl("");
            }
            else
            {
                View.SetViewEvaluationUrl(RootObject.ViewSubmissionTableEvaluations(submission.Id, call.Id, idCommunity));
            }

            View.CommitteeIsFuzzy = Service.GetCommitteeDssMethodIsFuzzy(call.Id);
            switch (display)
            {
            case DisplayEvaluations.ForSubmission:
                committees = (call.AdvacedEvaluation) ?
                             ServiceCall.GetCommitteesInfoForSubmission(submission.Id, call.Id, View.AdvCommId)
                        : Service.GetCommitteesInfoForSubmission(submission.Id, call.Id);
                View.LoadCommitteesStatus(committees, display);

                View.LoadEvaluations(
                    (call.AdvacedEvaluation) ?
                    ServiceCall.GetSubmissionEvaluationsDispItem(call.Id, submission.Id, View.AdvCommId, View.UnknonwUserName) :
                    Service.GetSubmissionEvaluations(submission.Id, call.Id, View.UnknonwUserName)
                    );

                break;

            case DisplayEvaluations.ForUser:
                committees = (call.AdvacedEvaluation) ?
                             ServiceCall.GetCommitteesInfoForEvaluator(idEvaluator, View.AdvCommId) :
                             Service.GetCommitteesInfoForEvaluator(idEvaluator);

                CallEvaluator evaluator = CurrentManager.Get <CallEvaluator>(idEvaluator);
                if (committees != null)
                {
                    View.LoadEvaluatorInfo((evaluator == null || evaluator.Person == null) ? View.AnonymousDisplayName : evaluator.Person.SurnameAndName, committees.Count);
                }
                else
                {
                    View.LoadEvaluatorInfo((evaluator == null || evaluator.Person == null) ? View.AnonymousDisplayName : evaluator.Person.SurnameAndName, 0);
                }

                View.LoadEvaluations(Service.GetEvaluationsInfo(idEvaluator, submission.Id, View.AnonymousDisplayName, View.UnknonwUserName));
                View.LoadCommitteesStatus(committees, display);
                break;

            case DisplayEvaluations.Single:
                lm.Comol.Modules.CallForPapers.Domain.Evaluation.dtoEvaluation evaluation =
                    (call.AdvacedEvaluation) ?
                    ServiceCall.GetFullEvaluation(idEvaluation, View.AnonymousDisplayName, View.UnknonwUserName):
                    Service.GetFullEvaluation(idEvaluation, View.AnonymousDisplayName, View.UnknonwUserName);

                if (evaluation == null)
                {
                    View.DisplayUnknownEvaluation(View.IdCallCommunity, View.IdCallModule, idEvaluation);
                }
                else
                {
                    dtoCommitteeEvaluation result = new dtoCommitteeEvaluation()
                    {
                        Evaluation  = evaluation,
                        IdCommittee = evaluation.IdCommittee
                    };

                    committees = (call.AdvacedEvaluation) ?
                                 ServiceCall.GetCommitteesInfoForEvaluator(evaluation.IdEvaluator):
                                 Service.GetCommitteesInfoForEvaluator(evaluation.IdEvaluator);

                    if (committees.Where(c => c.IdCommittee == evaluation.IdCommittee).Any())
                    {
                        committees.Where(c => c.IdCommittee == evaluation.IdCommittee).FirstOrDefault().Status = evaluation.Status;
                        result.Status = evaluation.Status;
                        result.Name   = committees.Where(c => c.IdCommittee == evaluation.IdCommittee).FirstOrDefault().Name;
                    }

                    View.LoadCommitteesStatus(committees.Where(c => c.IdCommittee == evaluation.IdCommittee).ToList(), display);
                    if (committees != null)
                    {
                        View.LoadEvaluatorInfo(evaluation.EvaluatorName, committees.Count);
                    }
                    else
                    {
                        View.LoadEvaluatorInfo(evaluation.EvaluatorName, 0);
                    }
                    View.LoadEvaluation(result);
                }
                break;
            }
        }