コード例 #1
0
        /// <summary>
        /// Recupera l'HTML dell'elenco dei membri
        /// </summary>
        /// <param name="commission">Oggetto di dominio della commissione</param>
        /// <returns></returns>
        private String CommissionMembersGet(Advanced.Domain.AdvCommission commission)
        {
            string HTML = "";

            if (commission.Members != null && commission.Members.Any())
            {
                foreach (Domain.AdvMember mem in commission.Members)
                {
                    if (mem != null && mem.Member != null)
                    {
                        HTML = String.Format("{0}{1}", HTML,
                                             String.Format(CommissionMemberFormat,
                                                           mem.Member.SurnameAndName
                                                           ));
                    }
                }
            }

            return(String.Format(CommissionMemberContainerFormat,
                                 HTML));
        }
コード例 #2
0
        /// <summary>
        /// Trasforma l'oggetto di dominio "commissione" in stringa da esportare
        /// </summary>
        /// <param name="commission">Oggetto commissione</param>
        /// <returns>HTML completo</returns>
        public String CommissionData(Advanced.Domain.AdvCommission commission)
        {
            string HTML = String.Format(
                CommissionDataFormat,
                String.Format(CommissionItemFormat,
                              CommissionName,
                              commission.Name
                              ),
                String.Format(CommissionItemFormat,
                              CommissionPresident,
                              (commission.President != null) ? commission.President.SurnameAndName : "Uknow"
                              ),
                String.Format(CommissionItemFormat,
                              CommissionSecretary,
                              (commission.Secretary != null) ? commission.Secretary.SurnameAndName : "Uknow"
                              ),
                String.Format(CommissionItemFormat,
                              CommissionMember,
                              CommissionMembersGet(commission)
                              )
                );

            return(HTML);
        }
コード例 #3
0
        /// <summary>
        /// Costruttore da oggetto dominio
        /// </summary>
        /// <param name="Comm">Commissione</param>
        /// <param name="currentUserId">Id utente (per permessi)</param>
        public dtoCommissionEdit(Advanced.Domain.AdvCommission Comm, int currentUserId)
        {
            Id          = Comm.Id;
            Name        = Comm.Name;
            Description = Comm.Description;
            Status      = Comm.Status;
            President   = Comm.President;
            Secretary   = Comm.Secretary;

            EvalType     = Comm.EvalType;
            StepEvalType = (Comm.Step != null || Comm.Step.EvalType == EvalType.none) ? Comm.Step.EvalType : EvalType.Average;

            EvalMinValue  = Comm.EvalMinValue;
            EvalBoolBlock = Comm.EvalBoolBlock;

            CommissionTags = Comm.Tags;

            Members = (from Advanced.Domain.AdvMember mem
                       in Comm.Members.OrderByDescending(m => m.IsPresident).ThenBy(m => m.Member.SurnameAndName)
                       select mem.Member)
                      .ToList();

            EnableMaster = false;

            TemplateId        = Comm.TemplateId;
            TemplateVersionId = Comm.TemplateVersionId;

            if (Comm.Criteria != null)// && Comm.Criteria.Any())
            {
                Criterion = Comm.Criteria.Select(bc => new Eval.dtoCriterion(bc)).OrderBy(c => c.DisplayOrder).ThenBy(c => c.Name).ToList();
            }
            else
            {
                Criterion = new List <Eval.dtoCriterion>();
            }

            if (Comm.Step != null)
            {
                StepOrder  = Comm.Step.Order;
                StepName   = Comm.Step.Name;
                StepStatus = Comm.Step.Status;

                isEconomic = Comm.Step.Type == StepType.economics;

                if (Comm.Step.Commissions != null && Comm.Step.Commissions.Count() > 1)
                {
                    EnableMaster = true;
                }

                if (Comm.Step.Call != null)
                {
                    CallTags = Comm.Step.Call.Tags;
                }
            }
            else
            {
                StepOrder  = 0;
                StepName   = "";
                StepStatus = StepStatus.Draft;
            }

            if (Comm.Call != null)
            {
                CallName = Comm.Call.Name;
            }
            else
            {
                CallName = "";
            }

            IsMaster = Comm.IsMaster;

            Permission = CommissionPermission.None;

            //Permission!!!

            if (currentUserId > 0)
            {
                Permission = CommissionPermission.None;

                if (President.Id == currentUserId)
                {
                    Permission |= CommissionPermission.View;

                    if (Comm.Call != null)
                    {
                        if (Comm.Call.Status == CallForPapers.Domain.CallForPaperStatus.SubmissionClosed)
                        {
                            Permission |= CommissionPermission.OpenEvaluation;
                        }
                    }

                    if (Comm.Status == CommissionStatus.Closed)
                    //    || (Comm.Status & CommissionStatus.Locked) == CommissionStatus.Locked)
                    {
                        Permission |= CommissionPermission.UploadVerbale;
                    }


                    //CloseEvaluation = 1 << 7,
                    //CloseCommission = 1 << 8
                }

                if (Comm.Secretary.Id == currentUserId)
                {
                    Permission |= CommissionPermission.View
                                  | CommissionPermission.Edit
                                  | CommissionPermission.RequestIntegration;
                }


                if (Comm.Members.Any(m => m.Member.Id == currentUserId))
                {
                    if (Comm.Status != CommissionStatus.Draft)
                    {
                        Permission |= CommissionPermission.View;
                    }

                    Permission |= CommissionPermission.Evaluate;
                }
            }

            VerbaleLink = Comm.VerbaleLink;

            MaxValue = Comm.MaxValue;
        }