public IActionResult Post([FromBody] SalesRangeRequestModel range) { var credentials = (from x in context.CLogid where x.CLogPortal == "PH" select x).FirstOrDefault(); var filePath = credentials.CLogRutaDescarga; if (!filePath.EndsWith(@"\")) { filePath += @"\"; } RemoveSales(range, filePath); var explorer = new AwebExplorer(); var files = explorer.OnlyDownloadSales(credentials.CLogUsuario, credentials.CLogContrasenia, range.From, range.To); WriteSales(filePath, files); return(NoContent()); }
private async Task DownloadFilesAsync() { using (var context = new PortalesPRODEntities()) { var aweb = new AwebExplorer(); var yesterday = DateTime.Today.AddDays(-1); var yesterdayStr = yesterday.ToString("ddMMyyyy"); var users = await(from x in context.cLogin where x.cLogPortal == "PH" select new User { User = x.cLogUsuario, Password = x.cLogContrasenia, DownloadPath = x.cLogRutaDescarga, Variables = (from x1 in context.cLoginPhReportVariables select new DownloadFileVariablesModel { NavUrl = x1.NavUrl, ObjIds = x1.ObjIds, ExcelFileName = x1.ExcelFileName, TypeId = (DownloadFileVariablesTypes)x1.TypeId }).ToList(), SalesVsInvParams = (from s in context.cLoginPhReportSalesInv join u in context.cLogin on s.cLogId equals u.cLogId where u.cLogUsuario == x.cLogUsuario select new DownloadFileSalesVsInvParams { Spv = s.Spv, ExcelFileName = s.ExcelFileName, InitDocumentId = s.InitDocumentId }) .ToList() }).ToListAsync(); foreach (var login in users) { #if !(DEBUG) var downloadPath = login.DownloadPath; var salesList = await aweb.DownloadAsync(login, yesterday, yesterday); #else var downloadPath = "EXCEL"; var salesList = aweb.Download(login, yesterday, yesterday); #endif MergeInvIpiFiles(ref salesList); foreach (var sales in salesList) { var fileName = sales.ExcelFileName.Replace(".xlsx", ".csv"); using (var memory = new MemoryStream(sales.ExcelContent)) { using (var excel = new ExcelPackage(memory)) { RemoveUnecesaryFields(excel); var buffer = excel.GetCsv(excel.Workbook.Worksheets.FirstOrDefault()); File.WriteAllBytes($@"{downloadPath}\{fileName}", buffer); } } #if !(DEBUG) if (context.ARCHIVOS.FirstOrDefault(x => x.FECHA == yesterdayStr && x.CLIENTE == "3" && x.ARCHIVO == fileName) == null) { context.ARCHIVOS.Add(new ARCHIVOS { FECHA = yesterdayStr, CLIENTE = "3", ARCHIVO = fileName, RUTA = downloadPath.EndsWith(@"\") ? downloadPath : $@"{downloadPath}\", TIPO = fileName.Contains("_VTA_") ? "VTA" : "INV" }); } #endif } context.SaveChanges(); } } }