public void AddUserFromPortal() { long idCall = View.IdCall; if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { List <Int32> idCommunities = new List <Int32>(); //CallService.GetIdCommunityAssignments(idCall); dtoBaseForPaper call = CallService.GetDtoBaseCall(idCall); if (call != null && call.Community != null) { idCommunities.Add(call.Community.Id); } View.SelectedIdUsers = GetUpdatedUsersSelection(); View.DisplayAddUsersFromPortal(CallService.GetIdUserAssignments(idCall)); } }
private void LoadSettings(dtoBaseForPaper call) { View.IsPublic = call.IsPublic; View.ForPortal = call.IsPortal; LoadAvailableItemsToAdd(call); List <dtoCallAssignment> assignments = CallService.GetCallAssignments(call.Id, call.IsPortal, View.GetTranslatedProfileTypes(), View.GetTranslatedRoles()); LoadSkins(call); if (call.IsPublic) { switch (call.Type) { case CallForPaperType.RequestForMembership: View.DisplayPublicUrls(call.Type, RootObject.StartNewSubmission(call.Type, call.Id, true, false, CallStatusForSubmitters.None, -1), RootObject.PublicCollectorCalls(call.Type, call.Id, (call.IsPortal) ? 0 : View.IdCommunity)); break; default: View.DisplayPublicUrl(call.Type, RootObject.StartNewSubmission(call.Type, call.Id, true, false, CallStatusForSubmitters.None, -1)); break; } } else { View.HidePublicUrl(); } if (assignments.Count == 0 && !call.IsPublic && !call.ForSubscribedUsers) { View.SelectedIdUsers = new List <Int32>(); View.LoadAssignments(TranslateAndReorderAssignments(CallService.GetDefaultAssignmentSettings(call.Id, call.IsPortal, call.IsPublic))); } else { List <dtoCallAssignment> items = TranslateAndReorderAssignments(assignments); View.SelectedIdUsers = assignments.Where(a => a.Type == CallAssignmentType.Person).Select(a => ((dtoCallPersonAssignment)a).IdPerson).ToList(); View.LoadAssignments(items); } }
private int GetCurrentCommunity(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 && currentCommunity != null && !call.IsPortal) { idCommunity = this.UserContext.CurrentCommunityID; } else if (community == null) { idCommunity = 0; } View.IdCallCommunity = idCommunity; return(idCommunity); }
public void InitView() { Boolean isAnonymousUser = UserContext.isAnonymous; long idCall = View.PreloadIdCall; CallForPaperType type = Service.GetCallType(idCall); long idSubmission = View.PreloadedIdSubmission; long idRevision = View.PreloadedIdRevision; Guid uniqueId = View.PreloadedUniqueID; dtoSubmissionRevision submission = Service.GetSubmissionWithRevisions(idSubmission, true); int idModule = (type == CallForPaperType.CallForBids) ? Service.ServiceModuleID() : ServiceRequest.ServiceModuleID(); View.CallType = type; dtoBaseForPaper call = Service.GetDtoBaseCall(idCall); int idCommunity = SetCallCurrentCommunity(call); View.IdCall = idCall; View.IdCallModule = idModule; View.IdCallCommunity = idCommunity; View.IdSubmission = idSubmission; if (submission != null && (idRevision == 0 && submission.Revisions.Where(r => r.Id == idRevision && r.AllowSave).Any())) { idRevision = submission.GetIdWorkingRevision(); } View.IdRevision = idRevision; Int32 containerIdCommunity = (View.PreloadIdOtherCommunity != -1) ? View.PreloadIdOtherCommunity : idCommunity; if (isAnonymousUser) { View.DisplaySessionTimeout(); } else if (submission == null) { View.DisplayRevisionUnknown(); View.SetActionUrl(CallStandardAction.ViewRevisions, RootObject.ViewRevisions(type, CallStandardAction.List, containerIdCommunity, CallStatusForSubmitters.Revisions)); } else if (submission != null && (idRevision == 0 || submission.IsAnonymous || submission.IdPerson != UserContext.CurrentUserID)) { if (idRevision == 0) { View.DisplayRevisionUnavailable(); } else { View.DisplayNoPermission(idCommunity, idModule); } View.SetActionUrl(CallStandardAction.ViewRevisions, RootObject.ViewRevisions(type, CallStandardAction.List, containerIdCommunity, CallStatusForSubmitters.Revisions)); } else { int idUser = UserContext.CurrentUserID; litePerson currenUser = GetCurrentUser(ref idUser); Boolean allowView = false; View.CallRepository = call.GetRepositoryIdentifier(); switch (type) { case CallForPaperType.CallForBids: ModuleCallForPaper module = Service.CallForPaperServicePermission(idUser, idCommunity); allowView = (submission.Owner.Id == idUser || module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser)); break; case CallForPaperType.RequestForMembership: ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(idUser, idCommunity); allowView = (submission.Owner.Id == idUser || moduleR.ManageBaseForPapers || moduleR.Administration || ((moduleR.CreateBaseForPaper || moduleR.EditBaseForPaper) && call.Owner.Id == idUser)); break; } View.IdSubmission = idSubmission; View.IdSubmitterType = submission.Type.Id; View.TryToComplete = false; dtoRevisionRequest rev = submission.GetWorkingRevision(); View.InitializeView(Service.RevisionWithFileToUpload(idRevision)); DateTime InitTime = DateTime.Now; Boolean allowTimeRevision = rev.AllowSubmission(InitTime); Boolean allowSave = false; Boolean allowCompleteSubmission = false; if (!allowTimeRevision && (rev.Status == RevisionStatus.Request || rev.Status == RevisionStatus.RequestAccepted || rev.Status == RevisionStatus.Required)) { View.DisplayRevisionTimeExpired(); switch (type) { case CallForPaperType.CallForBids: View.SendUserAction(idCommunity, idModule, idRevision, ModuleCallForPaper.ActionType.ViewRevision); break; case CallForPaperType.RequestForMembership: View.SendUserAction(idCommunity, idModule, idRevision, ModuleRequestForMembership.ActionType.ViewRevision); break; } } else { idSubmission = (submission == null) ? 0 : submission.Id; View.AllowDeleteSubmission = false; //View.AllowDeleteSubmission = (submission != null && submission.Deleted == BaseStatusDeleted.None && submission.Status == SubmissionStatus.draft); allowCompleteSubmission = allowTimeRevision && (rev != null && rev.Deleted == BaseStatusDeleted.None && rev.AllowSave); allowSave = allowCompleteSubmission; View.InitSubmissionTime = InitTime; switch (type) { case CallForPaperType.CallForBids: View.SendUserAction(idCommunity, idModule, idRevision, ModuleCallForPaper.ActionType.ViewRevision); break; case CallForPaperType.RequestForMembership: View.SendUserAction(idCommunity, idModule, idRevision, ModuleRequestForMembership.ActionType.ViewRevision); break; } } View.AllowSave = allowSave; View.AllowCompleteSubmission = allowCompleteSubmission; LoadRevision(call, submission, rev); if (allowView) { if (View.PreloadView == CallStatusForSubmitters.Revisions) { View.SetActionUrl(CallStandardAction.ViewRevisions, RootObject.ViewRevisions(type, CallStandardAction.List, containerIdCommunity, CallStatusForSubmitters.Revisions)); } else { View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(idCall, type, CallStandardAction.List, containerIdCommunity, View.PreloadView)); } } } }
public void InitView(Boolean forPublicCall) { Boolean allowAdmin = false; Boolean isAnonymousUser = UserContext.isAnonymous; long idCall = View.PreloadIdCall; CallForPaperType type = ServiceCall.GetCallType(idCall); long idSubmission = View.PreloadedIdSubmission; long idRevision = View.PreloadedIdRevision; Guid uniqueId = View.PreloadedUniqueID; View.IsAdvance = ServiceCall.CallIsAdvanced(idCall); dtoSubmissionRevision submission = ServiceCall.GetSubmissionWithRevisions(idSubmission, true); int idModule = (type == CallForPaperType.CallForBids) ? ServiceCall.ServiceModuleID() : ServiceRequest.ServiceModuleID(); dtoBaseForPaper call = ServiceCall.GetDtoBaseCall(idCall); int idCommunity = SetCallCurrentCommunity(call); View.isAnonymousSubmission = forPublicCall; View.IdCall = idCall; View.IdCallModule = idModule; View.IdCallCommunity = idCommunity; View.CallType = type; View.IdSubmission = idSubmission; if (idRevision == 0 && submission != null) { idRevision = submission.GetIdLastActiveRevision(); } View.IdRevision = idRevision; if (submission == null || submission.Owner == null) { View.DisplayUnknownSubmission(idCommunity, idModule, idSubmission, type); } else { if (idCall != submission.IdCall) { idCall = submission.IdCall; call = ServiceCall.GetDtoBaseCall(idCall); idCommunity = SetCallCurrentCommunity(call); type = (call != null) ? call.Type : type; idModule = (type == CallForPaperType.CallForBids) ? ServiceCall.ServiceModuleID() : ServiceRequest.ServiceModuleID(); View.IdCall = idCall; View.IdCallModule = idModule; View.IdCallCommunity = idCommunity; View.CallType = type; } if (call == null) { View.DisplayUnknownCall(idCommunity, idModule, idCall, type); if (!isAnonymousUser) { View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(type, CallStandardAction.List, View.PreloadIdOtherCommunity, View.PreloadView)); } } else if (isAnonymousUser && !forPublicCall) { if (call.IsPublic && submission.IsAnonymous) { View.GoToUrl(RootObject.ViewSubmission(type, idCall, idSubmission, idRevision, uniqueId, true, false, View.PreloadView, View.PreloadIdOtherCommunity, 0)); } else { View.DisplaySessionTimeout(); } } else if (isAnonymousUser && forPublicCall && !call.IsPublic) { View.DisplayCallUnavailableForPublic(); } else { int idUser = UserContext.CurrentUserID; litePerson currenUser = GetCurrentUser(ref idUser); Boolean allowView = false; View.CallRepository = call.GetRepositoryIdentifier(); switch (type) { case CallForPaperType.CallForBids: ModuleCallForPaper module = ServiceCall.CallForPaperServicePermission(idUser, idCommunity); allowView = (submission.Owner.Id == idUser || module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser)); allowAdmin = (View.PreloadFromManagement && (module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser))); break; case CallForPaperType.RequestForMembership: ModuleRequestForMembership moduleR = ServiceCall.RequestForMembershipServicePermission(idUser, idCommunity); allowView = (submission.Owner.Id == idUser || moduleR.ManageBaseForPapers || moduleR.Administration || ((moduleR.CreateBaseForPaper || moduleR.EditBaseForPaper) && call.Owner.Id == idUser)); allowAdmin = (View.PreloadFromManagement && (moduleR.ManageBaseForPapers || moduleR.Administration || ((moduleR.CreateBaseForPaper || moduleR.EditBaseForPaper) && call.Owner.Id == idUser))); break; } if (View.IsAdvance) { Advanced.SubmissionListPermission permission = ServiceCall.SubmissionCanList(idCall); if ((permission & Advanced.SubmissionListPermission.View) == Advanced.SubmissionListPermission.View) { allowView = true; } if ((permission & Advanced.SubmissionListPermission.Manage) == Advanced.SubmissionListPermission.Manage) { allowAdmin = true; } } View.ShowAdministrationTools = allowAdmin; CallStatusForSubmitters fromView = View.PreloadView; if (fromView == CallStatusForSubmitters.None) { fromView = (allowAdmin) ? CallStatusForSubmitters.SubmissionClosed : CallStatusForSubmitters.Submitted; } if (!allowAdmin && allowView) { View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(type, CallStandardAction.List, View.PreloadIdOtherCommunity, fromView)); } else if (allowAdmin) { View.SetActionUrl(CallStandardAction.Manage, RootObject.ViewSubmissions(type, idCall, idSubmission, idRevision, fromView, View.PreloadFilterSubmission, View.PreloadOrderSubmission, View.PreloadAscending, View.PreloadPageIndex, View.PreloadPageSize)); } if (submission.Deleted != BaseStatusDeleted.None && !allowAdmin) { View.DisplaySubmissionUnavailable(); } else if (allowAdmin || allowView || (isAnonymousUser && submission.IsAnonymous && submission.UniqueId == View.PreloadedUniqueID)) { LoadSubmission(call, submission, idUser, allowAdmin); } else { View.DisplayNoPermission(idCommunity, idModule); } } } bool ShowSendIntegration = false; if (call.AdvacedEvaluation) { ShowSendIntegration = ServiceCall.ShowSendIntegration(idSubmission, View.CommissionId); } View.ShowHideSendIntegration(ShowSendIntegration); if (View.IsAdvance) { if (!ServiceCall.SignSubmissionIsNotExpired(idSubmission, idRevision, DateTime.Now, DateTime.Now)) { bool ShowMessage = (submission.Status == SubmissionStatus.waitforsignature); View.DisplayOutOfTime("Expired", ShowMessage, false); } } }
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() { long idCall = View.PreloadIdCall; dtoBaseForPaper call = null; CallForPaperType type = CallService.GetCallType(idCall); if (type == CallForPaperType.None) { type = View.PreloadType; } call = CallService.GetDtoBaseCall(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; ModuleCallForPaper module = null; ModuleRequestForMembership moduleR = null; switch (type) { case CallForPaperType.CallForBids: module = CallService.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity); allowView = (module.ViewCallForPapers || module.Administration || module.ManageCallForPapers); allowManage = module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper; allowSave = (module.Administration || module.ManageCallForPapers || (module.CreateCallForPaper && idCall == 0) || (call != null && module.EditCallForPaper && currenUser == call.Owner)); break; case CallForPaperType.RequestForMembership: moduleR = CallService.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)); break; default: break; } int idModule = (type == CallForPaperType.CallForBids) ? CallService.ServiceModuleID() : 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 = CallService.GetAvailableSteps(idCall, WizardCallStep.NotificationTemplateMail, type); View.LoadWizardSteps(idCall, type, idCommunity, steps); LoadTemplate(idCall); if (type == CallForPaperType.CallForBids) { View.SendUserAction(idCommunity, idModule, idCall, ModuleCallForPaper.ActionType.EditManagerTemplate); } else { View.SendUserAction(idCommunity, idModule, idCall, ModuleRequestForMembership.ActionType.EditManagerTemplate); } 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(type, idCall, idCommunity, View.PreloadView)); } } else { View.DisplayNoPermission(idCommunity, idModule); } } }
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); } } } }
public void InitView() { Boolean isAnonymousUser = UserContext.isAnonymous; long idCall = View.PreloadIdCall; CallForPaperType type = Service.GetCallType(idCall); long idSubmission = View.PreloadedIdSubmission; long idRevision = View.PreloadedIdRevision; dtoSubmissionRevision submission = Service.GetSubmissionWithRevisions(idSubmission, true); int idModule = (type == CallForPaperType.CallForBids) ? Service.ServiceModuleID() : ServiceRequest.ServiceModuleID(); View.CallType = type; dtoBaseForPaper call = Service.GetDtoBaseCall(idCall); int idCommunity = SetCallCurrentCommunity(call); View.IdCall = idCall; View.IdCallModule = idModule; View.IdCallCommunity = idCommunity; View.IdSubmission = idSubmission; if (submission != null && (idRevision == 0 && submission.Revisions.Where(r => r.Id == idRevision && r.AllowSave).Any())) { idRevision = submission.GetIdWorkingRevision(); } View.IdRevision = idRevision; if (isAnonymousUser) { View.DisplaySessionTimeout(); } else if (submission == null) { View.DisplayRevisionUnknown(); if (View.PreloadFromManagement) { View.SetActionUrl(RootObject.ViewSubmissions(type, idCall, idSubmission, idRevision, View.PreloadView, View.PreloadFilterSubmission, View.PreloadOrderSubmission, View.PreloadAscending, View.PreloadPageIndex, View.PreloadPageSize)); } else { View.SetActionUrl(RootObject.ViewRevisions(idRevision, type, View.PreloadAction, idCommunity, View.PreloadView)); } } else if (submission != null && (idRevision == 0)) { View.DisplayRevisionUnavailable(); View.SetActionUrl(RootObject.ViewRevisions(idRevision, type, View.PreloadAction, idCommunity, View.PreloadView)); } else { int idUser = UserContext.CurrentUserID; litePerson currenUser = GetCurrentUser(ref idUser); Boolean allowView = false; switch (type) { case CallForPaperType.CallForBids: ModuleCallForPaper module = Service.CallForPaperServicePermission(idUser, idCommunity); allowView = (submission.Owner.Id == idUser || module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser)); break; case CallForPaperType.RequestForMembership: ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(idUser, idCommunity); allowView = (submission.Owner.Id == idUser || moduleR.ManageBaseForPapers || moduleR.Administration || ((moduleR.CreateBaseForPaper || moduleR.EditBaseForPaper) && call.Owner.Id == idUser)); break; } View.IdSubmission = idSubmission; if (idRevision == 0) { idRevision = submission.GetIdLastActiveRevision(); } dtoRevisionRequest rev = Service.GetRevisionRequest(idRevision, true); if (rev == null) { View.DisplayRevisionUnknown(); } else if (allowView) { switch (type) { case CallForPaperType.CallForBids: View.SendUserAction(idCommunity, idModule, idRevision, ModuleCallForPaper.ActionType.ViewRevision); break; case CallForPaperType.RequestForMembership: View.SendUserAction(idCommunity, idModule, idRevision, ModuleRequestForMembership.ActionType.ViewRevision); break; } LoadSubmission(call, submission, rev); } else { View.DisplayNoPermission(idCommunity, idModule); } if (allowView) { if (View.PreloadFromManagement) { View.SetActionUrl(RootObject.ViewSubmissions(type, idCall, idSubmission, idRevision, View.PreloadView, View.PreloadFilterSubmission, View.PreloadOrderSubmission, View.PreloadAscending, View.PreloadPageIndex, View.PreloadPageSize)); } else { View.SetActionUrl(RootObject.ViewRevisions(idRevision, type, View.PreloadAction, idCommunity, View.PreloadView)); } } } }
public void InitView() { CallStandardAction action = View.PreloadAction; if (action != CallStandardAction.Manage) { action = CallStandardAction.List; } View.CurrentAction = action; CallForPaperType type = View.PreloadCallType; long idCall = View.PreloadIdCall; dtoBaseForPaper call = Service.GetDtoBaseCall(idCall); int idCommunity = 0; if (call != null) { type = call.Type; if (call.IsPortal) { idCommunity = 0; } else if (call.Community != null) { idCommunity = call.Community.Id; } else { idCommunity = View.PreloadIdCommunity; } View.IdCallCommunity = idCommunity; } else { idCommunity = SetCallsCurrentCommunity(); } View.CallType = type; View.IdCall = idCall; View.CurrentView = View.PreloadView; if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { Int32 idUser = UserContext.CurrentUserID; Boolean allowView = false; Boolean allowManage = false; Boolean allowEvaluate = false; Int32 idCallModule = Service.ServiceModuleID(); switch (type) { case CallForPaperType.CallForBids: //ToDo: add permission on Advance Advanced.SubmissionListPermission advPermission = Service.SubmissionCanList(idCall); if ((advPermission & Advanced.SubmissionListPermission.View) == Advanced.SubmissionListPermission.View) { allowView = true; } if ((advPermission & Advanced.SubmissionListPermission.Evaluate) == Advanced.SubmissionListPermission.Evaluate) { allowManage = true; } ModuleCallForPaper module = Service.CallForPaperServicePermission(idUser, idCommunity); allowView = allowView || (module.ViewCallForPapers || module.Administration || module.ManageCallForPapers); allowManage = allowManage || (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper); View.HasSignature = (call != null) && call.AttachSign; break; case CallForPaperType.RequestForMembership: ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(idUser, idCommunity); allowView = (moduleR.ViewBaseForPapers || moduleR.Administration || moduleR.ManageBaseForPapers); allowManage = (moduleR.CreateBaseForPaper || moduleR.Administration || moduleR.ManageBaseForPapers || moduleR.EditBaseForPaper); idCallModule = ServiceRequest.ServiceModuleID(); View.HasSignature = false; break; } switch (action) { case CallStandardAction.List: View.AllowManage = allowManage; if (allowManage) { View.SetActionUrl(CallStandardAction.Manage, RootObject.ViewCalls(idCall, type, CallStandardAction.Manage, idCommunity, View.PreloadView)); } break; case CallStandardAction.Manage: View.AllowView = true; View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(idCall, type, CallStandardAction.List, idCommunity, View.PreloadView)); break; } View.IdCallModule = idCallModule; if (call == null) { View.DisplayUnknownCall(); } else if (allowManage) { View.AllowExport = true; View.SetContainerName(call.Name, call.Edition, call.Type); InitializeView(allowManage, idCall, type, View.PreloadFilters); } else if (allowView) { View.AllowExport = false; View.SetContainerName(call.Name, call.Edition, call.Type); InitializeView(false, idCall, type, View.PreloadFilters); } else //ToDo: verificare la possibilità di visualizzare le sottomissioni!!! { View.SetContainerName(call.Name, call.Edition, call.Type); View.DisplayNoPermission(idCommunity, idCallModule); } } }
public void SaveSettings(dtoBaseForPaper dto, String submitterName, Boolean allowUseOfDss, Boolean validateStatus) { int idCommunity = View.IdCommunity; try { int idModule = (dto.Type == CallForPaperType.CallForBids) ? CallService.ServiceModuleID() : RequestService.ServiceModuleID(); if (dto.Type == CallForPaperType.RequestForMembership && dto.EndDate.HasValue && dto.StartDate >= dto.EndDate.Value) { View.DisplayDateError(dto.StartDate, dto.EndDate.Value); } else if (dto.Type == CallForPaperType.CallForBids && dto.EndDate.HasValue && dto.StartDate >= dto.EndDate.Value && ((dtoCall)dto).EndEvaluationOn.HasValue && dto.EndDate.Value >= ((dtoCall)dto).EndEvaluationOn.Value) { View.DisplayDateError(CallForPaperType.CallForBids); } else if (dto.Type == CallForPaperType.CallForBids && dto.EndDate.HasValue && dto.StartDate >= dto.EndDate.Value) { View.DisplayDateError(dto.StartDate, dto.EndDate.Value); } else if (dto.Type == CallForPaperType.CallForBids && dto.EndDate.HasValue && ((dtoCall)dto).EndEvaluationOn.HasValue && dto.EndDate.Value >= ((dtoCall)dto).EndEvaluationOn.Value) { View.DisplayEvaluationDateError(dto.EndDate.Value, ((dtoCall)dto).EndEvaluationOn.Value); } else { Boolean stepsToComplete = false; List <lm.Comol.Core.Wizard.NavigableWizardItem <WizardCallStep> > wizardSteps = null; BaseForPaper call = null; List <WizardCallStep> skipedSteps = new List <WizardCallStep>();; long idCall = dto.Id; Boolean hasSubmission = false; if (idCall > 0) { hasSubmission = CallService.CallHasSubmissions(idCall); } if (dto.Status > CallForPaperStatus.Draft && idCall == 0) { dto.Status = CallForPaperStatus.Draft; stepsToComplete = true; View.CurrentStatus = dto.Status; } else if (dto.Status > CallForPaperStatus.Draft && idCall > 0) { wizardSteps = CallService.GetAvailableSteps(idCall, WizardCallStep.GeneralSettings, View.CallType); skipedSteps = CallService.GetSkippedSteps(wizardSteps, idCall, View.CallType); stepsToComplete = (skipedSteps.Count > 0); if (stepsToComplete && !hasSubmission) { dto.Status = CallForPaperStatus.Draft; View.CurrentStatus = dto.Status; } } if (dto.Type == CallForPaperType.CallForBids) { call = CallService.SaveCallSettings((dtoCall)dto, idCommunity, validateStatus); } else { call = RequestService.SaveCallSettings((dtoRequest)dto, idCommunity, validateStatus, submitterName); } if (call != null) { idCall = call.Id; RefreshCallName(View.CurrentAction, dto.Name, idCommunity); } View.IdCall = idCall; if (dto.Type == CallForPaperType.CallForBids) { View.SendUserAction(idCommunity, idModule, idCall, (View.CurrentAction == CallStandardAction.Add) ? ModuleCallForPaper.ActionType.AddCallSettings : ModuleCallForPaper.ActionType.SaveCallSettings); } else { View.SendUserAction(idCommunity, idModule, idCall, (View.CurrentAction == CallStandardAction.Add) ? ModuleRequestForMembership.ActionType.AddCallSettings : ModuleRequestForMembership.ActionType.SaveCallSettings); } if (wizardSteps == null) { wizardSteps = CallService.GetAvailableSteps(idCall, WizardCallStep.GeneralSettings, call.Type); } if (stepsToComplete && skipedSteps.Count > 0) { View.DisplaySkippedRequiredSteps(skipedSteps); } else if (stepsToComplete && wizardSteps.Count > 0) { View.DisplaySkippedRequiredSteps(wizardSteps.Where(ws => ws.Status == Core.Wizard.WizardItemStatus.error || ws.Status == Core.Wizard.WizardItemStatus.disabled).Select(ws => ws.Id).ToList()); } else if (call != null) { View.DisplaySettingsSaved(); } if (View.InvalidStatusFound) { View.InvalidStatusFound = false; View.LoadStatus(CallService.GetAvailableStatus(idCall), dto.Status); dto = CallService.GetDtoBaseCall(idCall); View.LoadCall(dto); if (dto.Type == CallForPaperType.CallForBids) { View.LoadEvaluationSettings(CallService.GetEvaluationSettings(idCall, allowUseOfDss)); } } else { View.LoadStatus(CallService.GetAvailableStatus(idCall), dto.Status); } View.LoadWizardSteps(idCall, dto.Type, idCommunity, wizardSteps); } } catch (SkipRequiredSteps exc) { View.DisplaySkippedRequiredSteps(exc.Steps); } catch (CallForPaperInvalidStatus ex) { View.InvalidStatusFound = true; switch (dto.Status) { case CallForPaperStatus.Draft: if (dto.StartDate >= DateTime.Now) { View.CurrentStatus = (!dto.EndDate.HasValue || (dto.EndDate.HasValue && dto.EndDate.Value <= DateTime.Now)) ? CallForPaperStatus.SubmissionOpened: CallForPaperStatus.SubmissionClosed; } else { View.CurrentStatus = CallForPaperStatus.SubmissionOpened; } break; } View.LoadInvalidStatus(dto.Status, dto.EndDate); RefreshCallName(View.CurrentAction, dto.Name, idCommunity); } }
public void InitView(Boolean allowUseOfDss) { CallStandardAction action = View.PreloadAction; long idCall = View.PreloadIdCall; dtoBaseForPaper call = null; CallForPaperType type = View.PreloadType; if (idCall == 0) { action = CallStandardAction.Add; } else { type = CallService.GetCallType(idCall); call = CallService.GetDtoBaseCall(idCall); action = CallStandardAction.Edit; } View.CallType = type; View.CurrentAction = action; int idCommunity = SetCallCurrentCommunity(action, call); if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { litePerson currenUser = CurrentManager.GetLitePerson(UserContext.CurrentUserID); Boolean allowManage = false; Boolean allowView = false; Boolean allowSave = false; switch (type) { case CallForPaperType.CallForBids: ModuleCallForPaper module = CallService.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity); allowView = (module.ViewCallForPapers || module.Administration || module.ManageCallForPapers); allowManage = module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper; allowSave = (module.Administration || module.ManageCallForPapers || (module.CreateCallForPaper && idCall == 0) || (call != null && module.EditCallForPaper && currenUser == call.Owner)); break; case CallForPaperType.RequestForMembership: ModuleRequestForMembership moduleR = CallService.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)); break; default: break; } int idModule = (type == CallForPaperType.CallForBids) ? CallService.ServiceModuleID() : RequestService.ServiceModuleID(); View.IdCallModule = idModule; if (call == null && action == CallStandardAction.Edit) { View.LoadUnknowCall(idCommunity, idModule, idCall, type); } else if (allowManage || allowSave) { View.AllowSave = allowSave; View.IdCall = idCall; LoadCallStatus(idCall, call); if (action == CallStandardAction.Add) { View.LoadEmptyCall(); View.AllowStatusEdit = false; View.ForPortal = (idCommunity == 0); } else { View.ForPortal = (call != null && call.IsPortal); View.AllowStatusEdit = AllowStatusEdit(idCall, type, call, allowSave); View.LoadCall(call); } List <lm.Comol.Core.Wizard.NavigableWizardItem <WizardCallStep> > steps = CallService.GetAvailableSteps(idCall, WizardCallStep.GeneralSettings, type); View.SetActionUrl(CallStandardAction.Manage, RootObject.ViewCalls(idCall, type, CallStandardAction.Manage, idCommunity, View.PreloadView)); View.LoadWizardSteps(idCall, type, idCommunity, steps); if (type == CallForPaperType.CallForBids) { View.LoadEvaluationSettings(CallService.GetEvaluationSettings(idCall, allowUseOfDss)); View.SendUserAction(idCommunity, idModule, idCall, (action == CallStandardAction.Add) ? ModuleCallForPaper.ActionType.StartCallCreation : ModuleCallForPaper.ActionType.StartCallEdit); } else { View.SendUserAction(idCommunity, idModule, idCall, (action == CallStandardAction.Add) ? ModuleRequestForMembership.ActionType.StartRequestCreation : ModuleRequestForMembership.ActionType.StartRequestEdit); } 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(type, idCall, idCommunity, View.PreloadView)); } } else { View.DisplayNoPermission(idCommunity, idModule); } } }
public void InitView() { CallStandardAction action = View.PreloadAction; if (action != CallStandardAction.Manage) { action = CallStandardAction.List; } View.CurrentAction = action; CallForPaperType type = View.PreloadCallType; long idCall = View.PreloadIdCall; dtoBaseForPaper call = Service.GetDtoBaseCall(idCall); int idCommunity = 0; if (call != null) { type = call.Type; if (call.IsPortal) { idCommunity = 0; } else if (call.Community != null) { idCommunity = call.Community.Id; } else { idCommunity = View.PreloadIdCommunity; } View.IdCallCommunity = idCommunity; } else { idCommunity = SetCallsCurrentCommunity(); } View.CallType = type; View.IdCall = idCall; View.CurrentView = View.PreloadView; if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { Int32 idUser = UserContext.CurrentUserID; Boolean allowView = false; Boolean allowManage = false; Int32 idCallModule = Service.ServiceModuleID(); switch (type) { case CallForPaperType.CallForBids: ModuleCallForPaper module = Service.CallForPaperServicePermission(idUser, idCommunity); allowView = (module.ViewCallForPapers || module.Administration || module.ManageCallForPapers); allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper); break; case CallForPaperType.RequestForMembership: ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(idUser, idCommunity); allowView = (moduleR.ViewBaseForPapers || moduleR.Administration || moduleR.ManageBaseForPapers); allowManage = (moduleR.CreateBaseForPaper || moduleR.Administration || moduleR.ManageBaseForPapers || moduleR.EditBaseForPaper); idCallModule = ServiceRequest.ServiceModuleID(); break; } switch (action) { case CallStandardAction.List: View.AllowManage = allowManage; if (allowManage) { View.SetActionUrl(CallStandardAction.Manage, RootObject.ViewCalls(idCall, type, CallStandardAction.Manage, idCommunity, View.PreloadView)); } break; case CallStandardAction.Manage: View.AllowView = true; View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(idCall, type, CallStandardAction.List, idCommunity, View.PreloadView)); break; } View.IdCallModule = idCallModule; if (call == null) { View.DisplayUnknownCall(); } else if (allowManage) { View.AllowExport = true; View.SetContainerName(call.Name, call.Edition, call.Type); InitializeView(allowManage, idCall, type, View.PreloadFilters); } else { View.SetContainerName(call.Name, call.Edition, call.Type); View.DisplayNoPermission(idCommunity, idCallModule); } } }
public void InitView(Boolean forPublicCall) { Boolean isAnonymousUser = UserContext.isAnonymous; long idCall = View.PreloadIdCall; long idEvaluation = View.PreloadedIdEvaluation; Int32 idUser = UserContext.CurrentUserID; lm.Comol.Modules.CallForPapers.Domain.CallForPaperType type = ServiceCall.GetCallType(idCall); int idModule = (type == CallForPaperType.CallForBids) ? ServiceCall.ServiceModuleID() : ServiceRequest.ServiceModuleID(); dtoBaseForPaper call = ServiceCall.GetDtoBaseCall(idCall); int idCommunity = GetCurrentCommunity(call); View.IdCall = idCall; View.IdCallModule = idModule; View.IdCallCommunity = idCommunity; View.IdEvaluation = idEvaluation; View.CallType = type; if (UserContext.isAnonymous) { View.DisplaySessionTimeout(RootObject.EvaluateSubmission(idCall, View.PreloadIdCommunity, View.PreloadedIdEvaluation)); } if (call == null) { View.DisplayUnknownCall(idCommunity, idModule, idCall, type); } else if (type == CallForPaperType.RequestForMembership) { View.DisplayEvaluationUnavailable(); } else { bool canEvaluate = true; //Evantualmente aggiungere i tag anche sulle vecchie commissioni... string tags = (call.AdvacedEvaluation) ? ServiceCall.TagGetForEvaluation(idEvaluation, idCall, ref canEvaluate) : call.Tags; if (call.AdvacedEvaluation && !canEvaluate) { View.DisplayEvaluationUnavailable(); } View.BindTag(tags); ModuleCallForPaper module = ServiceCall.CallForPaperServicePermission(idUser, idCommunity); Boolean allowEvaluate = false; Boolean allowAdmin = ((module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser))); Boolean isEvaluator = (call.AdvacedEvaluation) ? ServiceCall.isEvaluationOwner(idEvaluation, UserContext.CurrentUserID) : Service.isEvaluationOwner(idEvaluation, UserContext.CurrentUserID); allowEvaluate = isEvaluator; //(isEvaluator || module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser)); if (!allowEvaluate) { View.DisplayEvaluationUnavailable(); } else { lm.Comol.Modules.CallForPapers.Domain.Evaluation.dtoEvaluation evaluation = (call.AdvacedEvaluation) ? ServiceCall.GetFullEvaluation(idEvaluation, View.AnonymousOwnerName, View.UnknownDisplayname): Service.GetFullEvaluation(idEvaluation, View.AnonymousOwnerName, View.UnknownDisplayname); if (evaluation == null) { View.DisplayUnknownEvaluation(idCommunity, idModule, idEvaluation); } else { View.IdEvaluator = evaluation.IdEvaluator; dtoSubmissionRevision submission = ServiceCall.GetSubmissionWithRevisions(evaluation.IdSubmission, true); if (submission == null) { View.DisplayUnknownSubmission(idCommunity, idModule, evaluation.IdSubmission, type); } else { LoadData(idCall, evaluation, submission); } } } } }
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); } } } } } }
public void InitView() { long idCall = View.PreloadIdCall; dtoBaseForPaper call = null; CallForPaperType type = CallService.GetCallType(idCall); if (type == CallForPaperType.None) { type = View.PreloadType; } call = CallService.GetDtoBaseCall(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; ModuleCallForPaper module = null; ModuleRequestForMembership moduleR = null; switch (type) { case CallForPaperType.CallForBids: module = CallService.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity); allowView = (module.ViewCallForPapers || module.Administration || module.ManageCallForPapers); allowManage = module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper; allowSave = (module.Administration || module.ManageCallForPapers || (module.CreateCallForPaper && idCall == 0) || (call != null && module.EditCallForPaper && currenUser == call.Owner)); break; case CallForPaperType.RequestForMembership: moduleR = CallService.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)); break; default: break; } int idModule = (type == CallForPaperType.CallForBids) ? CallService.ServiceModuleID() : RequestService.ServiceModuleID(); View.IdCallModule = idModule; if (call == null) { View.LoadUnknowCall(idCommunity, idModule, idCall, type); } else if (allowManage || allowSave) { View.AllowSave = allowSave && (!CallService.CallHasSubmissions(idCall)); View.IdCall = idCall; View.SetActionUrl(CallStandardAction.Manage, RootObject.ViewCalls(type, CallStandardAction.Manage, idCommunity, View.PreloadView)); if (type == CallForPaperType.CallForBids) { LoadRequiredFiles(idCall, module); View.SendUserAction(idCommunity, idModule, idCall, ModuleCallForPaper.ActionType.ViewRequestedFiles); } else { LoadRequiredFiles(idCall, moduleR); View.SendUserAction(idCommunity, idModule, idCall, ModuleRequestForMembership.ActionType.ViewRequestedFiles); } View.SetActionUrl(CallStandardAction.PreviewCall, RootObject.PreviewCall(type, idCall, idCommunity, View.PreloadView)); } else { View.DisplayNoPermission(idCommunity, idModule); } } }
public String ExportTo( SummaryType summaryType, long idCall, long idSubmission, long idCommittee, ExportData exportData, 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) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(RootObject.ViewSubmissionTableEvaluations(idSubmission, idCall, View.IdCallCommunity)); return(""); } dtoBaseForPaper call = ServiceCall.GetDtoBaseCall(idCall); dtoSubmissionRevision submission = ServiceCall.GetSubmissionWithRevisions(idSubmission, false); List <dtoCommitteeEvaluationInfo> committees = new List <dtoCommitteeEvaluationInfo>(); EvaluationType evalType = View.CurrentEvaluationType; bool isAdvance = ServiceCall.CallIsAdvanced(idCall); List <dtoSubmissionCommitteeItem> evaluations = new List <dtoSubmissionCommitteeItem>(); if (isAdvance) { evaluations = ServiceCall.GetSubmissionEvaluations(idCall, idSubmission, idCommittee, View.UnknownDisplayname); committees = ServiceCall.GetCommitteesInfoForSubmission(submission.Id, call.Id, View.AdvCommissionId); } else { evaluations = Service.GetSubmissionEvaluations(idCall, idSubmission, idCommittee, View.UnknownDisplayname); committees = Service.GetCommitteesInfoForSubmission(submission.Id, call.Id); } String export = ""; //INTESTAZIONE GENERICA export += string.Format(translations[EvaluationTranslations.CallTitle], call.Name) + ";"; export += "\r\n"; export += translations[EvaluationTranslations.CellTitleSubmissionOwner] + " "; export += submission.Owner.SurnameAndName + ";"; export += "\r\n"; if (submission.SubmittedOn != null) { DateTime submitOn = (DateTime)submission.SubmittedOn; export += string.Format(translations[EvaluationTranslations.SubmittedOn], submitOn.ToString("dd MM yyyy"), submitOn.ToString("h:mm:ss") ) + ";"; export += "\r\n"; } export += translations[EvaluationTranslations.CellTitleCommittee] + ";"; if (committees != null && committees.Any()) { export += committees.FirstOrDefault().Name; } else { export += "--"; } export += "\r\n"; export += "\r\n"; if (exportData == ExportData.Fulldata) { //INTESTAZIONE ESPORTAZIONE export += translations[EvaluationTranslations.CellTitleEvaluator] + ";"; export += translations[EvaluationTranslations.CellTitleGenericCriterion] + ";"; export += "Tipo criterio;"; export += translations[EvaluationTranslations.CellTitleGenericCriterionUserValue] + ";"; //export += ((evalType == EvaluationType.Average) ? // translations[Domain.Evaluation.EvaluationTranslations.CellTitleAverage] : // translations[Domain.Evaluation.EvaluationTranslations.CellTitleSum]) // + ";"; export += translations[EvaluationTranslations.CellTitleGenericCriterionComment] + ";"; export += "Commento complessivo;"; export += "\r\n"; //DATA foreach (dtoEvaluatorDisplayItem evaluator in evaluations.FirstOrDefault().Evaluators) { foreach (dtoCriterionEvaluated criterion in evaluator.Values) { export += evaluator.EvaluatorName + ";"; export += criterion.Criterion.Name + ";"; switch (criterion.Criterion.Type) { case CriterionType.Boolean: export += "Boolean;"; export += (criterion.DecimalValue > 0) ? "1;" : "0;"; break; case CriterionType.IntegerRange: export += "Interi;"; export += criterion.DecimalValue.ToString("F0") + ";"; break; case CriterionType.DecimalRange: export += "Decimale;"; export += criterion.DecimalValue + ";"; break; case CriterionType.StringRange: export += "Qualitativo;"; export += criterion.StringValue + ";"; break; } export += criterion.Comment + ";"; export += evaluator.Comment + ";"; export += "\r\n"; } } } else { //INTESTAZIONE ESPORTAZIONE //export += translations[EvaluationTranslations.CellTitleEvaluator] + ";"; //export += translations[EvaluationTranslations.CellTitleGenericCriterion] + ";"; //export += "Tipo criterio;"; //export += translations[EvaluationTranslations.CellTitleGenericCriterionUserValue] + ";"; ////export += ((evalType == EvaluationType.Average) ? //// translations[Domain.Evaluation.EvaluationTranslations.CellTitleAverage] : //// translations[Domain.Evaluation.EvaluationTranslations.CellTitleSum]) //// + ";"; //export += translations[EvaluationTranslations.CellTitleGenericCriterionComment] + ";"; //export += "Commento complessivo;"; //export += "\r\n"; //DATA foreach (dtoEvaluatorDisplayItem evaluator in evaluations.FirstOrDefault().Evaluators) { export += evaluator.EvaluatorName + ";"; foreach (dtoCriterionEvaluated criterion in evaluator.Values) { export += criterion.Criterion.Name + ";"; switch (criterion.Criterion.Type) { case CriterionType.Boolean: export += "Boolean;"; export += (criterion.DecimalValue > 0) ? "Approvato;" : "Non approvato;"; break; case CriterionType.IntegerRange: export += "Interi;"; export += criterion.DecimalValue.ToString("F0") + ";"; break; case CriterionType.DecimalRange: export += "Decimale;"; export += criterion.DecimalValue + ";"; break; case CriterionType.StringRange: export += "Qualitativo;"; export += criterion.StringValue + ";"; break; } export += criterion.Comment + ";"; } export += evaluator.Comment + ";"; export += "\r\n"; } } return(export); //return Service.ExportSummaryStatistics(summaryType, ServiceCall.GetDtoCall(idCall), ServiceCall.GetSubmissionWithRevisions(idSubmission, false), idSubmission, idCommittee, View.AnonymousDisplayName, View.UnknownDisplayname, exportData, fileType, translations, status); }
public void InitView() { Boolean allowAdmin = false; Boolean isAnonymousUser = UserContext.isAnonymous; long idCall = View.PreloadIdCall; CallForPaperType type = ServiceCall.GetCallType(idCall); long idSubmission = View.PreloadedIdSubmission; long idRevision = View.PreloadedIdRevision; Guid uniqueId = View.PreloadedUniqueID; dtoSubmissionRevision submission = ServiceCall.GetSubmissionWithRevisions(idSubmission, true); int idModule = (type == CallForPaperType.CallForBids) ? ServiceCall.ServiceModuleID() : ServiceRequest.ServiceModuleID(); dtoBaseForPaper call = ServiceCall.GetDtoBaseCall(idCall); int idCommunity = SetCallCurrentCommunity(call); View.isAnonymousSubmission = true; View.IdCall = idCall; View.IdCallModule = idModule; View.IdCallCommunity = idCommunity; View.CallType = type; View.IdSubmission = idSubmission; if (idRevision == 0 && submission != null) { idRevision = submission.GetIdLastActiveRevision(); } View.IdRevision = idRevision; if (submission == null || submission.Owner == null || (submission != null && submission.UniqueId != uniqueId)) { View.DisplayUnknownSubmission(idCommunity, idModule, idSubmission, type); } else { if (idCall != submission.IdCall) { idCall = submission.IdCall; call = ServiceCall.GetDtoBaseCall(idCall); idCommunity = SetCallCurrentCommunity(call); type = (call != null) ? call.Type : type; idModule = (type == CallForPaperType.CallForBids) ? ServiceCall.ServiceModuleID() : ServiceRequest.ServiceModuleID(); View.IdCall = idCall; View.IdCallModule = idModule; View.IdCallCommunity = idCommunity; View.CallType = type; } if (call == null) { View.DisplayUnknownCall(idCommunity, idModule, idCall, type); if (!isAnonymousUser) { View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(type, CallStandardAction.List, idCommunity, View.PreloadView)); } } else if (isAnonymousUser && !submission.IsAnonymous) { View.DisplaySessionTimeout(); } else if (isAnonymousUser && !call.IsPublic) { View.DisplayCallUnavailableForPublic(); } else { int idUser = UserContext.CurrentUserID; litePerson currenUser = GetCurrentUser(ref idUser); Boolean allowView = false; View.CallRepository = call.GetRepositoryIdentifier(); switch (type) { case CallForPaperType.CallForBids: ModuleCallForPaper module = ServiceCall.CallForPaperServicePermission(idUser, idCommunity); allowView = (submission.Owner.Id == idUser || module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser)); allowAdmin = (module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser)); break; case CallForPaperType.RequestForMembership: ModuleRequestForMembership moduleR = ServiceCall.RequestForMembershipServicePermission(idUser, idCommunity); allowView = (submission.Owner.Id == idUser || moduleR.ManageBaseForPapers || moduleR.Administration || ((moduleR.CreateBaseForPaper || moduleR.EditBaseForPaper) && call.Owner.Id == idUser)); allowAdmin = (moduleR.ManageBaseForPapers || moduleR.Administration || ((moduleR.CreateBaseForPaper || moduleR.EditBaseForPaper) && call.Owner.Id == idUser)); break; } View.InitializeView(ServiceCall.GetExternalContext(idCall)); CallStatusForSubmitters fromView = View.PreloadView; if (fromView == CallStatusForSubmitters.None) { fromView = (allowAdmin) ? CallStatusForSubmitters.SubmissionClosed : CallStatusForSubmitters.Submitted; } if (allowView) { if (!isAnonymousUser) { View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(type, CallStandardAction.List, idCommunity, fromView)); } else if (View.FromPublicList) { View.SetActionUrl(CallStandardAction.List, RootObject.PublicCollectorCalls(type, idCall, idCommunity)); } } if (submission.Deleted != BaseStatusDeleted.None && !allowAdmin) { View.DisplaySubmissionUnavailable(); } else if (allowAdmin || allowView || (isAnonymousUser && submission.IsAnonymous && submission.UniqueId == View.PreloadedUniqueID)) { LoadSubmission(call, submission, idUser, allowAdmin); } else { View.DisplayNoPermission(idCommunity, idModule); } } } }
public void InitView(Boolean allowUseOfDss) { long idCall = View.PreloadIdCall; dtoBaseForPaper call = null; CallForPaperType type = CallService.GetCallType(idCall); call = CallService.GetDtoBaseCall(idCall); int idCommunity = SetCallCurrentCommunity(call); if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else if (type != CallForPaperType.CallForBids) { View.RedirectToUrl(RootObject.ViewCalls(type, CallStandardAction.Manage, idCommunity, View.PreloadView)); } else { litePerson currenUser = CurrentManager.GetLitePerson(UserContext.CurrentUserID); ModuleCallForPaper module = CallService.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity); Boolean allowView = (module.ViewCallForPapers || module.Administration || module.ManageCallForPapers); Boolean allowManage = module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper; Boolean allowSave = (module.Administration || module.ManageCallForPapers || (module.CreateCallForPaper && idCall == 0) || (call != null && module.EditCallForPaper && currenUser == call.Owner)); int idModule = CallService.ServiceModuleID(); View.IdCallModule = idModule; if (call == null) { View.LoadUnknowCall(idCommunity, idModule, idCall, type); } else if (call.Type != CallForPaperType.CallForBids) { View.RedirectToUrl(RootObject.ViewCalls(idCall, type, CallStandardAction.List, idCommunity, View.PreloadView)); } else if (allowManage || allowSave) { View.AllowSave = true; dtoEvaluationSettings settings = CallService.GetEvaluationSettings(idCall, allowUseOfDss); View.EndEvaluationOn = (settings == null) ? null : settings.EndEvaluationOn; View.IdCall = idCall; View.SetActionUrl(RootObject.ViewCalls(type, CallStandardAction.Manage, idCommunity, View.PreloadView)); if (Service.CallHasEvaluation(idCall)) { InitializeBy(idCall, idCommunity); View.SendUserAction(idCommunity, idModule, idCall, ModuleCallForPaper.ActionType.ManageEvaluators); } else { View.DisplayNoEvaluations(false, false, false); } View.SetActionUrl(RootObject.ViewCalls(idCall, type, CallStandardAction.Manage, idCommunity, View.PreloadView)); } else if (allowView) { View.RedirectToUrl(RootObject.ViewCalls(idCall, type, CallStandardAction.List, idCommunity, View.PreloadView)); } else { View.DisplayNoPermission(idCommunity, idModule); } } }
private void LoadData( Int32 idCommunity, dtoBaseForPaper call, EvaluationType type, dtoSubmissionRevision submission) { List <dtoCommitteeEvaluationInfo> committees = call.AdvacedEvaluation ? ServiceCall.GetCommitteesInfoForSubmission(submission.Id, call.Id, View.AdvCommissionId) : Service.GetCommitteesInfoForSubmission(submission.Id, call.Id); if (call.AdvacedEvaluation) { //EvaluationType oldEvtype = ServiceCall.CommissionGetEvalType(View.AdvCommissionId); EvaluationType oldEvtype = EvaluationType.Average; Advanced.dto.dtoCommEvalInfo evinfo = ServiceCall.CommissionEvalTypeGet(View.AdvCommissionId); switch (evinfo.Type) { case Advanced.EvalType.Average: oldEvtype = EvaluationType.Average; break; case Advanced.EvalType.Sum: oldEvtype = EvaluationType.Sum; break; } View.CurrentEvaluationType = oldEvtype; } else { View.CurrentEvaluationType = type; } View.CommitteesCount = committees.Count; String owner = (submission == null || (submission != null && (submission.IsAnonymous))) ? View.AnonymousDisplayName : ((submission.Owner != null) ? submission.Owner.SurnameAndName : View.UnknownDisplayname); litePerson submitter = CurrentManager.GetLitePerson(submission.IdSubmittedBy); String submittedBy = (submission.IdPerson == submission.IdSubmittedBy) ? "" : (submitter == null || submitter.TypeID == (int)UserTypeStandard.Guest) ? View.AnonymousDisplayName : submitter.SurnameAndName; View.SetViewEvaluationsUrl(RootObject.ViewSubmissionEvaluations(submission.Id, call.Id, idCommunity, View.AdvCommissionId)); // View.SetViewSubmissionUrl(RootObject.ViewSubmissionAsManager( bool isPresident = false; if (call.AdvacedEvaluation) { isPresident = ServiceCall.CommissionUserIsPresident(View.AdvCommissionId, UserContext.CurrentUserID); } int minscore = (!call.AdvacedEvaluation) ? 0 : (committees == null || !committees.Any()) ? 0 : committees[0].MinValue; View.LoadSubmissionInfo( call.Name, owner, submission.SubmittedOn, submittedBy, committees, (committees == null || !committees.Any()) ? 0 : committees[0].IdCommittee, isPresident, minscore); if (type == EvaluationType.Dss) { InitializeDssInfo(call.Id); } LoadEvaluations(submission.Id, call.Id, type, View.IdCurrentCommittee, committees.Count); }
public void LoadSkins(long idCall) { dtoBaseForPaper call = CallService.GetDtoBaseCall(idCall); LoadSkins(call); }
public void InitView() { Boolean isAnonymousUser = UserContext.isAnonymous; long idCall = View.PreloadIdCall; long idSubmission = View.PreloadIdSubmission; Int32 idUser = UserContext.CurrentUserID; lm.Comol.Modules.CallForPapers.Domain.CallForPaperType type = ServiceCall.GetCallType(idCall); int idModule = (type == CallForPaperType.CallForBids) ? ServiceCall.ServiceModuleID() : ServiceRequest.ServiceModuleID(); dtoBaseForPaper call = ServiceCall.GetDtoBaseCall(idCall); int idCommunity = GetCurrentCommunity(call); View.IdCall = idCall; View.IdCallModule = idModule; View.IdCallCommunity = idCommunity; View.IdSubmission = idSubmission; if (UserContext.isAnonymous) { View.DisplaySessionTimeout(RootObject.ViewSubmissionTableEvaluations(idSubmission, idCall, idCommunity)); } else { if (call == null) { View.DisplayUnknownCall(idCommunity, idModule, idCall, type); } else if (type == CallForPaperType.RequestForMembership) { View.DisplayEvaluationUnavailable(); } else { ModuleCallForPaper module = ServiceCall.CallForPaperServicePermission(idUser, idCommunity); Boolean allowAdmin = ((module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser))); EvaluationType evaluationType = ServiceCall.GetEvaluationType(idCall); if (call.AdvacedEvaluation) { bool isPresident = ServiceCall.CommissionUserIsPresident(View.AdvCommissionId, idUser); bool isSecretary = ServiceCall.CommissionUserIsSecretary(View.AdvCommissionId, idUser); allowAdmin |= isPresident | isSecretary; } //View.CurrentEvaluationType = evaluationType; if (!allowAdmin) { View.DisplayNoPermissionToView(); } else { dtoSubmissionRevision submission = ServiceCall.GetSubmissionWithRevisions(idSubmission, false); if (submission == null) { View.DisplayUnknownSubmission(idCommunity, idModule, idSubmission, type); } else { LoadData(idCommunity, call, evaluationType, submission); } } } } }
public void InitView() { long idCall = View.PreloadIdCall; dtoBaseForPaper call = null; CallForPaperType type = CallService.GetCallType(idCall); if (type == CallForPaperType.None) { type = View.PreloadType; } call = CallService.GetDtoBaseCall(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; ModuleCallForPaper module = null; ModuleRequestForMembership moduleR = null; switch (type) { case CallForPaperType.CallForBids: module = CallService.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity); allowView = (module.ViewCallForPapers || module.Administration || module.ManageCallForPapers); allowManage = module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper; allowSave = (module.Administration || module.ManageCallForPapers || (module.CreateCallForPaper && idCall == 0) || (call != null && module.EditCallForPaper && currenUser == call.Owner)); break; case CallForPaperType.RequestForMembership: moduleR = CallService.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)); break; default: break; } int idModule = (type == CallForPaperType.CallForBids) ? CallService.ServiceModuleID() : RequestService.ServiceModuleID(); View.IdCallModule = idModule; if (call == null) { View.LoadUnknowCall(idCommunity, idModule, idCall, type); } else if (allowManage || allowSave) { allowSave = allowSave && (type == CallForPaperType.RequestForMembership || (type != CallForPaperType.RequestForMembership && (!CallService.CallHasSubmissions(idCall)))); View.AllowSave = allowSave; View.IdCall = idCall; List <lm.Comol.Core.DomainModel.Repository.RepositoryAttachmentUploadActions> availableActions = new List <Core.DomainModel.Repository.RepositoryAttachmentUploadActions>() { Core.DomainModel.Repository.RepositoryAttachmentUploadActions.uploadtomoduleitem }; lm.Comol.Core.FileRepository.Domain.RepositoryIdentifier rIdentifier = call.GetRepositoryIdentifier(); if (!(rIdentifier.Type == Core.FileRepository.Domain.RepositoryType.Community && rIdentifier.IdCommunity == 0)) { View.InitializeAttachmentsControl(idCall, type, rIdentifier, availableActions, Core.DomainModel.Repository.RepositoryAttachmentUploadActions.uploadtomoduleitem); } List <lm.Comol.Core.Wizard.NavigableWizardItem <WizardCallStep> > steps = CallService.GetAvailableSteps(idCall, WizardCallStep.Attachments, type); View.SetActionUrl(CallStandardAction.Manage, RootObject.ViewCalls(type, CallStandardAction.Manage, idCommunity, View.PreloadView)); View.LoadWizardSteps(idCall, type, idCommunity, steps); if (type == CallForPaperType.CallForBids) { LoadAttachments(idCall, module); View.SendUserAction(idCommunity, idModule, idCall, ModuleCallForPaper.ActionType.EditAttachments); } else { LoadAttachments(idCall, moduleR); View.SendUserAction(idCommunity, idModule, idCall, ModuleRequestForMembership.ActionType.EditAttachments); } 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(type, idCall, idCommunity, View.PreloadView)); } } else { View.DisplayNoPermission(idCommunity, idModule); } } }