Ejemplo n.º 1
0
        private List <dtoSubmissionMultipleAssignment> GetItems(CallForPaper call, dtoSubmissionFilters filters, int pageIndex, int pageSize)
        {
            PagerBase pager = new PagerBase();

            pager.PageSize = pageSize;

            if (pageSize == 0)
            {
                pageSize = 50;
            }
            pager.Count     = (int)CallService.SubmissionsCount(call.Id, filters) - 1;
            pager.PageIndex = pageIndex;// Me.View.CurrentPageIndex
            View.Pager      = pager;

            View.CurrentOrderBy   = filters.OrderBy;
            View.CurrentFilterBy  = filters.Status;
            View.CurrentAscending = filters.Ascending;
            View.PageSize         = pageSize;
            if (pager.Count < 0)
            {
                return(new  List <dtoSubmissionMultipleAssignment>());
            }
            else
            {
                return(Service.GetCommitteesAssignments(call, CallService.GetSubmissionsForEvaluation(call.Id, filters, pager.PageIndex, pageSize)));
            }
        }
Ejemplo n.º 2
0
        public void LoadSubmissions(Int32 idCommunity, CallForPaperType type, dtoSubmissionFilters filters, int pageIndex, int pageSize)
        {
            Boolean allowManage = true;

            View.CurrentFilters = filters;
            switch (type)
            {
            case CallForPaperType.CallForBids:
                ModuleCallForPaper module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);
                allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper);
                break;

            case CallForPaperType.RequestForMembership:
                ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(UserContext.CurrentUserID, idCommunity);
                allowManage = (moduleR.CreateBaseForPaper || moduleR.Administration || moduleR.ManageBaseForPapers || moduleR.EditBaseForPaper);
                break;
            }
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else if (allowManage)
            {
                LoadSubmissions(allowManage, View.IdCall, type, filters, pageIndex, pageSize);
            }
            else
            {
                View.DisplayNoPermission(idCommunity, View.IdCallModule);
            }
        }
Ejemplo n.º 3
0
        public void LoadAssignments(long idCall, dtoSubmissionFilters filters, int pageIndex, int pageSize)
        {
            CallForPaper call = CallService.GetCallForPaper(idCall);

            if (call != null)
            {
                LoadAssignments(call, filters, pageIndex, pageSize);
            }
        }
Ejemplo n.º 4
0
        private void LoadAssignments(CallForPaper call, dtoSubmissionFilters filters, int pageIndex, int pageSize)
        {
            List <lm.Comol.Core.Wizard.NavigableWizardItem <dtoEvaluationStep> > steps = Service.GetAvailableSteps(call, WizardEvaluationStep.MultipleAssignSubmission);

            View.AllowChangeAssignModeToEvalutors = (call.EvaluationType != EvaluationType.Dss);
            List <dtoBaseCommittee> committees = Service.GetAvailableCommittees(call);

            if (committees.Count == 0)
            {
                View.DisplayError(EvaluationEditorErrors.NoCommittees);
                LoadStep(call.Id, steps, false);
            }
            else if (committees.Count == 1)
            {
                View.ReloadEditor(RootObject.EditCommiteeByStep(call.Id, View.IdCommunity, WizardEvaluationStep.AssignSubmission, View.PreloadView));
            }
            else
            {
                Dictionary <SubmissionStatus, int> infos = Service.GetSubmissionsInfo(call);
                if (Service.CallHasEvaluation(call))
                {
                    Dictionary <long, Dictionary <long, String> > members     = Service.GetCommitteesMemberships(call);
                    List <dtoSubmissionMultipleAssignment>        assignments = GetItems(call, filters, pageIndex, pageSize);

                    if (members == null || members.Count == 0)
                    {
                        View.DisplayError(EvaluationEditorErrors.NoEvaluators);
                        View.LoadWizardSteps(call.Id, View.IdCommunity, steps, EvaluationEditorErrors.NoEvaluators);
                    }
                    else
                    {
                        View.AllowAssignEvaluatorsToAll = View.AllowSave;
                        LoadStep(call.Id, steps, true);
                        View.LoadSubmissions(assignments, members);
                        View.LoadWizardSteps(call.Id, View.IdCommunity, steps);
                    }
                }
                else
                {
                    View.AllowAssignEvaluatorsToAll = false;
                    LoadStep(call.Id, steps, true);
                    if (infos.Where(i => i.Value > 0).Select(i => i.Key).Where(k => k >= SubmissionStatus.accepted && k != SubmissionStatus.rejected).Any())
                    {
                        View.DisplayStartup(infos.Select(i => i.Value).Sum(), infos.ContainsKey(SubmissionStatus.accepted) ? infos[SubmissionStatus.accepted] : 0, infos.ContainsKey(SubmissionStatus.rejected) ? infos[SubmissionStatus.rejected] : 0);
                    }
                    else
                    {
                        View.DisplayNoAvailableSubmission(infos.Select(i => i.Value).Sum(), (infos.ContainsKey(SubmissionStatus.rejected) ? infos[SubmissionStatus.rejected] : 0));
                    }
                    View.LoadWizardSteps(call.Id, View.IdCommunity, steps);
                }
            }
        }
