Ejemplo n.º 1
0
        public byte[] ExportExcel(string templete, ApplyDetailDto <ApplyRequest> model)
        {
            if (model == null)
            {
                return(null);
            }
            var list = SheetRenderer.ExtractModelToRender <ApplyDetailDto <ApplyRequest> >(model, (key, value) =>
            {
                switch (key)
                {
                default: return(value);
                }
            }).ToList();

            list.Add(new ParameterRenderer("RequestInfo_VacationDescription", model.RequestInfo.RequestInfoVacationDescription()));
            list.Add(new ParameterRenderer("RequestInfo_VacationTotalLength", model.RequestInfo.VacationTotalLength()));
            list.Add(new ParameterRenderer("UserVacationInfo_DetailDescription", model.UserVacationDescription.VacationDescription()));
            list.Add(new ParameterRenderer("Social_IsMarried", model.Social.Settle.Lover.Valid ? "已婚" : "未婚"));

            var sheetRenderers = new SheetRenderer[]
            {
                new SheetRenderer("Sheet1", list.ToArray())
            };

            return(Export.ExportToBuffer(templete, sheetRenderers));
        }
Ejemplo n.º 2
0
        public static ApplyDetailDto <Q> ToDetaiDto <T, Q>(this T model, UserVacationInfoVDto info, Q request, ApplicationDbContext context) where T : IAppliable, IHasGuidId where Q : IApplyRequestBase
        {
            if (model == null || context == null)
            {
                return(null);
            }
            var b = new ApplyDetailDto <Q>()
            {
                Base                    = model.BaseInfo.From.ToSummaryDto(),
                Company                 = model.BaseInfo.Company,
                Create                  = model.Create,
                Duties                  = model.BaseInfo.Duties,
                RequestInfo             = request,
                Response                = model.Response.Select(r => r.ToResponseDto()),
                NowStep                 = model?.NowAuditStep?.ToDtoModel(),
                Steps                   = model?.ApplyAllAuditStep?.Select(a => a.ToDtoModel()),
                AuditSolution           = model?.ApplyAuditStreamSolutionRule?.Solution?.Name ?? "已失效的审批流程",
                Id                      = model.Id,
                Social                  = model.BaseInfo.Social,
                Status                  = model.Status,
                AuditLeader             = model.AuditLeader,
                ExecuteStatus           = model.ExecuteStatus,
                MainStatus              = model.MainStatus,
                RecallId                = model.RecallId,
                ExecuteStatusId         = model.ExecuteStatusDetailId,
                UserVacationDescription = info
            };

            if (model.Status == AuditStatus.Withdrew)
            {
                b.RequestInfo = default;
            }
            return(b);
        }