예제 #1
0
        private void LoadCall(dtoCall dto)
        {
            View.LoadCallInfo(dto);
            BaseForPaper call = Service.GetCall(dto.Id);

            if (call != null)
            {
                long idSubmitter = 0;
                List <dtoSubmitterType> submitters = Service.GetCallAvailableSubmittersType(call);
                View.HasMultipleSubmitters = (submitters.Count > 0);
                if (submitters.Count == 1)
                {
                    idSubmitter = submitters[0].Id;
                }
                else
                {
                    View.LoadSubmitterTypes(submitters);
                }
                if (idSubmitter != 0 && submitters.Where(s => s.Id == idSubmitter).Any())
                {
                    if (submitters.Count > 1)
                    {
                        View.SetSubmitterName(submitters.Where(s => s.Id == idSubmitter).FirstOrDefault().Name);
                    }
                    else
                    {
                        View.SetGenericSubmitterName();
                    }
                }
                LoadSections(call, idSubmitter);
            }
        }
예제 #2
0
        private void LoadRevision(dtoBaseForPaper call, dtoSubmissionRevision sub, dtoRevisionRequest rev)
        {
            switch (call.Type)
            {
            case CallForPaperType.CallForBids:
                dtoCall dtoC = Service.GetDtoCall(call.Id);
                View.LoadCallInfo(dtoC);
                break;

            case CallForPaperType.RequestForMembership:
                dtoRequest dtoR = ServiceRequest.GetDtoRequest(call.Id);
                View.LoadCallInfo(dtoR);
                break;
            }
            View.LoadAttachments(Service.GetAvailableCallAttachments(call.Id, sub.Type.Id));

            View.DisplayPendingRequest(rev);
            View.FieldsToReview = rev.ItemsToReview.Where(i => i.Deleted == BaseStatusDeleted.None).Select(i => i.IdField).ToList();
            if (rev.Status == RevisionStatus.Request)
            {
                LoadSections(call.Id, sub.Type.Id, sub.Id, sub.GetIdLastActiveRevision());
            }
            else
            {
                LoadSections(call.Id, sub.Type.Id, sub.Id, rev.Id);
            }
        }
예제 #3
0
        private void LoadSubmission(dtoBaseForPaper call, dtoSubmissionRevision subRev, dtoRevisionRequest rev)
        {
            switch (call.Type)
            {
            case CallForPaperType.CallForBids:
                dtoCall dtoC = Service.GetDtoCall(call.Id);
                View.LoadCallInfo(dtoC);
                break;

            case CallForPaperType.RequestForMembership:
                dtoRequest dtoR = ServiceRequest.GetDtoRequest(call.Id);
                View.LoadCallInfo(dtoR);
                break;
            }

            View.IdSubmitterType = (subRev == null) ? 0 : subRev.Type.Id;
            String owner       = "";
            String submittedBy = "";

            if (subRev.Owner == null || subRev.Owner.TypeID == (int)UserTypeStandard.Guest)
            {
                owner = View.AnonymousOwnerName;
                Int32 idUser = 0;
                GetCurrentUser(ref idUser);
                View.IdUserSubmitter = idUser;
            }
            else
            {
                owner = subRev.Owner.SurnameAndName;
                View.IdUserSubmitter = subRev.Owner.Id;
            }

            if (subRev.SubmittedBy == null || subRev.SubmittedBy.TypeID == (int)UserTypeStandard.Guest)
            {
                submittedBy = View.AnonymousOwnerName;
            }
            else
            {
                submittedBy = subRev.SubmittedBy.SurnameAndName;
            }

            if (subRev.Deleted != BaseStatusDeleted.None)
            {
                View.LoadSubmissionInfo(subRev.Type.Name, owner, SubmissionStatus.deleted);
            }
            else if (!subRev.SubmittedOn.HasValue)
            {
                View.LoadSubmissionInfo(subRev.Type.Name, owner, subRev.Status);
            }
            else if (subRev.IdPerson == subRev.IdSubmittedBy)
            {
                View.LoadSubmissionInfo(subRev.Type.Name, owner, subRev.Status, subRev.SubmittedOn.Value);
            }
            else
            {
                View.LoadSubmissionInfo(subRev.Type.Name, owner, subRev.Status, subRev.SubmittedOn.Value, submittedBy);
            }

            LoadSections(call.Id, subRev.Id, rev);
        }
        private void LoadSubmission(dtoBaseForPaper call, dtoSubmissionRevision subRev, int idUser, Boolean allowAdmin)
        {
            if (!allowAdmin)
            {
                switch (call.Type)
                {
                case CallForPaperType.CallForBids:
                    dtoCall dtoC = ServiceCall.GetDtoCall(call.Id);
                    View.LoadCallInfo(dtoC);
                    break;

                case CallForPaperType.RequestForMembership:
                    dtoRequest dtoR = ServiceRequest.GetDtoRequest(call.Id);
                    View.LoadCallInfo(dtoR);
                    break;
                }
                View.LoadAttachments(ServiceCall.GetAvailableCallAttachments(call.Id, subRev.Type.Id));
            }
            View.IdSubmitterType = (subRev == null) ? 0 : subRev.Type.Id;
            String owner       = "";
            String submittedBy = "";

            if (subRev.Owner == null || subRev.Owner.TypeID == (int)UserTypeStandard.Guest)
            {
                owner = View.AnonymousOwnerName;
            }
            else
            {
                owner = subRev.Owner.SurnameAndName;
            }

            if (subRev.SubmittedBy == null || subRev.SubmittedBy.TypeID == (int)UserTypeStandard.Guest)
            {
                submittedBy = View.AnonymousOwnerName;
            }
            else
            {
                submittedBy = subRev.SubmittedBy.SurnameAndName;
            }

            if (subRev.Deleted != BaseStatusDeleted.None)
            {
                View.LoadSubmissionInfo(subRev.Type.Name, owner, SubmissionStatus.deleted);
            }
            else if (!subRev.SubmittedOn.HasValue)
            {
                View.LoadSubmissionInfo(subRev.Type.Name, owner, subRev.Status);
            }
            else if (subRev.IdPerson == subRev.IdSubmittedBy)
            {
                View.LoadSubmissionInfo(subRev.Type.Name, owner, subRev.Status, subRev.SubmittedOn.Value);
            }
            else
            {
                View.LoadSubmissionInfo(subRev.Type.Name, owner, subRev.Status, subRev.SubmittedOn.Value, submittedBy);
            }

            LoadSections(call, subRev, allowAdmin);
        }