Ejemplo n.º 5
0
        public void SetEvaluatorsToAllSubmissions(dtoSubmissionFilters filters, int pageIndex, int pageSize)
        {
            long  idCall      = View.IdCall;
            Int32 idCommunity = View.IdCommunity;

            if (!Service.SetEvaluatorsToAllSubmissions(idCall))
            {
                View.DisplayError(EvaluationEditorErrors.Saving);
            }
            else
            {
                View.DisplaySettingsSaved();
                View.SendUserAction(idCommunity, View.IdCallModule, idCall, ModuleCallForPaper.ActionType.SaveSingleSubmissionAssignmentForEvaluation);
            }
            LoadAssignments(View.IdCall, filters, pageIndex, pageSize);
        }
        public void CreateAssignments(Boolean byDefault, dtoSubmissionFilters filters)
        {
            long  idCall      = View.IdCall;
            Int32 idCommunity = View.IdCommunity;

            if (byDefault)
            {
                if (!Service.SaveDefaultAssignments(idCall))
                {
                    View.DisplayError(EvaluationEditorErrors.Saving);
                }
                else
                {
                    View.DisplaySettingsSaved();
                    View.SendUserAction(idCommunity, View.IdCallModule, idCall, ModuleCallForPaper.ActionType.SaveSingleSubmissionAssignmentForEvaluation);
                }
            }
            LoadAssignments(View.IdCall, filters, 0, View.PageSize);
        }
Ejemplo n.º 7
0
        public String ExportSubmissionsData(lm.Comol.Core.DomainModel.Helpers.Export.ExportFileType exportType, dtoSubmissionFilters filters, Dictionary <SubmissionsListTranslations, string> translations, Dictionary <SubmissionStatus, String> status, Dictionary <RevisionStatus, string> revisions)
        {
            Boolean allowManage = false;

            switch (View.CallType)
            {
            case CallForPaperType.CallForBids:
                ModuleCallForPaper module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, View.IdCallCommunity);
                allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper);
                break;

            case CallForPaperType.RequestForMembership:
                ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(UserContext.CurrentUserID, View.IdCallCommunity);
                allowManage = (moduleR.CreateBaseForPaper || moduleR.Administration || moduleR.ManageBaseForPapers || moduleR.EditBaseForPaper);
                break;
            }
            return(Service.ExportSubmissionsData(exportType, allowManage, View.IdCall, filters, translations, status, revisions));
        }
