protected void RegistrarBitacoraPrintTemplate(List <OrdenDTO> orden) { OrdenDAO dao = new OrdenDAO(); var ordenes = orden.GroupBy(x => new{ x.OrdenId }) .Select(g => new { ordenID = g.Key.OrdenId, items = g.Count(), detalle = g.ToList().First().Detalle }) .ToList(); try { ordenes.ForEach(_orden => { OrdenArchivos dto = new OrdenArchivos() { detalle = _orden.detalle, ordenID = _orden.ordenID.ToString(), plantillasDescargadas = (byte)orden.ToList().Count(), tienda = this._nombreTienda, fecha_descarga = DateTime.Now }; dao.registrarOrdenconArchivos(dto); }); }catch (Exception e) { Console.WriteLine("error en la insercion de la bitacora"); } }
public List <TransaccionDTO> getOrdenes() { List <TransaccionDTO> transacciones = new List <TransaccionDTO>(); foreach (FileInfo archivo in this._archivos) { string[] lines = File.ReadAllLines(archivo.FullName); foreach (string line in lines) { Transaccion tr = new Transaccion(line); if (!tr.esTransaccion()) { continue; } VentaDAO dao = new VentaDAO(); OrdenDAO _ordenDao = new OrdenDAO(); string tienda = dao.obtenerTienda(tr.WorkOrder); _ordenDao.ActualizaPago(tr.WorkOrder); transacciones.Add(new TransaccionDTO() { WorkOrden = tr.WorkOrder, Tienda = tienda } ); this._bitacoraExcel.AgregarRow(tr.WorkOrder, tienda); tr.Imprimir(); } //File.Delete(archivo.FullName); File.Move(archivo.FullName, $"{_directorio_bitacora}\\{archivo.Name}.exp"); } if (transacciones.Count > 0) { String fecha = String.Format("{0:dd-MM-yyyy_HH_mm_ss}", DateTime.Now); String mes = String.Format("{0:MMMM}", DateTime.Now); String directory = $@"{this._directorio_bitacora}\{mes}"; if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } Row cabecera = new Row(); cabecera.Append( _bitacoraExcel.ConstructCell("WorkOrder", CellValues.String), _bitacoraExcel.ConstructCell("Tienda", CellValues.String)); _bitacoraExcel.SalvarExcel($@"{directory}\{fecha}.xlsx", "informacion", cabecera); } return(transacciones); }
public void LlenarInfoGoePower() { this._conexion.StartDate = DateTime.Today.AddDays(-320); //this._conexion.StartDate = new DateTime(2018, 1, 1); this._conexion.EndDate = DateTime.Now; int[] ordenes = this.GetListaOrdenes(OrderStatuses.All); if (ordenes == null) { Console.WriteLine($"No hay ordenes por procesar en la tienda {this._nombreTienda}"); return; } Console.WriteLine($"Total de ordenes {ordenes.Length} en la tienda {this._nombreTienda}"); foreach (int orden in ordenes) { OrdenDAO ordenDao = new OrdenDAO(); ItemDAO itemDao = new ItemDAO(); ClienteDAO clienteDAO = new ClienteDAO(); string __ordenID = $"{this._nombreTienda}_{orden}"; this._parametroOrden = new AuthHeaderOrder() { CompanyID = this._conexion.CompanyID, MasterKey = this._conexion.MasterKey, OrderID = orden, ProducerID = this._conexion.ProducerID, Username = this._conexion.Username }; AuthReturnOrder result = this.client.GetOrder(this._parametroOrden); Order order = result.Order; Job[] jobs = result.Jobs; var cte = clienteDAO.BuscarClienteCampoExtra(order.WebUserID.ToString()); XElement detalleOrdenXML; // Convertir La respuesta en XML para Guardarlo en la Base de Datos try { detalleOrdenXML = result.ToXElement <AuthReturnOrder>(); } catch (Exception e) { detalleOrdenXML = null; } Orden ordendDto = new Orden() { tienda = this._nombreTienda, ordenID = __ordenID, status = order.OrderStatus, webUserID = order.WebUserID, completeDate = order.CompletedDate, orderDate = order.OrderDate, releaseDate = order.ReleaseDate, shippingDate = order.ShippingDate, Total = (float)order.TotalPrice, clienteIntelisis = cte != null ? cte.Clave : "16776", detalle = detalleOrdenXML }; var o = ordenDao.existe(__ordenID); if (o != null) { if (o.status != order.OrderStatus) { Console.WriteLine("Es diferente"); Console.WriteLine($"La orden {orden} cambio de {o.status} a {order.OrderStatus}"); ordenDao.Actualiza(ordendDto); } continue; } Console.WriteLine($"Insertando la orden {orden} de la tienda {this._nombreTienda}"); ordenDao.Agregar(ordendDto); foreach (Job job in jobs) { Console.WriteLine($"Insertando el job {job.JobID}"); int cantidad = job.Quantity; int _cantidad = cantidad; if (job.Records > 1) { _cantidad = job.Records; } Item itemDto = new Item() { cantidad = job.Quantity, descripcion = job.JobName, ordenID = __ordenID, precio = (job.Price / _cantidad), records = job.Records, sku = job.SKU, setSize = job.SetSize }; itemDao.Agregar(itemDto); } if (order.ShippingPrice > 0) { Console.WriteLine($"Insertando el envio"); Item envio = new Item() { sku = "EN", descripcion = "Gastos de Envio", cantidad = 1, precio = order.ShippingPrice, ordenID = __ordenID, setSize = 1, records = 1 }; itemDao.Agregar(envio); } } }
public List <TransaccionDTO> LeerOrdenesExcel() { this._archivos = new DirectoryInfo(_directorio).GetFiles("*.xlsx"); List <TransaccionDTO> transacciones = new List <TransaccionDTO>(); foreach (FileInfo archivo in this._archivos) { using (SpreadsheetDocument doc = SpreadsheetDocument.Open(archivo.FullName, false)) { Sheet sheet = doc.WorkbookPart.Workbook.Sheets.GetFirstChild <Sheet>(); Worksheet worksheet = (doc.WorkbookPart.GetPartById(sheet.Id.Value) as WorksheetPart).Worksheet; IEnumerable <Row> rows = worksheet.GetFirstChild <SheetData>().Descendants <Row>(); foreach (Row row in rows) { if (row.RowIndex.Value >= 3) { Cell cells = row.Descendants <Cell>().Skip(1).First(); string concepto = GetValue(doc, cells); Transaccion tr = new Transaccion(concepto); if (!tr.esTransaccion()) { continue; } VentaDAO dao = new VentaDAO(); OrdenDAO _ordenDao = new OrdenDAO(); string tienda = "Sin tienda"; //dao.obtenerTienda(tr.WorkOrder); _ordenDao.ActualizaPago(tr.WorkOrder); transacciones.Add(new TransaccionDTO() { WorkOrden = tr.WorkOrder, Tienda = tienda } ); this._bitacoraExcel.AgregarRow(tr.WorkOrder, tienda); tr.Imprimir(); } } } String fecha = String.Format("{0:dd-MM-yyyy_HH_mm_ss}", DateTime.Now); //File.Move(archivo.FullName, $"{_directorio_bitacora}\\{fecha}-{archivo.Name}"); } //if (transacciones.Count > 0) //{ // String fecha = String.Format("{0:dd-MM-yyyy_HH_mm_ss}", DateTime.Now); // String mes = String.Format("{0:MMMM}", DateTime.Now); // String directory = $@"{this._directorio_bitacora}\{mes}"; // if (!Directory.Exists(directory)) // { // Directory.CreateDirectory(directory); // } // Row cabecera = new Row(); // cabecera.Append( // _bitacoraExcel.ConstructCell("WorkOrder", CellValues.String), // _bitacoraExcel.ConstructCell("Tienda", CellValues.String)); // _bitacoraExcel.SalvarExcel($@"{directory}\{fecha}-{DateTime.Now.Millisecond}.xlsx", "informacion", cabecera); //} return(transacciones); }
static void Main(string[] args) { GuiaViewModel model = new GuiaViewModel(); ClienteDAO clienteDAO = new ClienteDAO(); OrdenDAO ordenDAO = new OrdenDAO(); GuiaDAO guiaDAO = new GuiaDAO(); Guia guia = new Guia(); model.numeroOrden = "400000255"; model.observaciones = "Cajas con contenido frágil"; var orden = ordenDAO.ObtenerPorID(model.numeroOrden); if (orden == null) { Console.WriteLine($"La orden {model.numeroOrden} no esta registrada"); return; } //if (ordenDAO.TieneGuiaAsignada(model.numeroOrden)) //{ // Console.WriteLine($"La orden {model.numeroOrden} se le asignó una guia anteriormente"); // return; //} model.paquetes = new List <PaqueteViewModel>() { new PaqueteViewModel() { peso = 1f }, new PaqueteViewModel() { peso = 1f }, new PaqueteViewModel() { peso = 1f }, new PaqueteViewModel() { peso = 1f }, new PaqueteViewModel() { peso = 1f }, new PaqueteViewModel() { peso = 1f }, new PaqueteViewModel() { peso = 1f }, new PaqueteViewModel() { peso = 1f } }; var cliente = clienteDAO.ObtenerPorID(orden.id_cliente); guia.referencia = model.numeroOrden; guia.observaciones = model.observaciones; List <Paquete> paquetes = new List <Paquete>(); int i = 1; model.paquetes.ToList().ForEach(item => { paquetes.Add(new Paquete() { alto = 1, ancho = 1, largo = 1, largoSpecified = true, altoSpecified = true, anchoSpecified = true, pesoSpecified = true, descripcion = "Paquete " + (i++), peso = item.peso, }); }); guia.paquetes = paquetes.ToArray(); guia.consignatario = new Direccion() { calle = $"{orden.calle.ToUpper()} {orden.estado.ToUpper()}", codigoPostal = int.Parse(orden.codigo_postal), codigoPostalSpecified = true, email = cliente.email.ToLower(), contacto = $"{cliente.nombre.ToUpper()} {cliente.apellidos.ToUpper()}", telefonos = new List <Telefono> { new Telefono { telefono = orden.telefono } }.ToArray() }; RedPack redpack = new RedPack(guia); guia.numeroDeGuia = guiaDAO.ObtenerGuiaDisponible(1); guia.tipoServicio = new IdDesc() { id = 1, idSpecified = true, descripcion = "EXPRESS", equivalencia = "EXPRESS" }; //guia.tipoServicio = new IdDesc() { id = 2, idSpecified = true, descripcion = "ECOEXPRESS", equivalencia = "ECOEXPRESS" }; //guia.numeroDeGuia = guiaDAO.ObtenerGuiaDisponible(2); //guia.tipoServicio = new IdDesc() { id = 2, idSpecified = true, descripcion = "ECOEXPRESS", equivalencia = "ECOEXPRESS" }; //int res= redpack.Predocumentar(); // Console.WriteLine(res); while (redpack.Predocumentar() == 58) { Console.WriteLine($"Consumiendo el numero de guia {guia.numeroDeGuia}"); guia.numeroDeGuia = guiaDAO.ObtenerGuiaDisponible(1); guiaDAO.MarcarGuiaAsignada(guia.numeroDeGuia); } string folioRecoleccion = redpack.SolicitarRecoleccionCF(); Console.WriteLine($"Generacion de Guia {guia.numeroDeGuia} con el folio { folioRecoleccion} para la orden {model.numeroOrden}"); Console.ReadLine(); }