예제 #5
0
        public void InitView()
        {
            Boolean isAnonymousUser = UserContext.isAnonymous;
            long    idCall          = View.PreloadIdCall;
            Int32   idUser          = UserContext.CurrentUserID;

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

            dtoCall call = (type == CallForPaperType.CallForBids) ? ServiceCall.GetDtoCall(idCall) : null;

            if (call != null)
            {
                View.SetContainerName(call.Name, call.EndEvaluationOn);
            }


            if (call.AdvacedEvaluation)
            {
                View.RedirectToAdvance(call.Id);
            }


            int idCommunity = GetCurrentCommunity(call);

            View.IdCall          = idCall;
            View.IdCallModule    = idModule;
            View.IdCallCommunity = idCommunity;
            View.CallType        = type;

            ModuleCallForPaper module     = ServiceCall.CallForPaperServicePermission(idUser, idCommunity);
            Boolean            allowAdmin = ((module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser)));

            View.SetActionUrl((allowAdmin) ? CallStandardAction.Manage : CallStandardAction.List, RootObject.ViewCalls(idCall, type, ((allowAdmin) ? CallStandardAction.Manage : CallStandardAction.List), idCommunity, View.PreloadView));

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout(RootObject.CommitteesSummary(idCall, idCommunity, View.PreloadView, View.PreloadIdSubmitterType, View.PreloadFilterBy, View.PreloadOrderBy, View.PreloadAscending, View.PreloadPageIndex, View.PreloadPageSize, View.GetItemEncoded(View.PreloadSearchForName)));
            }
            else if (call == null)
            {
                View.DisplayUnknownCall(idCommunity, idModule, idCall);
            }
            else if (type == CallForPaperType.RequestForMembership)
            {
                View.DisplayEvaluationUnavailable();
            }
            else if (allowAdmin)
            {
                View.CurrentEvaluationType = call.EvaluationType;
                if (call.EvaluationType == EvaluationType.Dss)
                {
                    View.CallUseFuzzy = Service.CallUseFuzzy(idCall);
                }
                View.AllowExportAll = Service.HasEvaluations(idCall);
                View.DisplayEvaluationInfo(call.EndEvaluationOn);
                InitializeView(idCall, call.EvaluationType, idCommunity, View.PreloadFilters);
            }
        }
예제 #6
0
        private void LoadCall(dtoCall dto, dtoBaseSubmission submission, long defaultSubmitter)
        {
            View.LoadCallInfo(dto);
            BaseForPaper            call       = Service.GetCall(dto.Id);
            List <dtoSubmitterType> submitters = null;

            if (call != null)
            {
                submitters = Service.GetCallAvailableSubmittersType(call);
                View.HasMultipleSubmitters = (submitters.Count > 1);
            }
            if (submission == null)
            {
                if (call != null)
                {
                    long idSubmitter = 0;

                    if (submitters.Count == 1)
                    {
                        idSubmitter = submitters[0].Id;
                        View.IdSelectedSubmitterType = idSubmitter;
                    }
                    else
                    {
                        idSubmitter = defaultSubmitter;
                        View.LoadSubmitterTypes(submitters);
                    }
                    View.AllowSubmitterSelection = (submitters.Count > 1 && defaultSubmitter == 0);
                    if (idSubmitter != 0 && submitters.Where(s => s.Id == idSubmitter).Any())
                    {
                        if (submitters.Count > 1)
                        {
                            View.SetSubmitterName(submitters.Where(s => s.Id == idSubmitter).FirstOrDefault().Name);
                        }
                        else
                        {
                            View.SetGenericSubmitterName();
                        }
                    }
                }
            }
            else
            {
                View.IdSelectedSubmitterType = submission.Type.Id;
                if (submitters != null && submitters.Count > 1)
                {
                    View.SetSubmitterName(submission.Type.Name);
                }
                else
                {
                    View.SetGenericSubmitterName();
                }
            }
            View.LoadAttachments(Service.GetAvailableCallAttachments(dto.Id, (submission == null) ? 0 : submission.Type.Id));
        }
예제 #7
0
        //private int SetCallCurrentCommunity(dtoBaseForPaper call)
        //{
        //    int idCommunity = 0;
        //    Community currentCommunity = CurrentManager.GetCommunity(this.UserContext.CurrentCommunityID);
        //    Community community = null;
        //    if (call != null)
        //        idCommunity = (call.IsPortal) ? 0 : (call.Community != null) ? call.Community.Id : 0;


        //    community = CurrentManager.GetCommunity(idCommunity);
        //    if (community != null){}
        //       // View.SetContainerName(community.Name, (call != null) ? call.Name : "");
        //    else if (currentCommunity != null)
        //    {
        //        idCommunity = this.UserContext.CurrentCommunityID;
        //       // View.SetContainerName(currentCommunity.Name, (call != null) ? call.Name : "");
        //    }
        //    else
        //    {
        //        idCommunity = 0;
        //        //View.SetContainerName(View.Portalname, (call != null) ? call.Name : "");
        //    }
        //    View.IdCallCommunity = idCommunity;
        //    return idCommunity;
        //}
        private void LoadData(long idCall, lm.Comol.Modules.CallForPapers.Domain.Evaluation.dtoEvaluation evaluation, dtoSubmissionRevision submission)
        {
            // LOAD CALL INFO
            //dtoCall dtoC = ServiceCall.GetDtoCall(idCall;
            //                View.LoadCallInfo(dtoC);
            //View.LoadAttachments(ServiceCall.GetAvailableCallAttachments(idCall, submission.Type.Id));
            //Boolean submissionSubmitted = (submission.Status == SubmissionStatus.accepted);
            dtoCall call = ServiceCall.GetDtoCall(idCall);

            LoadSubmission(call, submission);
            LoadEvaluationData(call, evaluation);
        }
