Ejemplo n.º 1
0
        //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;
                }
            }
        }
Ejemplo n.º 2
0
        /// <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());
        }