Exemple #1
0
        public virtual async Task <IViewComponentResult> InvokeAsync(int projectId)
        {
            ViewData["OriProjectId"] = projectId;//原始projectId,用于区分下面的关联ProjectId
            var project = await ProjectManager.GetByIdAsync(projectId);

            if (project.ProjectSource == ProjectSource.CrossMatch)
            {
                project = project.CrossProject;
            }
            var prize = await PrizeManager.GetByIdAsync(project.PrizeId);

            ProjectManager.Repository.EnsurePropertyLoaded(project, o => o.PrizeSubMajor);
            var matchInstance = await MatchInstanceManager.Repository.GetAllIncluding(o => o.Match).Where(o => o.Id == project.MatchInstanceId).FirstOrDefaultAsync();

            var matchResources = await MatchResourceManager.Repository.GetAll().Where(o => o.MajorId == prize.MajorId && o.MatchInstanceId == project.MatchInstanceId && o.MatchResourceStatus == Matches.MatchResourceStatus.Publish).ToListAsync();

            ViewData["matchInstance"]  = matchInstance;
            ViewData["matchResources"] = matchResources;
            ViewData["subMajorId"]     = project.PrizeSubMajor == null ? "" : project.PrizeSubMajor.MajorId.ToString();
            //第三级专业
            List <string> ThirdLevelMajors = new List <string>();

            if (project.PrizeSubMajor != null)
            {
                var childMajors = await MajorManager.FindChildrenAsync(null, project.MatchInstanceId, project.PrizeSubMajor.MajorId);

                ThirdLevelMajors = childMajors.OrderBy(o => o.Sort).Select(o => o.BriefName).ToList();
            }
            ViewData["ThirdLevelMajors"] = ThirdLevelMajors;
            ViewData["ProjectId"]        = project.Id;
            return(View(prize));
        }
        /// <summary>
        /// 项目申报页
        /// </summary>
        /// <param name="prizeId"></param>
        /// <param name="projectId"></param>
        /// <returns></returns>
        public async Task <IActionResult> Post(int prizeId, int?subMajorId, int?projectId)
        {
            var matchInstance = await GetCurrentMatchInstance();

            var prize = await PrizeManager.GetByIdAsync(prizeId);

            var matchResources = await MatchResourceRepository.GetAll().Where(o => o.MajorId == prize.MajorId && o.MatchInstanceId == matchInstance.Id && o.MatchResourceStatus == Matches.MatchResourceStatus.Publish).ToListAsync();

            ViewData["matchResources"] = matchResources;
            ViewData["subMajorId"]     = subMajorId == null?"":subMajorId.Value.ToString();
            ViewData["matchRemarks"]   = matchInstance.Remarks;
            ViewData["prizeRemarks"]   = prize.Remarks;

            ViewBag.ProjectId = projectId;
            //第三级专业
            List <string> ThirdLevelMajors = new List <string>();

            if (subMajorId != null)
            {
                var childMajors = await MajorManager.FindChildrenAsync(null, matchInstance.Id, subMajorId);

                ThirdLevelMajors = childMajors.OrderBy(o => o.Sort).Select(o => o.BriefName).ToList();
            }
            ViewData["ThirdLevelMajors"] = ThirdLevelMajors;
            //所有单位
            var organizations = (await OrganizationManager.FindChildrenAsync(null, true));

            ViewData["organizations"] = organizations;
            ViewData["matchInstance"] = matchInstance;
            return(View(prize));
        }