예제 #8
0
        private void LoadEvaluationData(dtoCall call, lm.Comol.Modules.CallForPapers.Domain.Evaluation.dtoEvaluation evaluation)
        {
            Boolean inEvaluation = (evaluation.Status == Domain.Evaluation.EvaluationStatus.Evaluating || evaluation.Status == Domain.Evaluation.EvaluationStatus.None);

            View.AllowEvaluate           = inEvaluation && !(call.EndEvaluationOn.HasValue && call.EndEvaluationOn.Value <= DateTime.Now);
            View.AllowCompleteEvaluation = inEvaluation && !(call.EndEvaluationOn.HasValue && call.EndEvaluationOn.Value <= DateTime.Now);

            evaluation.Criteria.Where(c => View.SavingForComplete || !c.IsValueEmpty).ToList().ForEach(c => c.CriterionError = (c.IsValidForEvaluation) ? FieldError.None : (c.IsValidForCriterionSaving) ? FieldError.Mandatory : FieldError.Invalid);

            List <dtoCriterionForEvaluation> tabs = (from e in evaluation.Criteria
                                                     orderby e.Criterion.DisplayOrder
                                                     select new dtoCriterionForEvaluation(e.Criterion.Id, e.Criterion.Name, e.Criterion.DisplayOrder, e.Status, e.CriterionError != FieldError.None)).ToList();

            tabs.Add(new dtoCriterionForEvaluation(0, View.GeneralTabName, tabs.Select(t => t.DisplayOrder).Max() + 1, Domain.Evaluation.EvaluationStatus.None, false));
            evaluation.Criteria.Add(dtoCriterionEvaluated.GetEvaluationPlaceHolder(evaluation.Comment, tabs.Where(t => t.Id == 0).Select(t => t.DisplayOrder).FirstOrDefault()));
            View.InitializeEvaluationSettings(tabs, evaluation);
        }
예제 #9
0
        private void LoadSubmission(dtoCall call, dtoSubmissionRevision submission)
        {
            String owner       = "";
            String submittedBy = "";

            if (submission.Owner == null || submission.Owner.TypeID == (int)UserTypeStandard.Guest)
            {
                owner = View.AnonymousOwnerName;
            }
            else
            {
                owner = submission.Owner.SurnameAndName;
            }

            if (submission.SubmittedBy == null || submission.SubmittedBy.TypeID == (int)UserTypeStandard.Guest)
            {
                submittedBy = View.AnonymousOwnerName;
            }
            else
            {
                submittedBy = submission.SubmittedBy.SurnameAndName;
            }
            View.SetContainerName(call.Name, owner, submission.Type.Name, submittedBy);
            if (submission.Deleted != BaseStatusDeleted.None)
            {
                View.LoadSubmissionInfo(submission.Type.Name, owner, SubmissionStatus.deleted);
            }
            else if (!submission.SubmittedOn.HasValue)
            {
                View.LoadSubmissionInfo(submission.Type.Name, owner, submission.Status);
            }
            else if (submission.IdPerson == submission.IdSubmittedBy)
            {
                View.LoadSubmissionInfo(submission.Type.Name, owner, submission.Status, submission.SubmittedOn.Value);
            }
            else
            {
                View.LoadSubmissionInfo(submission.Type.Name, owner, submission.Status, submission.SubmittedOn.Value, submittedBy);
            }

            LoadSections(call.Id, submission);
        }
예제 #10
0
        public String ExportTo(dtoEvaluationsFilters filters, long idCommittee, long idEvaluator, Boolean applyFilters, lm.Comol.Core.DomainModel.Helpers.Export.ExportFileType fileType, Dictionary <lm.Comol.Modules.CallForPapers.Domain.Evaluation.EvaluationTranslations, String> translations, Dictionary <lm.Comol.Modules.CallForPapers.Domain.Evaluation.EvaluationStatus, String> status)
        {
            dtoCall call = ServiceCall.GetDtoCall(View.IdCall);

            if (!call.AdvacedEvaluation)
            {
                return(Service.ExportEvaluatorStatistics(call, filters, View.AnonymousDisplayname, View.UnknownDisplayname, idCommittee, idEvaluator, applyFilters, fileType, translations, status));
            }

            return(ServiceCall.ExportEvaluatorStatistics(
                       call,
                       filters,
                       View.AnonymousDisplayname,
                       View.UnknownDisplayname,
                       idCommittee,
                       idEvaluator,
                       applyFilters,
                       fileType,
                       translations,
                       status));
        }
예제 #11
0
        public void InitView()
        {
            long idCall = View.PreloadIdCall;

            dtoCall          call = null;
            CallForPaperType type = Service.GetCallType(idCall);

            call = Service.GetDtoCall(idCall);

            View.CallType = type;
            int idCommunity = SetCallCurrentCommunity(call);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                litePerson         currenUser = CurrentManager.GetLitePerson(UserContext.CurrentUserID);
                ModuleCallForPaper module     = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);

                int idModule = Service.ServiceModuleID();
                View.IdCallModule = idModule;
                if (call == null)
                {
                    View.LoadUnknowCall(idCommunity, idModule, idCall, type);
                }
                else if (module.Administration || module.ManageCallForPapers)
                {
                    View.IdCall = idCall;
                    LoadCall(call);
                    View.SendUserAction(idCommunity, idModule, idCall, ModuleCallForPaper.ActionType.ViewPreviewCallForPaper);
                }
                else
                {
                    View.DisplayNoPermission(idCommunity, idModule);
                }
            }
        }
        public void LoadEvaluations(long idCall, EvaluationType EvalType, Int32 idCommunity, dtoEvaluationsFilters filters, int pageIndex, int pageSize)
        {
            Boolean allowManage = true;

            View.CurrentFilters = filters;

            ModuleCallForPaper module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);

            allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper);

            lm.Comol.Modules.CallForPapers.Domain.CallForPaperType type = ServiceCall.GetCallType(idCall);
            dtoCall call = (type == CallForPaperType.CallForBids) ? ServiceCall.GetDtoCall(idCall) : null;

            if (call.AdvacedEvaluation)
            {
                bool isPresident = ServiceCall.CommissionUserIsPresident(View.IdCallAdvCommission, UserContext.CurrentUserID);
                bool isSecretary = ServiceCall.CommissionUserIsSecretary(View.IdCallAdvCommission, UserContext.CurrentUserID);

                if (isPresident || isSecretary)
                {
                    allowManage = true;
                }
            }


            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else if (allowManage)
            {
                LoadItems(idCall, EvalType, idCommunity, filters, pageIndex, pageSize);
            }

            else
            {
                View.DisplayNoPermission(idCommunity, View.IdCallModule);
            }
        }
