public IActionResult GetXls(string no, string unitId, string categoryId, string budgetId, string prStatus, string poStatus, string productId, DateTime?dateFrom, DateTime?dateTo) { try { byte[] xlsInBytes; int offset = Convert.ToInt32(Request.Headers["x-timezone-offset"]); identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value; DateTime DateFrom = dateFrom == null ? new DateTime(1970, 1, 1) : Convert.ToDateTime(dateFrom); DateTime DateTo = dateTo == null ? DateTime.Now : Convert.ToDateTime(dateTo); var xls = facade.GenerateExcel(no, unitId, categoryId, budgetId, prStatus, poStatus, productId, dateFrom, dateTo, offset, identityService.Username); string filename = String.Format("Purchase Request - {0}.xlsx", DateTime.UtcNow.ToString("ddMMyyyy")); xlsInBytes = xls.ToArray(); var file = File(xlsInBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", filename); return(file); } catch (Exception e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result)); } }
public async Task Should_Success_GetXls_PurchaseRequest() { var dbContext = _dbContext(GetCurrentMethod()); var serviceProvider = _getServiceProvider(GetCurrentMethod()).Object; var unitPaymentOrderFacade = new UnitPaymentOrderFacade(serviceProvider, dbContext); var dataUtil = await _dataUtil(unitPaymentOrderFacade, dbContext, GetCurrentMethod()).GetTestLocalData(); var urnId = dataUtil.Items.FirstOrDefault().URNId; var urn = dbContext.UnitReceiptNotes.FirstOrDefault(f => f.Id.Equals(urnId)); var prId = urn.Items.FirstOrDefault(f => f.URNId.Equals(urn.Id)).PRId; var pr = dbContext.PurchaseRequests.FirstOrDefault(f => f.Id.Equals(prId)); var facade = new PurchaseRequestFacade(serviceProvider, dbContext); var resultExcel = facade.GenerateExcel(pr.No, pr.UnitId, pr.CategoryId, pr.BudgetId, "", "", "", null, null, 7, "Unit Test"); Assert.NotNull(resultExcel); //result = await facade.GetReport(urn.URNNo, Convert.ToInt32(urn.UnitId), Convert.ToInt32(pr.CategoryId), DateTime.Now.AddDays(-7), DateTime.Now.AddDays(7), true, It.IsAny<int>()); //Assert.NotNull(result); }