Ejemplo n.º 8
0
        public void PhisicalDeleteSubmission(long idSubmission, String baseFilePath, CallForPaperType type, dtoSubmissionFilters filters, int pageIndex, int pageSize)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                Boolean allowManage = false;
                Int32   idCommunity = View.IdCallCommunity;
                switch (View.CallType)
                {
                case CallForPaperType.CallForBids:
                    ModuleCallForPaper module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);
                    allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper);
                    break;

                case CallForPaperType.RequestForMembership:
                    ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(UserContext.CurrentUserID, idCommunity);
                    allowManage = (moduleR.CreateBaseForPaper || moduleR.Administration || moduleR.ManageBaseForPapers || moduleR.EditBaseForPaper);
                    break;
                }
                if (allowManage)
                {
                    Service.PhisicalDeleteSubmission(idSubmission, baseFilePath);

                    switch (View.CallType)
                    {
                    case CallForPaperType.CallForBids:
                        View.SendUserAction(View.IdCallCommunity, View.IdCallModule, idSubmission, ModuleCallForPaper.ActionType.VirtualDeleteSubmission);
                        break;

                    case CallForPaperType.RequestForMembership:
                        View.SendUserAction(View.IdCallCommunity, View.IdCallModule, idSubmission, ModuleRequestForMembership.ActionType.VirtualDeleteSubmission);
                        break;
                    }
                    View.GotoUrl(RootObject.ViewSubmissions(type, View.IdCall, 0, 0, View.PreloadView, filters.Status, filters.OrderBy, filters.Ascending, pageIndex, pageSize));
                }
                else
                {
                    LoadSubmissions(View.IdCallCommunity, type, filters, pageIndex, pageSize);
                }
            }
        }
Ejemplo n.º 9
0
        public void VirtualDeleteSubmission(long idSubmission, Boolean delete, CallForPaperType type, dtoSubmissionFilters filters, int pageIndex, int pageSize)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                Service.VirtualDeleteSubmission(idSubmission, delete);
                switch (View.CallType)
                {
                case CallForPaperType.CallForBids:
                    View.SendUserAction(View.IdCallCommunity, View.IdCallModule, idSubmission, ModuleCallForPaper.ActionType.VirtualDeleteSubmission);
                    break;

                case CallForPaperType.RequestForMembership:
                    View.SendUserAction(View.IdCallCommunity, View.IdCallModule, idSubmission, ModuleRequestForMembership.ActionType.VirtualDeleteSubmission);
                    break;
                }
                //LoadSubmissions(View.IdCallCommunity, type, filters, pageIndex, pageSize);
                View.GotoUrl(RootObject.ViewSubmissions(type, View.IdCall, 0, 0, View.PreloadView, filters.Status, filters.OrderBy, filters.Ascending, pageIndex, pageSize));
            }
        }
Ejemplo n.º 10
0
        private void LoadSubmissions(Boolean allowManage, long idCall, CallForPaperType type, dtoSubmissionFilters filters, int pageIndex, int pageSize)
        {
            PagerBase pager = new PagerBase();

            pager.PageSize = pageSize;

            if (pageSize == 0)
            {
                pageSize = 50;
            }
            pager.Count     = (int)Service.SubmissionsCount(idCall, filters) - 1;
            pager.PageIndex = pageIndex;// Me.View.CurrentPageIndex
            View.Pager      = pager;

            View.CurrentOrderBy   = filters.OrderBy;
            View.CurrentFilterBy  = filters.Status;
            View.CurrentAscending = filters.Ascending;
            View.PageSize         = pageSize;
            if (pager.Count < 0)
            {
                View.LoadNoSubmissionsFound();
            }
            else
            {
                View.LoadSubmissions(Service.GetSubmissionList(allowManage, idCall, filters, pager.PageIndex, pageSize));
            }
            switch (type)
            {
            case CallForPaperType.CallForBids:
                View.SendUserAction(View.IdCallCommunity, View.IdCallModule, ModuleCallForPaper.ActionType.LoadSubmissionsList);
                break;

            case CallForPaperType.RequestForMembership:
                View.SendUserAction(View.IdCallCommunity, View.IdCallModule, ModuleRequestForMembership.ActionType.LoadSubmissionsList);
                break;
            }
        }
Ejemplo n.º 11
0
        private void InitializeView(Boolean allowManage, long idCall, CallForPaperType type, dtoSubmissionFilters filters)
        {
            List <SubmissionFilterStatus> items = Service.GetAvailableSubmissionStatus(idCall);

            if (!items.Contains(filters.Status))
            {
                filters.Status = items[0];
            }
            filters.CallType    = type;
            View.CurrentFilters = filters;
            View.LoadSubmissionStatus(items, filters.Status);

            LoadSubmissions(allowManage, idCall, type, filters, View.PreloadPageIndex, View.PreloadPageSize);
        }