예제 #13
0
        private int GetCurrentCommunity(dtoCall call)
        {
            int       idCommunity      = 0;
            Community currentCommunity = CurrentManager.GetCommunity(this.UserContext.CurrentCommunityID);
            Community community        = null;

            if (call != null)
            {
                idCommunity = (call.IsPortal) ? 0 : (call.Community != null) ? call.Community.Id : 0;
            }
            community = CurrentManager.GetCommunity(idCommunity);

            if (community == null && currentCommunity != null && !call.IsPortal)
            {
                idCommunity = this.UserContext.CurrentCommunityID;
            }
            else if (community == null)
            {
                idCommunity = 0;
            }
            View.IdCallCommunity = idCommunity;

            return(idCommunity);
        }
예제 #14
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;
            }
        }
예제 #15
0
        public void InitView(Boolean forPublicCall)
        {
            long             idCall          = View.PreloadIdCall;
            Boolean          skinInitialized = false;
            dtoCall          call            = null;
            CallForPaperType type            = Service.GetCallType(idCall);

            call = Service.GetDtoCall(idCall);
            if (type == CallForPaperType.None || call == null)
            {
                type = CallForPaperType.CallForBids;
            }
            View.CallType = type;
            int idCommunity = SetCallCurrentCommunity(call);
            int idModule    = Service.ServiceModuleID();

            if (call == null)
            {
                View.LoadUnknowCall(idCommunity, idModule, idCall, type);
            }
            else if (UserContext.isAnonymous && !forPublicCall)
            {
                if (call.IsPublic)
                {
                    View.GoToUrl(RootObject.SubmitToCallBySubmitterType(type, idCall, call.IsPublic, View.PreloadedIdSubmission, View.PreloadedIdSubmitter, View.FromPublicList, View.PreloadView, View.PreloadIdOtherCommunity));
                }
                else
                {
                    View.DisplaySessionTimeout();
                }
            }
            else if (UserContext.isAnonymous && forPublicCall && !call.IsPublic)
            {
                View.DisplayCallUnavailableForPublic();
            }
            else
            {
                int        idUser     = UserContext.CurrentUserID;
                litePerson currenUser = GetCurrentUser(ref idUser);

                View.isAnonymousSubmission = forPublicCall;
                View.TryToComplete         = false;
                ModuleCallForPaper module = Service.CallForPaperServicePermission(idUser, idCommunity);
                View.IdCallModule = idModule;

                Boolean hasPermissionToSubmit = Service.IsCallAvailableByUser(idCall, UserContext.CurrentUserID);

                if (call == null)
                {
                    View.LoadUnknowCall(idCommunity, idModule, idCall, type);
                    if (module.ViewCallForPapers || hasPermissionToSubmit)
                    {
                        if (View.FromPublicList)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.PublicCollectorCalls(CallForPaperType.CallForBids, idCall, View.PreloadIdCommunity));
                        }
                        else if (!UserContext.isAnonymous)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(idCall, CallForPaperType.CallForBids, CallStandardAction.List, (module.ViewCallForPapers) ? idCommunity : View.PreloadIdOtherCommunity, View.PreloadView));
                        }
                    }
                }
                else if (call.Status <= CallForPaperStatus.Published || call.Status == CallForPaperStatus.SubmissionClosed || call.Status == CallForPaperStatus.SubmissionsLimitReached)
                {
                    View.DisplayCallUnavailable(call.Status);
                    if (module.ViewCallForPapers || hasPermissionToSubmit)
                    {
                        if (View.FromPublicList)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.PublicCollectorCalls(CallForPaperType.CallForBids, idCall, View.PreloadIdCommunity));
                        }
                        else if (!UserContext.isAnonymous)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(idCall, CallForPaperType.CallForBids, CallStandardAction.List, (module.ViewCallForPapers) ? idCommunity : View.PreloadIdOtherCommunity, View.PreloadView));
                        }
                    }
                    if (forPublicCall)
                    {
                        View.InitializeView(Service.GetExternalContext(idCall), Service.CallWithFileToUpload(idCall, 0));
                        skinInitialized = true;
                    }
                }
                else if (!hasPermissionToSubmit && call.IsPublic && forPublicCall == false)
                {
                    View.GoToUrl(RootObject.SubmitToCallBySubmitterType(type, idCall, call.IsPublic, View.IdSubmission, View.PreloadedIdSubmitter, View.FromPublicList, View.PreloadView, View.PreloadIdOtherCommunity));
                }
                else if (module.ViewCallForPapers || call.IsPublic || hasPermissionToSubmit)
                {
                    long idSubmission = View.PreloadedIdSubmission;
                    View.IdCall         = idCall;
                    View.CallRepository = call.GetRepositoryIdentifier();
                    if (module.ViewCallForPapers || hasPermissionToSubmit)
                    {
                        if (View.FromPublicList)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.PublicCollectorCalls(CallForPaperType.CallForBids, idCall, View.PreloadIdCommunity));
                        }
                        else if (!UserContext.isAnonymous)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(idCall, CallForPaperType.CallForBids, CallStandardAction.List, (module.ViewCallForPapers) ? idCommunity : View.PreloadIdOtherCommunity, View.PreloadView));
                        }
                    }

                    // Find active submission
                    dtoSubmissionRevision submission = null;
                    long          defaultSubmitter   = 0;
                    SubmitterType submitter          = null;
                    //if (View.PreloadedIdSubmitter>0)
                    //    submitter = Service.GetSubmitterType(View.PreloadedIdSubmitter);

                    if (forPublicCall && UserContext.isAnonymous)
                    {
                        submission = Service.GetActiveUserSubmission(idCall, UserContext.CurrentUserID, idSubmission, View.PreloadedUniqueID);
                        if (submission != null && submission.Owner.Id != idUser)
                        {
                            submission = null;
                        }
                    }
                    else
                    {
                        submission = Service.GetActiveUserSubmission(idCall, UserContext.CurrentUserID, idSubmission);
                    }

                    if (forPublicCall)
                    {
                        View.InitializeView(Service.GetExternalContext(idCall), Service.CallWithFileToUpload(idCall, 0));
                        skinInitialized = true;
                    }
                    else
                    {
                        if (submission != null)
                        {
                            submitter = Service.GetSubmitterType(submission.Type.Id);
                        }
                        else
                        {
                            submitter = Service.GetSubmitterType(View.PreloadedIdSubmitter);
                        }
                        if (idSubmission == 0 && submitter != null && submitter.AllowMultipleSubmissions && Service.GetSubmissionCountBySubmitter(idCall, UserContext.CurrentUserID, submitter.Id) < submitter.MaxMultipleSubmissions)
                        {
                            submission       = null;
                            defaultSubmitter = submitter.Id;
                        }
                        View.InitializeView(Service.CallWithFileToUpload(idCall, (submission == null) ? 0 : submission.Type.Id));
                    }

                    DateTime InitTime = DateTime.Now;
                    if (call.StartDate > InitTime)
                    {
                        View.DisplaySubmissionTimeBefore(call.StartDate);
                    }
                    else if ((submission == null && !call.AllowSubmission(InitTime)) || (submission != null && submission.ExtensionDate.HasValue && call.AllowLateSubmission(InitTime, submission.ExtensionDate.Value)))
                    {
                        View.DisplaySubmissionTimeAfter(call.EndDate);
                    }
                    else if (submission != null && (submission.Deleted != BaseStatusDeleted.None || (submission.Status != SubmissionStatus.none && submission.Status != SubmissionStatus.draft)))
                    {
                        if (forPublicCall)
                        {
                            View.GoToUrl(RootObject.ViewSubmission(call.Type, call.Id, submission.Id, submission.UniqueId, true, View.FromPublicList, CallStatusForSubmitters.Submitted, View.PreloadIdOtherCommunity));
                        }
                        else
                        {
                            View.GoToUrl(RootObject.ViewSubmission(call.Type, call.Id, submission.Id, View.FromPublicList, CallStatusForSubmitters.Submitted, View.PreloadIdOtherCommunity));
                        }
                    }
                    else if (submission != null && submission.Revisions.Where(r => r.Type != RevisionType.Original).Any())
                    {
                        if (!forPublicCall || (forPublicCall && !UserContext.isAnonymous))
                        {
                            View.GoToUrl(RootObject.UserReviewCall(call.Type, call.Id, submission.Id, submission.GetIdWorkingRevision(), CallStatusForSubmitters.Submitted, View.PreloadIdOtherCommunity));
                        }
                        else
                        {
                            View.DisplayCallUnavailableForPublic();
                        }
                    }
                    else
                    {
                        idSubmission      = (submission == null) ? 0 : submission.Id;
                        View.IdSubmission = idSubmission;
                        long idRevision = (submission == null) ? 0 : submission.GetIdOriginal();
                        View.AllowDeleteSubmission = false;
                        View.IdRevision            = idRevision;
                        Boolean allowSave = false;
                        Boolean allowCompleteSubmission = false;
                        LoadCall(call, submission, defaultSubmitter);

                        if (module.AddSubmission || call.IsPublic || hasPermissionToSubmit)
                        {
                            View.AllowDeleteSubmission = (submission != null && submission.Deleted == BaseStatusDeleted.None && submission.Status == SubmissionStatus.draft);
                            allowCompleteSubmission    = (submission != null && submission.Deleted == BaseStatusDeleted.None && submission.Status == SubmissionStatus.draft);
                            allowSave      = (submission != null && submission.Deleted == BaseStatusDeleted.None && submission.Status == SubmissionStatus.draft);
                            View.AllowSave = allowSave;
                            View.AllowCompleteSubmission = allowCompleteSubmission;
                            if (submission == null)
                            {
                                View.IdSubmission = 0;
                                View.SendStartSubmission(idCommunity, idModule, idCall, ModuleCallForPaper.ActionType.StartSubmission);
                                if (defaultSubmitter > 0)
                                {
                                    SelectSubmitterType(idCall, defaultSubmitter);
                                }
                            }
                            else
                            {
                                View.InitSubmissionTime = InitTime;
                                //if (submission.Status >= SubmissionStatus.submitted && viewList == CallStatusForSubmitters.SubmissionOpened)
                                //    viewList = CallStatusForSubmitters.Submitted;
                                View.AllowSubmitterSelection = false;
                                View.IdSubmission            = submission.Id;
                                LoadSections(idCall, submission.Type.Id, submission.Id, idRevision);
                                View.SendUserAction(idCommunity, idModule, submission.Id, ModuleCallForPaper.ActionType.ViewSubmission);
                            }
                        }
                        else
                        {
                            View.AllowSave = allowSave;
                            View.AllowCompleteSubmission = allowCompleteSubmission;
                            if (idSubmission == 0)
                            {
                                View.DisableSubmitterTypesSelection();
                            }
                        }
                    }
                }
                else
                {
                    View.DisplayNoPermission(idCommunity, idModule);
                }
            }
            if (forPublicCall && !skinInitialized)
            {
                View.InitializeEmptyView();
            }
        }
