pagoelectronico grupos
This commit is contained in:
@@ -2,7 +2,13 @@
|
||||
|
||||
using System;
|
||||
using System.Web;
|
||||
using Extensiones;
|
||||
using Extensiones;
|
||||
using System.Net;
|
||||
using System.IO;
|
||||
using System.Web.Services;
|
||||
using System.Web.Services.Protocols;
|
||||
using GemBox.Spreadsheet;
|
||||
using System.Data;
|
||||
|
||||
public class TareasJam : IHttpHandler
|
||||
{
|
||||
@@ -33,11 +39,148 @@ public class TareasJam : IHttpHandler
|
||||
}
|
||||
context.Response.End();
|
||||
//ModExtensiones.GuardaLogAD(string.Format("{3} CveEmpresa={0} cveTareaProgramada={1} CveTareaProgramadaHistorial={2}", CveEmpresa, cveTareaProgramada, CveTareaProgramadaHistorial, Metodo), "Tareas Programadas");
|
||||
}
|
||||
public bool EjecutaThalamus(int CveEmpresa)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
private bool EjecutaThalamus(int CveEmpresa)
|
||||
{
|
||||
|
||||
|
||||
string RutaArchivoVentas = $@"C:\Temp\Ventas{DateTime.Now.ToString("yyyyMMdd")}.xlsx";
|
||||
var DTVentas = new DataTable();
|
||||
DTVentas.Columns.Add("systemId");
|
||||
DTVentas.Columns.Add("Branch");
|
||||
DTVentas.Columns.Add("Code");
|
||||
DTVentas.Columns.Add("Sale Date");
|
||||
DTVentas.Columns.Add("Quantity");
|
||||
DTVentas.Columns.Add("Amount");
|
||||
DTVentas.Columns.Add("Transaction ID");
|
||||
for (int x = 0; x <= 50; x++)
|
||||
{
|
||||
DataRow dr = DTVentas.NewRow();
|
||||
dr[0] = $"systemId {x}";
|
||||
dr[1] = $"Branch {x}";
|
||||
dr[2] = $"{x}";
|
||||
dr[3] = $"{ DateTime.Now.ToString("yyyy-MM-dd")}";
|
||||
dr[4] = $"{x}";
|
||||
dr[5] = $"{x}.00";
|
||||
dr[6] = $"{x}";
|
||||
DTVentas.Rows.Add(dr);
|
||||
}
|
||||
|
||||
SpreadsheetInfo.SetLicense(Extensiones.ModExtensiones.SerialGemBoxSpreadsheet());
|
||||
var workbook = new ExcelFile();
|
||||
var worksheet = workbook.Worksheets.Add("Ventas");
|
||||
worksheet.InsertDataTable(DTVentas, new InsertDataTableOptions()
|
||||
{
|
||||
ColumnHeaders = true,
|
||||
StartRow = 0
|
||||
});
|
||||
workbook.Save(RutaArchivoVentas);
|
||||
string FTPServer = "ftp://127.0.0.1/";
|
||||
string TFPUsr = "Toor";
|
||||
string FTPPass = "agj-3500";
|
||||
var FInfo = new FileInfo(RutaArchivoVentas);
|
||||
bool Carga = CargarArchivos(FInfo.FullName, FTPServer, TFPUsr, FTPPass);
|
||||
if (Carga)
|
||||
{
|
||||
Carga = VerificarArchivo(FInfo.Name, FInfo.Length, FTPServer, TFPUsr, FTPPass);
|
||||
}
|
||||
|
||||
return Carga;
|
||||
|
||||
}
|
||||
|
||||
|
||||
private bool CargarArchivos(string RutaArchivo, string FTPServer, string FTPUsr, string FTPPass)
|
||||
{
|
||||
bool Respuesta;
|
||||
var FInfo = new FileInfo(RutaArchivo);
|
||||
if (FInfo.Exists)
|
||||
{
|
||||
FtpWebRequest request = (FtpWebRequest)WebRequest.Create($"{FTPServer}/{FInfo.Name}");
|
||||
request.Method = WebRequestMethods.Ftp.UploadFile;
|
||||
int tamanio = 1024;
|
||||
var buffer = new byte[tamanio + 1];
|
||||
int byteRead = 0;
|
||||
bool Conected = false;
|
||||
request.Credentials = new NetworkCredential(FTPUsr, FTPPass);
|
||||
try
|
||||
{
|
||||
request.GetResponse();
|
||||
Conected = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
}
|
||||
|
||||
if (Conected)
|
||||
{
|
||||
Stream ftpStream;
|
||||
FileStream f;
|
||||
ftpStream = request.GetRequestStream();
|
||||
f = File.OpenRead(FInfo.FullName);
|
||||
try
|
||||
{
|
||||
do
|
||||
{
|
||||
byteRead = f.Read(buffer, 0, tamanio);
|
||||
ftpStream.Write(buffer, 0, byteRead);
|
||||
}
|
||||
while (byteRead != 0);
|
||||
Respuesta = true;
|
||||
}
|
||||
// validar si existe archivo si coincide en tamaño
|
||||
catch (Exception ex)
|
||||
{
|
||||
Respuesta = false;
|
||||
}
|
||||
|
||||
if (f is object)
|
||||
{
|
||||
f.Close();
|
||||
}
|
||||
|
||||
if (ftpStream is object)
|
||||
{
|
||||
ftpStream.Close();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Respuesta = false;
|
||||
// no se conecto al ftp probablemente credenciales erroneas
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Respuesta = false;
|
||||
// El archivo no existe en el disco local
|
||||
}
|
||||
|
||||
return Respuesta;
|
||||
}
|
||||
|
||||
|
||||
private bool VerificarArchivo(string Archivo, long Tamanio, string FTPServer, string FTPUsr, string FTPPass)
|
||||
{
|
||||
bool Respuesta = false;
|
||||
FtpWebRequest reqSize = (FtpWebRequest)FtpWebRequest.Create(new Uri(FTPServer + Archivo));
|
||||
reqSize.Credentials = new NetworkCredential(FTPUsr, FTPPass);
|
||||
reqSize.Method = WebRequestMethods.Ftp.GetFileSize;
|
||||
reqSize.UseBinary = true;
|
||||
FtpWebResponse loginresponse = (FtpWebResponse)reqSize.GetResponse();
|
||||
FtpWebResponse respSize = (FtpWebResponse)reqSize.GetResponse();
|
||||
respSize = (FtpWebResponse)reqSize.GetResponse();
|
||||
long size = respSize.ContentLength;
|
||||
respSize.Close();
|
||||
if (Tamanio == size)
|
||||
{
|
||||
Respuesta = true;
|
||||
}
|
||||
|
||||
return Respuesta;
|
||||
}
|
||||
|
||||
|
||||
public bool IsReusable
|
||||
{
|
||||
get { return false; }
|
||||
|
||||
Reference in New Issue
Block a user