//public dtoAdvCommissionContainer(Domain.AdvCommission commission) //{ // Id = commission.Id; // Name = commission.Name; // Description = commission.Description; // Status = commission.Status; // IsMaster = commission.IsMaster; // Permission = CommissionPermission.None; //} /// <summary> /// Costruttore su commissione /// </summary> /// <param name="commission">Commissione di riferimento</param> /// <param name="currentUserId">Id utente corrente, per calcolo permessi</param> public dtoAdvCommissionContainer(Domain.AdvCommission commission, int currentUserId) { Id = commission.Id; Name = commission.Name; Description = commission.Description; Status = commission.Status; IsMaster = commission.IsMaster; if (currentUserId > 0) { Permission = CommissionPermission.None; if (commission.President.Id == currentUserId) { Permission |= CommissionPermission.View | CommissionPermission.Edit | CommissionPermission.UploadVerbale; GenericPermission |= GenericStepPermission.President; if (commission.IsMaster) { GenericPermission |= GenericStepPermission.MainPresident; } } if (commission.Secretary.Id == currentUserId) { Permission |= CommissionPermission.View | CommissionPermission.Edit | CommissionPermission.UploadVerbale | CommissionPermission.RequestIntegration; GenericPermission |= GenericStepPermission.Secretary; if (commission.IsMaster) { GenericPermission |= GenericStepPermission.MainSecretary; } } if (commission.Members.Any(m => m.Member != null && m.Member.Id == currentUserId)) { if (commission.Status != CommissionStatus.Draft) { Permission |= CommissionPermission.View; } Permission |= CommissionPermission.Evaluate; GenericPermission |= GenericStepPermission.Member; } } }
/// <summary> /// Carica il verbale della commissione /// </summary> public void UploadVerbale() { long IdCommission = View.IdComm; if (IdCommission <= 0) { return; } Domain.AdvCommission advCommission = CallService.AdvCommissionGet(IdCommission); if (advCommission == null) { return; } if (advCommission.President.Id != UserContext.CurrentUserID || !(advCommission.Members != null && advCommission.Members.Any(m => m.IsPresident && m.Member.Id == UserContext.CurrentUserID))) { return; } ModuleActionLink aLink = View.AddInternalFile( advCommission, ModuleCallForPaper.UniqueCode, CallService.ServiceModuleID(), (int)ModuleCallForPaper.ActionType.DownloadSubmittedFile, (int)ModuleCallForPaper.ObjectType.VerbaliCommissione ); if (aLink == null || aLink.Link == null) { return; } else { CallService.AdvCommissionAddVerbale(IdCommission, aLink); } InitView(); SendAction(ModuleCallForPaper.ActionType.AdvCommissionUploadVerbal, ModuleCallForPaper.ObjectType.AdvCommission, advCommission.Id.ToString()); }