예제 #16
0
        public void InitView()
        {
            Boolean isAnonymousUser = UserContext.isAnonymous;
            long    idCall          = View.PreloadIdCall;
            Int32   idUser          = UserContext.CurrentUserID;

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

            dtoCall call = (type == CallForPaperType.CallForBids) ? ServiceCall.GetDtoCall(idCall) : null;

            if (call != null)
            {
                View.SetContainerName(call.Name, call.EndEvaluationOn);
            }
            int idCommunity = GetCurrentCommunity(call);

            View.IdCall          = idCall;
            View.IdCallModule    = idModule;
            View.IdCallCommunity = idCommunity;
            View.CallType        = type;

            if (call != null && call.AdvacedEvaluation)
            {
                //Advanced.dto.dtoCommEvalInfo evInfo = ServiceCall.CommissionEvalTypeGet(View.IdAdvCommittee);

                //if (evInfo.Type == Advanced.EvalType.Average)
                //    View.CurrentEvaluationType = EvaluationType.Average;
                //else
                //    View.CurrentEvaluationType = EvaluationType.Sum;


                //Il TIPO di valutazione IMPOSTATO ha impatto SOLO nell'aggregazione tra COMMISSARI.
                //Nell'aggregazione tra i criteri di un VALUTATORE, uso SEMPRE E SOLO LA SOMMA!

                // View.CurrentEvaluationType = EvaluationType.Sum;
                //Sposto a DOPO , dove ho l'AdvCommission!
            }
            else
            {
                View.CurrentEvaluationType = (call != null ? call.EvaluationType : EvaluationType.Sum);
            }



            dtoEvaluationsFilters filters = View.PreloadFilters;
            ModuleCallForPaper    module  = ServiceCall.CallForPaperServicePermission(idUser, idCommunity);

            Boolean allowEvaluate = false;
            Boolean allowAdmin    = ((module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser)));

            View.SetActionUrl(
                (allowAdmin) ? CallStandardAction.Manage : CallStandardAction.List,
                RootObject.ViewCalls(idCall,
                                     type,
                                     ((allowAdmin) ? CallStandardAction.Manage : CallStandardAction.List),
                                     idCommunity,
                                     View.PreloadView),
                call.AdvacedEvaluation,
                RootObject.AdvCommissionEdit(idCall, View.IdAdvCommittee, Advanced.CommiteeEditPage.Members));

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout(RootObject.ViewSubmissionsToEvaluate(CallForPaperType.CallForBids, idCall, idCommunity, View.PreloadView, View.PreloadOrderBy, View.PreloadAscending, filters.IdSubmitterType, filters.Status, View.GetItemEncoded(filters.SearchForName)));
            }
            if (call == null)
            {
                View.DisplayUnknownCall(idCommunity, idModule, idCall, type);
            }
            else if (type == CallForPaperType.RequestForMembership)
            {
                View.DisplayEvaluationUnavailable();
            }
            else
            {
                if (call.AdvacedEvaluation)
                {
                    Advanced.EvaluationAdvPermission advPermission = ServiceCall.EvaluationAdvPermission(idCall, View.IdAdvCommittee);

                    allowEvaluate = ((advPermission & Advanced.EvaluationAdvPermission.Evaluate) == Advanced.EvaluationAdvPermission.Evaluate);
                    bool allowView = ((advPermission & Advanced.EvaluationAdvPermission.View) == Advanced.EvaluationAdvPermission.View);

                    if (allowEvaluate | allowView)
                    {
                        View.AllowEvaluate = allowEvaluate; // (allowEvaluate && (!call.EndEvaluationOn.HasValue || call.EndEvaluationOn.Value >= DateTime.Now));
                        View.DisplayEvaluationInfo(call.EndEvaluationOn);
                        long idMember = ServiceCall.MemberIdGet(View.IdAdvCommittee);
                        InitalizeViewAdv(idCall, idCommunity, View.IdAdvCommittee, idMember, filters);
                    }
                    else
                    {
                    }
                }
                else
                {
                    long    idEvaluator = Service.GetIdEvaluator(idCall, UserContext.CurrentUserID);
                    Boolean isEvaluator = (idEvaluator > 0); //Service.isEvaluator(idCall, UserContext.CurrentUserID);
                    allowEvaluate    = isEvaluator;          //(isEvaluator || module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser));
                    View.IdEvaluator = idEvaluator;
                    if (!allowEvaluate)
                    {
                        View.DisplayEvaluationUnavailable();
                    }
                    else if (!isEvaluator)
                    {
                        View.DisplayNotEvaluationPermission();
                    }
                    else
                    {
                        View.AllowEvaluate = (allowEvaluate && (!call.EndEvaluationOn.HasValue || call.EndEvaluationOn.Value >= DateTime.Now));
                        View.DisplayEvaluationInfo(call.EndEvaluationOn);
                        InitalizeView(idCall, idCommunity, View.PreloadIdCommittee, idEvaluator, filters);
                    }
                }
            }
        }
        public void InitView()
        {
            Boolean isAnonymousUser = UserContext.isAnonymous;
            long    idCall          = View.PreloadIdCall;
            Int32   idUser          = UserContext.CurrentUserID;

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

            dtoCall call = (type == CallForPaperType.CallForBids) ? ServiceCall.GetDtoCall(idCall) : null;

            if (call != null)
            {
                View.SetContainerName(call.Name, call.EndEvaluationOn);
            }
            int idCommunity = GetCurrentCommunity(call);

            View.IdCall                = idCall;
            View.IdCallModule          = idModule;
            View.IdCallCommunity       = idCommunity;
            View.CallType              = type;
            View.CurrentEvaluationType = (call != null ? call.EvaluationType : EvaluationType.Sum);
            dtoEvaluationsFilters filters = View.PreloadFilters;
            ModuleCallForPaper    module  = ServiceCall.CallForPaperServicePermission(idUser, idCommunity);

            Boolean allowEvaluate = false;
            Boolean allowAdmin    = ((module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser)));

            View.SetActionUrl((allowAdmin) ? CallStandardAction.Manage : CallStandardAction.List, RootObject.ViewCalls(idCall, type, ((allowAdmin) ? CallStandardAction.Manage : CallStandardAction.List), idCommunity, View.PreloadView));

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout(RootObject.ViewSubmissionsToEvaluate(CallForPaperType.CallForBids, idCall, idCommunity, View.PreloadView, View.PreloadOrderBy, View.PreloadAscending, filters.IdSubmitterType, filters.Status, View.GetItemEncoded(filters.SearchForName)));
            }
            if (call == null)
            {
                View.DisplayUnknownCall(idCommunity, idModule, idCall, type);
            }
            else if (type == CallForPaperType.RequestForMembership)
            {
                View.DisplayEvaluationUnavailable();
            }
            else
            {
                long    idEvaluator = Service.GetIdEvaluator(idCall, UserContext.CurrentUserID);
                Boolean isEvaluator = (idEvaluator > 0); //Service.isEvaluator(idCall, UserContext.CurrentUserID);
                allowEvaluate    = isEvaluator;          //(isEvaluator || module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser));
                View.IdEvaluator = idEvaluator;
                if (!allowEvaluate)
                {
                    View.DisplayEvaluationUnavailable();
                }
                else if (!isEvaluator)
                {
                    View.DisplayNotEvaluationPermission();
                }
                else
                {
                    View.AllowEvaluate = (allowEvaluate && (!call.EndEvaluationOn.HasValue || call.EndEvaluationOn.Value >= DateTime.Now));
                    View.DisplayEvaluationInfo(call.EndEvaluationOn);
                    InitalizeView(idCall, idCommunity, View.PreloadIdCommittee, idEvaluator, filters);
                }
            }
        }
