/// <summary> /// To export deposit log data /// </summary> /// <param name="months"></param> /// <returns></returns> public MemoryStream GetDepositLogsForSelectedMonths(string clientCode, List <DateTime> months) { try { string sWebRootFolder = ""; string sFileName = @"demo.xlsx"; FileInfo file = new FileInfo(Path.Combine(sWebRootFolder, sFileName)); var memory = new MemoryStream(); using (var fs = new FileStream(Path.Combine(sWebRootFolder, sFileName), FileMode.Create, FileAccess.Write)) { IWorkbook workbook; workbook = new XSSFWorkbook(); foreach (DateTime month in months) { string monthName = DateHelper.ToMonthName(month); ISheet excelSheet = workbook.CreateSheet(monthName); IRow row = excelSheet.CreateRow(0); BusinessModel.BusinessModels.DepositLogClientDataAmount clientDepositLogDTO = _depositLogResposiotory.GetDepositLogs(clientCode, month.Month, month.Year); int i = 0; foreach (var payer in clientDepositLogDTO.depositLogPayers) { row.CreateCell(i).SetCellValue(payer); i++; } int j = 1; foreach (var deposit in clientDepositLogDTO.depositLogData) { row = excelSheet.CreateRow(j); var list = deposit as Dictionary <string, Object>; i = 0; foreach (var payer in clientDepositLogDTO.depositLogPayers) { var value = list.FirstOrDefault(c => c.Key == payer).Value; row.CreateCell(i).SetCellValue(value.ToString()); i++; } j++; } } workbook.Write(fs); } using (var stream = new FileStream(Path.Combine(sWebRootFolder, sFileName), FileMode.Open)) { stream.CopyToAsync(memory).Wait(); } memory.Position = 0; return(memory); } catch (Exception ex) { _logger.Log(ex, LogLevel.Error, ex.Message); return(null); } }
/// <summary> /// To get ClientDeposit logs depending upon ClientCode /// </summary> /// <param name="ClientCode"></param> /// <returns></returns> public DepositLogClientDataAmountViewModel GetClientDepositLogData(string ClientCode, int month, int year) { try { DepositLogClientDataAmountViewModel depositLogClientDataAmountViewModel = null; BusinessModel.BusinessModels.DepositLogClientDataAmount clientDepositLogDTO = _depositLogResposiotory.GetDepositLogs(ClientCode, month, year); if (clientDepositLogDTO != null) { depositLogClientDataAmountViewModel = new DepositLogClientDataAmountViewModel(); depositLogClientDataAmountViewModel.DepositLogData = clientDepositLogDTO.depositLogData; depositLogClientDataAmountViewModel.DepositLogPayers = clientDepositLogDTO.depositLogPayers; return(depositLogClientDataAmountViewModel); } else { return(depositLogClientDataAmountViewModel); } } catch (Exception ex) { _logger.Log(ex, LogLevel.Error, ex.Message); return(null); } }