コード例 #1
0
        public ActionResult GetPageList(PageParameter param, OrderFilter filter,
                                        OrderTeamSelect Type, ReportStyle ReportStyle, string subject = "", bool IsExport = false)
        {
            filter.LangType     = SystemLanguage;
            ViewBag.ReportStyle = ReportStyle;
            string fileName = $"{Type.GetDisplayName()}-{subject}-" + string.Format("{0:MMddHHmmss}", DateTime.Now) + ".xlsx";

            if (Type == OrderTeamSelect.CompetitionUnits)
            {
                var model = itemService.GetCompetitionUnits(filter.ArticleID.Value);

                if (IsExport)
                {
                    #region dataTable
                    List <CompetitionUnitsModelAll> dt = model
                                                         .SelectMany(x => x.Members.Select(y => new CompetitionUnitsModelAll
                    {
                        Creater     = x.Creater,
                        Phone       = x.Phone,
                        Email       = x.Email,
                        County      = x.County,
                        UnitTempNo  = x.TempNo,
                        Unit        = x.Unit,
                        UnitShort   = x.UnitShort,
                        Coach       = x.Coach,
                        Leader      = x.Leader,
                        Manager     = x.Manager,
                        OrderNumber = x.OrderNumber,
                        //TotalPrice = x.TotalPrice,
                        MemberCount  = x.MemberCount,
                        MemberTempNo = y.TempNo,
                        MemberName   = y.MemberName
                    })).ToList();

                    #endregion
                    var exportResult = ExcelTool.Create(dt);
                    return(File(exportResult, "application/vnd.ms-excel", fileName));
                }

                return(PartialView("_PageList_Units", model));
            }
            else if (Type == OrderTeamSelect.CompetitionItems)
            {
                var model = itemService.GetCompetitionItems(filter.ArticleID.Value);

                if (IsExport)
                {
                    #region dataTable
                    List <CompetitionItemsModelAll> dt = model
                                                         .SelectMany(x => x.Teams.SelectMany(y => y.Members.Select(z => new CompetitionItemsModelAll
                    {
                        Subject   = x.Subject,
                        Option    = x.Option,
                        TeamCount = x.TeamCount,

                        DetailTeamName = y.DetailTeamName,
                        FilePath       = y.FilePath,
                        DetailPrice    = y.DetailPrice,
                        DiscountPrice  = y.DiscountPrice,

                        TempNo     = z.TempNo,
                        MemberName = z.MemberName,
                        Unit       = z.Unit
                    }))).ToList();
                    #endregion
                    var exportResult = ExcelTool.Create(dt);
                    return(File(exportResult, "application/vnd.ms-excel", fileName));
                }

                return(PartialView("_PageList_Items", model));
            }
            else if (Type == OrderTeamSelect.CompetitionMembers)
            {
                var model = itemService.GetCompetitionMembers(filter.ArticleID.Value);

                if (IsExport)
                {
                    #region dataTable
                    List <CompetitionMemberItemAll> dt = model
                                                         .SelectMany(x => x.Items.Select(y => new CompetitionMemberItemAll
                    {
                        TempNo        = x.TempNo,
                        MemberName    = x.MemberName,
                        IdentityCard  = x.IdentityCard,
                        Birthday      = x.Birthday,
                        Gender        = x.Gender,
                        County        = x.County,
                        UnitTempNo    = x.UnitTempNo,
                        Unit          = x.Unit,
                        Coach         = x.Coach,
                        ItemCount     = x.ItemCount,
                        Subject       = y.Subject,
                        Option        = y.Option,
                        DetailPrice   = y.DetailPrice,
                        DiscountPrice = y.DiscountPrice
                    })).ToList();

                    #endregion
                    var exportResult = ExcelTool.Create(dt);
                    return(File(exportResult, "application/vnd.ms-excel", fileName));
                }

                return(PartialView("_PageList_Members", model));
            }
            else
            {
                var structure = structureService.Get(filter.StructureID);
                ViewBag.Structure = structure;

                var model = service.GetTeamList(param, filter);
                return(PartialView("_PageList", model));
            }
        }