Exemplo n.º 1
0
        private void LoadCall(dtoRequest dto)
        {
            BaseForPaper call = Service.GetCall(dto.Id);

            if (call != null)
            {
                long idSubmitter = 0;
                View.LoadCallInfo(dto);
                List <dtoSubmitterType> submitters = Service.GetCallAvailableSubmittersType(call);
                View.HasMultipleSubmitters = (submitters.Count > 0);
                if (submitters.Count == 1)
                {
                    idSubmitter = submitters[0].Id;
                }

                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();
                    }
                }
                View.LoadAttachments(Service.GetAvailableCallAttachments(call.Id, idSubmitter));
            }
        }
Exemplo n.º 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);
            }
        }
Exemplo n.º 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);
        }
        private void LoadCall(dtoRequest dto, dtoBaseSubmission submission)
        {
            BaseForPaper            call       = Service.GetCall(dto.Id);
            List <dtoSubmitterType> submitters = null;

            if (call != null)
            {
                submitters = Service.GetCallAvailableSubmittersType(call);
                View.HasMultipleSubmitters = (submitters.Count > 1);
            }
            View.LoadCallInfo(dto);
            if (submission == null)
            {
                if (call != null)
                {
                    long idSubmitter = 0;
                    if (submitters.Count == 1)
                    {
                        idSubmitter = submitters[0].Id;
                        View.IdSelectedSubmitterType = idSubmitter;
                    }
                    View.LoadSubmitterTypes(submitters);
                    View.AllowSubmitterSelection = (submitters.Count > 1);
                    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));
        }
Exemplo n.º 6
0
        public void InitView()
        {
            long idCall = View.PreloadIdCall;

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

            call = Service.GetDtoRequest(idCall);

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

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

                int idModule = Service.ServiceModuleID();
                View.IdCallModule = idModule;
                if (call == null)
                {
                    View.LoadUnknowCall(idCommunity, idModule, idCall, type);
                }
                else if (module.Administration || module.ManageBaseForPapers)
                {
                    View.IdCall = idCall;
                    LoadCall(call);
                    View.SendUserAction(idCommunity, idModule, idCall, ModuleRequestForMembership.ActionType.ViewPreviewRequest);
                }
                else
                {
                    View.DisplayNoPermission(idCommunity, idModule);
                }
            }
        }