Exemple #3
0
        /// <summary>Pinta um conjunto de prémios</summary>
        private void RenderPrizes(HtmlTextWriter writer, string title, string[] array)
        {
            writer.WriteLine("<div class='planetInfoZoneTitle'><b>{0}</b></div>",
                             info.getContent(title)
                             );

            writer.WriteLine("<table class='planetFrame'>");
            writer.WriteLine("<tr class='resourceTitle'>");
            writer.WriteLine("<td class='resourceTitle'>{0}</td>", info.getContent("prize"));
            writer.WriteLine("<td class='resourceTitle'>{0}</td>", info.getContent("winner"));
            writer.WriteLine("<td class='resourceTitle'>{0}</td>", info.getContent("turn_current"));
            writer.WriteLine("</tr>");
            foreach (string prize in array)
            {
                writer.WriteLine("<tr onmouseover='overResource(this);' onmouseout='outResource(this);'>");
                writer.WriteLine("<td class='resource' valign='top'>{0}</td>", info.getContent(prize));
                PrizeManager prizes = Universe.instance.getPrizeManager(prize);
                if (prizes == null)
                {
                    writer.WriteLine("<td class='resourceCell'>?</td>");
                    writer.WriteLine("<td class='resourceCell'>?</td>");
                }
                else
                {
                    writer.WriteLine("<td class='resourceCell'>");
                    writeWinners(writer, prizes);
                    writer.WriteLine("</td>");
                    writer.WriteLine("<td class='resourceCell'>");
                    writeTurns(writer, prizes);
                    writer.WriteLine("</td>");
                }
                writer.WriteLine("</tr>");
            }
            writer.WriteLine("</table>");
        }
Exemple #4
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
Exemple #5
0
        public static void Main(string[] args)
        {
            PrizeManager.Init();

            var host = new WebHostBuilder()
                       .UseKestrel()
                       .UseContentRoot(Directory.GetCurrentDirectory())
                       .UseIISIntegration()
                       .UseStartup <Startup>()
                       .UseApplicationInsights()
                       .Build();

            host.Run();
        }
Exemple #6
0
 /// <summary>Indica os vencedores de um prémio</summary>
 private void writeWinners(HtmlTextWriter writer, PrizeManager prizes)
 {
     if (prizes.Gold != null)
     {
         writer.WriteLine(OrionGlobals.getLink(prizes.Gold.Ruler));
     }
     if (prizes.Silver != null)
     {
         writer.WriteLine("<br/>{0}", OrionGlobals.getLink(prizes.Silver.Ruler));
     }
     if (prizes.Bronze != null)
     {
         writer.WriteLine("<br/>{0}", OrionGlobals.getLink(prizes.Bronze.Ruler));
     }
     if (prizes.Last != null)
     {
         writer.WriteLine("<br/>{0}", OrionGlobals.getLink(prizes.Last.Ruler));
     }
 }
Exemple #7
0
 /// <summary>Indica os turnos de um prémio</summary>
 private void writeTurns(HtmlTextWriter writer, PrizeManager prizes)
 {
     if (prizes.Gold != null)
     {
         writer.WriteLine(prizes.Gold.Turn);
     }
     if (prizes.Silver != null)
     {
         writer.WriteLine("<br/>{0}", prizes.Silver.Turn);
     }
     if (prizes.Bronze != null)
     {
         writer.WriteLine("<br/>{0}", prizes.Bronze.Turn);
     }
     if (prizes.Last != null)
     {
         writer.WriteLine("<br/>{0}", prizes.Last.Turn);
     }
 }
Exemple #8
0
 /// <summary>Indica os turnos de um prémio</summary>
 private void writeTurns( HtmlTextWriter writer, PrizeManager prizes )
 {
     if( prizes.Gold != null ) {
         writer.WriteLine(prizes.Gold.Turn);
     }
     if( prizes.Silver != null ) {
         writer.WriteLine("<br/>{0}", prizes.Silver.Turn);
     }
     if( prizes.Bronze != null ) {
         writer.WriteLine("<br/>{0}", prizes.Bronze.Turn);
     }
     if( prizes.Last != null ) {
         writer.WriteLine("<br/>{0}", prizes.Last.Turn);
     }
 }
Exemple #9
0
 /// <summary>Indica os vencedores de um prémio</summary>
 private void writeWinners( HtmlTextWriter writer, PrizeManager prizes )
 {
     if( prizes.Gold != null ) {
         writer.WriteLine(OrionGlobals.getLink(prizes.Gold.Ruler));
     }
     if( prizes.Silver != null ) {
         writer.WriteLine("<br/>{0}", OrionGlobals.getLink(prizes.Silver.Ruler));
     }
     if( prizes.Bronze != null ) {
         writer.WriteLine("<br/>{0}", OrionGlobals.getLink(prizes.Bronze.Ruler));
     }
     if( prizes.Last != null ) {
         writer.WriteLine("<br/>{0}", OrionGlobals.getLink(prizes.Last.Ruler));
     }
 }