예제 #18
0
        private void LoadSubmission(dtoBaseForPaper call, dtoSubmissionRevision subRev, int idUser, Boolean allowAdmin)
        {
            if (!allowAdmin)
            {
                switch (call.Type)
                {
                case CallForPaperType.CallForBids:
                    dtoCall dtoC = ServiceCall.GetDtoCall(call.Id);
                    View.LoadCallInfo(dtoC);
                    break;

                case CallForPaperType.RequestForMembership:
                    dtoRequest dtoR = ServiceRequest.GetDtoRequest(call.Id);
                    View.LoadCallInfo(dtoR);
                    break;
                }
                View.LoadAttachments(ServiceCall.GetAvailableCallAttachments(call.Id, subRev.Type.Id));
            }
            View.IdSubmitterType = (subRev == null) ? 0 : subRev.Type.Id;
            String owner       = "";
            String submittedBy = "";

            if (subRev.Owner == null || subRev.Owner.TypeID == (int)UserTypeStandard.Guest)
            {
                owner = View.AnonymousOwnerName;
            }
            else
            {
                owner = subRev.Owner.SurnameAndName;
            }

            if (subRev.SubmittedBy == null || subRev.SubmittedBy.TypeID == (int)UserTypeStandard.Guest)
            {
                submittedBy = View.AnonymousOwnerName;
            }
            else
            {
                submittedBy = subRev.SubmittedBy.SurnameAndName;
            }

            if (subRev.Deleted != BaseStatusDeleted.None)
            {
                View.LoadSubmissionInfo(subRev.Type.Name, owner, SubmissionStatus.deleted);
            }
            else if (!subRev.SubmittedOn.HasValue)
            {
                View.LoadSubmissionInfo(subRev.Type.Name, owner, subRev.Status);
            }
            else if (subRev.IdPerson == subRev.IdSubmittedBy)
            {
                View.LoadSubmissionInfo(subRev.Type.Name, owner, subRev.Status, subRev.SubmittedOn.Value);
            }
            else
            {
                View.LoadSubmissionInfo(subRev.Type.Name, owner, subRev.Status, subRev.SubmittedOn.Value, submittedBy);
            }

            LoadSections(call, subRev, allowAdmin);


            //Gestione firme
            if (!call.AttachSign)
            {
                View.HideSignSubmission();
            }
            else
            {
                ModuleLink mLink = ServiceCall.GetSignModuleLink(call.Id, (View.IdRevision > 0) ? View.IdRevision : View.PreloadedIdRevision);

                if (mLink != null)
                {
                    View.InitializeDownloadSign(mLink);
                }
                else
                {
                    if (UserContext.CurrentUserID == subRev.IdSubmittedBy)
                    {
                        //dtoSubmissionRevision subRev = Service.GetSubmissionWithRevisions(idSubmission, true);

                        View.InitSignSubmission((call.Community != null) ? call.Community.Id : 0);
                    }
                    else
                    {
                        View.ShowSignNotSubmitted();
                    }
                }
            }
        }
        public void InitView()
        {
            Boolean isAnonymousUser = UserContext.isAnonymous;
            long    idCall          = View.PreloadIdCall;
            Int32   idUser          = UserContext.CurrentUserID;

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

            dtoCall call = (type == CallForPaperType.CallForBids) ? ServiceCall.GetDtoCall(idCall) : null;

            if (call != null)
            {
                View.SetContainerName(call.Name, call.EndEvaluationOn);
            }

            int idCommunity = GetCurrentCommunity(call);

            View.IdCall          = idCall;
            View.IdCallModule    = idModule;
            View.IdCallCommunity = idCommunity;
            View.CallType        = type;

            ModuleCallForPaper module     = ServiceCall.CallForPaperServicePermission(idUser, idCommunity);
            Boolean            allowAdmin = ((module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser)));

            View.SetActionUrl((allowAdmin) ? CallStandardAction.Manage : CallStandardAction.List, RootObject.ViewCalls(idCall, type, ((allowAdmin) ? CallStandardAction.Manage : CallStandardAction.List), idCommunity, View.PreloadView));

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout(RootObject.EvaluationsSummary(idCall, idCommunity, View.PreloadView, 0, View.PreloadIdSubmitterType, View.PreloadFilterBy, View.PreloadOrderBy, View.PreloadAscending, View.PreloadPageIndex, View.PreloadPageSize, View.GetItemEncoded(View.PreloadSearchForName)));
            }
            else if (call == null)
            {
                View.DisplayUnknownCall(idCommunity, idModule, idCall);
            }
            else if (type == CallForPaperType.RequestForMembership)
            {
                View.DisplayEvaluationUnavailable();
            }
            else if (allowAdmin)
            {
                //
                //EvaluationType EvalType = (call.AdvacedEvaluation) ?
                //    ServiceCall.CommissionGetEvalType(idCommission):
                //    call.EvaluationType;

                //EvaluationType EvalType = call.EvaluationType;
                //call.EvaluationType;

                if (call.EvaluationType == EvaluationType.Dss)
                {
                    View.CallUseFuzzy = Service.CallUseFuzzy(idCall);
                }
                View.AllowExportAll = Service.HasEvaluations(idCall);
                View.DisplayEvaluationInfo(call.EndEvaluationOn);

                if (!call.AdvacedEvaluation)
                {
                    View.CurrentEvaluationType = call.EvaluationType;
                    InitializeView(idCall, call.EvaluationType, idCommunity, View.PreloadFilters);
                    View.SetStepSummaryLink(0, 0, false);
                }
            }

            if (call.AdvacedEvaluation)
            {
                long idCommission = View.IdCallAdvCommission;
                long StepId       = ServiceCall.StepGetIdFromComm(idCommission);


                bool ShowGenericLink = ServiceCall.CommissionUserIsPresidentOrSegretaryInMaster(idCommission, UserContext.CurrentUserID);


                View.SetStepSummaryLink(StepId, idCommission, ShowGenericLink);

                EvaluationType oldEvtype = EvaluationType.Average;

                Advanced.dto.dtoCommEvalInfo evinfo = ServiceCall.CommissionEvalTypeGet(idCommission);

                switch (evinfo.Type)
                {
                case Advanced.EvalType.Average:
                    oldEvtype = EvaluationType.Average;
                    break;

                case Advanced.EvalType.Sum:
                    oldEvtype = EvaluationType.Sum;
                    break;
                }
                View.CurrentEvaluationType = (evinfo.Type == Advanced.EvalType.Sum) ? EvaluationType.Sum : EvaluationType.Average;
                View.minRange = evinfo.minRange;
                View.LockBool = evinfo.LockBool;


                bool cancloseAdvance = ServiceCall.CommissionCanClose(idCommission);

                View.ShowCloseCommission(cancloseAdvance);


                InitializeViewAvance(idCall,
                                     oldEvtype,
                                     idCommunity,
                                     idCommission,
                                     View.PreloadFilters,
                                     call.Type);
            }
        }
        public String ExportTo(
            dtoEvaluationsFilters filters,
            SummaryType summaryType,
            ItemsToExport itemsToExport,
            ExportData xdata,
            lm.Comol.Core.DomainModel.Helpers.Export.ExportFileType fileType,
            Dictionary <lm.Comol.Modules.CallForPapers.Domain.Evaluation.EvaluationTranslations, String> translations,
            Dictionary <lm.Comol.Modules.CallForPapers.Domain.Evaluation.EvaluationStatus, String> status)
        {
            dtoCall call = ServiceCall.GetDtoCall(View.IdCall);

            //NOTA: CALL.EVALUATIONTYPE NON SERVE A NULLA!!!

            //List<dtoEvaluationSummaryItem> items = ServiceCall.GetEvaluationsList(
            //    call.Id,
            //      View.IdCallAdvCommission,
            //      call.EvaluationType,
            //      filters,
            //      View.AnonymousDisplayname,
            //      View.UnknownDisplayname);


            List <dtoEvaluationSummaryItem> items =
                call.AdvacedEvaluation ?
                ServiceCall.GetEvaluationsList(call.Id, View.IdCallAdvCommission, call.EvaluationType, filters, View.AnonymousDisplayname, View.UnknownDisplayname) :
                Service.GetEvaluationsList(call.Id, call.EvaluationType, filters, View.AnonymousDisplayname, View.UnknownDisplayname, true);

            //"#"; "Domanda di"; "Tipo domanda"; "Punti"; "N. valutazioni"; "Completate"; "In valutazione"; "Non iniziate"


            //TODO: RECUPERARE IL VALORE CORRETTO!!!
            EvaluationType CurrentEvalType = View.CurrentEvaluationType;// EvaluationType.Average;


            string output = call.Name + "\r\n\r\n";


            //Header
            output += "#;";
            output += translations[Domain.Evaluation.EvaluationTranslations.CellTitleSubmissionOwner] + ";";
            output += translations[Domain.Evaluation.EvaluationTranslations.CellTitleSubmitterType] + ";";

            if (CurrentEvalType == EvaluationType.Average)
            {
                output += translations[Domain.Evaluation.EvaluationTranslations.CellTitleAverage] + ";";
            }
            else
            {
                output += translations[Domain.Evaluation.EvaluationTranslations.CellTitleSum] + ";";
            }

            output += translations[Domain.Evaluation.EvaluationTranslations.CellTitleEvaluationsCount] + ";";

            output += "Confermate;";
            output += translations[Domain.Evaluation.EvaluationTranslations.CellTitleEvaluationsEvaluated] + ";";
            output += translations[Domain.Evaluation.EvaluationTranslations.CellTitleEvaluationsEvaluating] + ";";
            output += translations[Domain.Evaluation.EvaluationTranslations.CellTitleEvaluationsNotStarted] + ";";
            //output += translations[Domain.Evaluation.EvaluationTranslations.CellTitleEvaluationsNotStarted] + ";";

            output += "\r\n";

            foreach (dtoEvaluationSummaryItem itm in items.OrderBy(it => it.Position))
            {
                //"#";
                output += itm.Position + ";";

                //"Domanda di";
                output += itm.DisplayName + ";";

                //"Tipo domanda";
                output += itm.SubmitterType + ";";

                //"Punti";
                output += ((CurrentEvalType == EvaluationType.Average) ? itm.AverageRating : itm.SumRating) + ";";

                //"N. valutazioni";
                output += itm.Evaluations.Count() + ";";

                //"Confermate"
                output += itm.GetEvaluationsCount(EvaluationStatus.Confirmed) + ";";

                //"Completate";
                output += itm.GetEvaluationsCount(EvaluationStatus.Evaluated) + ";";

                //"In valutazione";
                output += itm.GetEvaluationsCount(EvaluationStatus.Evaluating) + ";";

                //"Non iniziate"
                output += itm.GetEvaluationsCount(EvaluationStatus.None) + ";";

                output += "\r\n";
            }

            return(output);

            //return Service.ExportSummaryStatistics(ServiceCall.GetDtoCall(View.IdCall), filters, View.AnonymousDisplayname, View.UnknownDisplayname, summaryType, itemsToExport, xdata, fileType, translations, status);
        }
예제 #21
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);
                            }
                        }
                    }
                }
            }
        }