Exemplo n.º 7
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 forPublicCall)
        {
            long             idCall          = View.PreloadIdCall;
            Boolean          skinInitialized = false;
            dtoRequest       call            = null;
            CallForPaperType type            = Service.GetCallType(idCall);

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

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

            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 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
            {
                int        idUser     = UserContext.CurrentUserID;
                litePerson currenUser = GetCurrentUser(ref idUser);

                View.isAnonymousSubmission = forPublicCall;
                View.TryToComplete         = false;
                ModuleRequestForMembership module = Service.RequestForMembershipServicePermission(idUser, idCommunity);

                View.IdCallModule = idModule;
                if (call == null)
                {
                    View.LoadUnknowCall(idCommunity, idModule, idCall, type);
                    if (module.ViewBaseForPapers)
                    {
                        if (View.FromPublicList)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.PublicCollectorCalls(CallForPaperType.RequestForMembership, idCall, View.PreloadIdCommunity));
                        }
                        else if (!UserContext.isAnonymous)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(idCall, CallForPaperType.RequestForMembership, CallStandardAction.List, (module.ViewBaseForPapers) ? 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.ViewBaseForPapers)
                    {
                        if (View.FromPublicList)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.PublicCollectorCalls(CallForPaperType.RequestForMembership, idCall, View.PreloadIdCommunity));
                        }
                        else if (!UserContext.isAnonymous)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(idCall, CallForPaperType.RequestForMembership, CallStandardAction.List, (module.ViewBaseForPapers) ? idCommunity : View.PreloadIdOtherCommunity, View.PreloadView));
                        }
                    }
                    if (forPublicCall)
                    {
                        View.InitializeView(Service.GetExternalContext(idCall), Service.CallWithFileToUpload(idCall, 0));
                        skinInitialized = true;
                    }
                }
                else if (module.ViewBaseForPapers || call.IsPublic || hasPermissionToSubmit)
                {
                    long idSubmission = View.PreloadedIdSubmission;
                    View.IdCall         = idCall;
                    View.CallRepository = call.GetRepositoryIdentifier();
                    if (module.ViewBaseForPapers || hasPermissionToSubmit)
                    {
                        if (View.FromPublicList)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.PublicCollectorCalls(CallForPaperType.RequestForMembership, idCall, View.PreloadIdCommunity));
                        }
                        else if (!UserContext.isAnonymous)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(idCall, CallForPaperType.RequestForMembership, CallStandardAction.List, (module.ViewBaseForPapers) ? idCommunity : View.PreloadIdOtherCommunity, View.PreloadView));
                        }
                    }

                    // Find active submission
                    dtoSubmissionRevision submission = null;
                    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
                    {
                        SubmitterType submitter = null;
                        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;
                        }
                        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, 0));
                        }
                        else if (!UserContext.isAnonymous)
                        {
                            View.GoToUrl(RootObject.ViewSubmission(call.Type, call.Id, submission.Id, View.FromPublicList, CallStatusForSubmitters.Submitted, View.PreloadIdOtherCommunity, 0));
                        }
                    }
                    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;
                        long idRevision = (submission == null) ? 0 : submission.GetIdOriginal();
                        View.IdRevision   = idRevision;
                        View.IdSubmission = idSubmission;

                        View.AllowDeleteSubmission = false;
                        Boolean allowSave = false;
                        Boolean allowCompleteSubmission = false;
                        LoadCall(call, submission);

                        View.AllowSubmitterChange = false;
                        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.AllowSubmitterChange = true;
                                View.SendStartSubmission(idCommunity, idModule, idCall, ModuleRequestForMembership.ActionType.StartSubmission);
                            }
                            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, ModuleRequestForMembership.ActionType.ViewSubmission);
                            }
                        }
                        else
                        {
                            View.AllowSave = allowSave;
                            View.AllowCompleteSubmission = allowCompleteSubmission;
                            if (idSubmission == 0)
                            {
                                View.DisableSubmitterTypesSelection();
                            }
                        }
                    }
                }
                else
                {
                    View.DisplayNoPermission(idCommunity, idModule);
                }
            }
            if (forPublicCall && !skinInitialized)
            {
                View.InitializeEmptyView();
            }
        }
        public void InitView(Boolean forPublicCall)
        {
            long idSubmission = View.PreloadedIdSubmission;
            long idRevision   = View.PreloadedIdRevision;

            System.Guid      uniqueID = View.PreloadedUniqueID;
            long             idCall   = View.PreloadIdCall;
            dtoBaseForPaper  call     = null;
            CallForPaperType type     = Service.GetCallType(idCall);

            call          = Service.GetDtoBaseCall(idCall);
            View.CallType = type;
            int idCommunity = SetCallCurrentCommunity(call);
            int idModule    = Service.ServiceModuleID();

            Boolean isAnonymous = UserContext.isAnonymous;

            if (call == null)
            {
                View.LoadUnknowCall(idCommunity, idModule, idCall, type);
            }
            else if (isAnonymous && !forPublicCall)
            {
                if (call.IsPublic)
                {
                    View.GoToUrl(RootObject.FinalMessage(type, idCall, idSubmission, idRevision, uniqueID, true, View.FromPublicList, CallStatusForSubmitters.Submitted, View.PreloadIdOtherCommunity));
                }
                else
                {
                    View.DisplaySessionTimeout();
                }
            }
            else
            {
                int        idUser     = UserContext.CurrentUserID;
                litePerson currenUser = GetCurrentUser(ref idUser);

                View.IdCallModule          = idModule;
                View.isAnonymousSubmission = forPublicCall;
                dtoLazySubmission submission = Service.GetSubmission(idCall, idSubmission, uniqueID);

                Boolean allowSeeList          = false;
                Boolean hasPermissionToSubmit = false;
                Int32   containerIdCommunity  = View.PreloadIdOtherCommunity;
                if (!isAnonymous && !forPublicCall)
                {
                    hasPermissionToSubmit = Service.IsCallAvailableByUser(idCall, UserContext.CurrentUserID);
                    switch (type)
                    {
                    case CallForPaperType.CallForBids:
                        ModuleCallForPaper module = Service.CallForPaperServicePermission(idUser, idCommunity);
                        allowSeeList = (module.ViewCallForPapers || module.ManageCallForPapers || module.Administration);
                        break;

                    case CallForPaperType.RequestForMembership:
                        ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(idUser, idCommunity);
                        allowSeeList = (moduleR.ViewBaseForPapers || moduleR.ManageBaseForPapers || moduleR.Administration);
                        break;
                    }
                }

                if (forPublicCall)
                {
                    View.InitializeView(Service.GetExternalContext(idCall));
                }

                if (allowSeeList || hasPermissionToSubmit)
                {
                    View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(idCall, type, CallStandardAction.List, (hasPermissionToSubmit && idCommunity > 0 && containerIdCommunity > 0 && idCommunity != containerIdCommunity) ? containerIdCommunity : idCommunity, CallStatusForSubmitters.Submitted));
                }

                if (submission == null)
                {
                    View.LoadUnknowSubmission(idCommunity, idModule, idSubmission, type);
                }
                else if (!forPublicCall && submission.Owner.Id != idUser)
                {
                    View.DisplayNoPermission(idCommunity, idModule);
                }
                else
                {
                    if (submission.Owner.Id == idUser || forPublicCall)
                    {
                        if (idRevision >= 1)
                        {
                            Revision rev = Service.GetRevision(idRevision);
                            if (rev == null || (rev != null && (rev.Type == RevisionType.Original || rev.Status == RevisionStatus.Approved)))
                            {
                                View.SetActionUrl(CallStandardAction.ViewOwnSubmission, RootObject.ViewSubmission(
                                                      type,
                                                      idCall,
                                                      idSubmission,
                                                      idRevision,
                                                      uniqueID,
                                                      call.IsPublic && submission.IsAnonymous,
                                                      View.FromPublicList,
                                                      CallStatusForSubmitters.Submitted,
                                                      (hasPermissionToSubmit && idCommunity > 0 && containerIdCommunity > 0 && idCommunity != containerIdCommunity) ? containerIdCommunity : idCommunity
                                                      , 0));
                            }
                            else
                            {
                                View.SetActionUrl(CallStandardAction.ViewOwnSubmission, RootObject.UserReviewCall(type, idCall, idSubmission, idRevision, CallStatusForSubmitters.Submitted, (hasPermissionToSubmit && idCommunity > 0 && containerIdCommunity > 0 && idCommunity != containerIdCommunity) ? containerIdCommunity : idCommunity));
                            }
                        }
                        else
                        {
                            View.SetActionUrl(CallStandardAction.ViewOwnSubmission,
                                              RootObject.ViewSubmission(
                                                  type,
                                                  idCall,
                                                  idSubmission,
                                                  idRevision,
                                                  uniqueID,
                                                  call.IsPublic && submission.IsAnonymous,
                                                  View.FromPublicList,
                                                  CallStatusForSubmitters.Submitted,
                                                  (hasPermissionToSubmit && idCommunity > 0 && containerIdCommunity > 0 && idCommunity != containerIdCommunity) ? containerIdCommunity : idCommunity
                                                  , 0)
                                              );
                        }
                        switch (type)
                        {
                        case CallForPaperType.CallForBids:
                            View.LoadDefaultMessage();
                            break;

                        case CallForPaperType.RequestForMembership:
                            dtoRequest request = RequestService.GetRequestMessages(idCall);

                            View.LoadMessage((request == null) ? "" : request.EndMessage);
                            break;
                        }
                    }
                    else
                    {
                        View.DisplayNoPermission(idCommunity, idModule);
                    }
                }
            }
        }
