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); } } } } } }
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; } }