Ejemplo n.º 1
0
        public async Task <IActionResult> ExportContractMonitoring([FromBody] ListQueryModel <ContractMonitoringQueryModel> listQuery)
        {
            if (listQuery == null)
            {
                listQuery = new ListQueryModel <ContractMonitoringQueryModel>();
            }
            if (listQuery.Model == null)
            {
                listQuery.Model = new ContractMonitoringQueryModel
                {
                    BranchId = _branchContext.Branch.Id
                }
            }
            ;

            if (listQuery.Model.BeginDate == DateTime.MinValue)
            {
                listQuery.Model.BeginDate = DateTime.Now.Date;
            }
            if (listQuery.Model.EndDate == DateTime.MinValue)
            {
                listQuery.Model.EndDate = DateTime.Now.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
            }

            listQuery.Model.BeginDate = listQuery.Model.BeginDate.Date;
            listQuery.Model.EndDate   = listQuery.Model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);

            var model = new ContractMonitoringModel
            {
                BeginDate  = listQuery.Model.BeginDate,
                EndDate    = listQuery.Model.EndDate,
                BranchName = _memberRepository.Groups(_sessionContext.UserId, null)
                             .FirstOrDefault(g => g.Type == GroupType.Branch && g.Id == listQuery.Model.BranchId)?.DisplayName,
                ProlongDayCount = listQuery.Model.ProlongDayCount,
                CollateralType  = listQuery.Model.CollateralType,
                DisplayStatus   = listQuery.Model.DisplayStatus,
                LoanCost        = listQuery.Model.LoanCost,
                List            = _contractMonitoringRepository.List(listQuery.Model).ToList(),
            };

            using (var stream = _contractMonitoringExcelBuilder.Build(model))
            {
                var fileName = await _storage.Save(stream, ContainerName.Temp, "contractMonitoring.xlsx");

                string contentType;
                new FileExtensionContentTypeProvider().TryGetContentType(fileName, out contentType);

                var fileRow = new FileRow
                {
                    CreateDate  = DateTime.Now,
                    ContentType = contentType ?? "application/octet-stream",
                    FileName    = fileName,
                    FilePath    = fileName
                };
                return(Ok(fileRow));
            }
        }
Ejemplo n.º 2
0
        public ContractMonitoringModel ContractMonitoring([FromBody] ListQueryModel <ContractMonitoringQueryModel> listQuery)
        {
            if (listQuery == null)
            {
                listQuery = new ListQueryModel <ContractMonitoringQueryModel>();
            }
            if (listQuery.Model == null)
            {
                listQuery.Model = new ContractMonitoringQueryModel
                {
                    BranchId = _branchContext.Branch.Id
                }
            }
            ;

            if (listQuery.Model.BeginDate == DateTime.MinValue)
            {
                listQuery.Model.BeginDate = DateTime.Now.Date;
            }
            if (listQuery.Model.EndDate == DateTime.MinValue)
            {
                listQuery.Model.EndDate = DateTime.Now.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
            }

            listQuery.Model.BeginDate = listQuery.Model.BeginDate.Date;
            listQuery.Model.EndDate   = listQuery.Model.EndDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);

            var model = new ContractMonitoringModel
            {
                BeginDate  = listQuery.Model.BeginDate,
                EndDate    = listQuery.Model.EndDate.Date,
                BranchName = _memberRepository.Groups(_sessionContext.UserId, null)
                             .FirstOrDefault(g => g.Type == GroupType.Branch && g.Id == listQuery.Model.BranchId)?.DisplayName,
                ProlongDayCount = listQuery.Model.ProlongDayCount,
                CollateralType  = listQuery.Model.CollateralType,
                DisplayStatus   = listQuery.Model.DisplayStatus,
                LoanCost        = listQuery.Model.LoanCost,
                List            = _contractMonitoringRepository.List(listQuery.Model).ToList(),
            };

            return(model);
        }