Exemplo n.º 10
0
        public void InitView()
        {
            long idCall = View.PreloadIdCall;

            CallForPaperType type = RequestService.GetCallType(idCall);

            if (type != CallForPaperType.RequestForMembership)
            {
                View.DisplayInvalidType();
            }
            else
            {
                dtoRequest call = RequestService.GetRequestMessages(idCall);

                View.CallType = type;

                int idCommunity = SetCallCurrentCommunity(call);
                if (UserContext.isAnonymous)
                {
                    View.DisplaySessionTimeout();
                }
                else
                {
                    litePerson currenUser              = CurrentManager.GetLitePerson(UserContext.CurrentUserID);
                    Boolean    allowManage             = false;
                    Boolean    allowView               = false;
                    Boolean    allowSave               = false;
                    ModuleRequestForMembership moduleR = RequestService.RequestForMembershipServicePermission(UserContext.CurrentUserID, idCommunity);
                    allowView   = (moduleR.ViewBaseForPapers || moduleR.Administration || moduleR.ManageBaseForPapers);
                    allowManage = moduleR.CreateBaseForPaper || moduleR.Administration || moduleR.ManageBaseForPapers || moduleR.EditBaseForPaper;
                    allowSave   = (moduleR.Administration || moduleR.ManageBaseForPapers || (moduleR.CreateBaseForPaper && idCall == 0) || (call != null && moduleR.EditBaseForPaper && currenUser == call.Owner));


                    int idModule = RequestService.ServiceModuleID();
                    View.IdCallModule = idModule;
                    if (call == null)
                    {
                        View.LoadUnknowCall(idCommunity, idModule, idCall, type);
                    }
                    else if (allowManage || allowSave)
                    {
                        View.AllowSave = allowSave;
                        View.IdCall    = idCall;
                        View.SetActionUrl(CallStandardAction.Manage, RootObject.ViewCalls(idCall, type, CallStandardAction.Manage, idCommunity, View.PreloadView));
                        List <lm.Comol.Core.Wizard.NavigableWizardItem <WizardCallStep> > steps = RequestService.GetAvailableSteps(idCall, WizardCallStep.RequestMessages, type);
                        View.LoadWizardSteps(idCall, type, idCommunity, steps);
                        View.StartMessage = call.StartMessage;
                        View.EndMessage   = call.EndMessage;
                        View.SendUserAction(idCommunity, idModule, idCall, ModuleRequestForMembership.ActionType.ViewCallMessages);
                        if (steps.Where(s => s.Id == WizardCallStep.SubmittersType && (s.Status == Core.Wizard.WizardItemStatus.valid || s.Status == Core.Wizard.WizardItemStatus.warning)).Any())
                        {
                            View.SetActionUrl(CallStandardAction.PreviewCall, RootObject.PreviewCall(call.Type, call.Id, View.IdCommunity, View.PreloadView));
                        }
                    }
                    else
                    {
                        View.DisplayNoPermission(idCommunity, idModule);
                    }
                }
            }
        }