예제 #1
0
 public List <Ventas> ListarVentasModel()
 {
     return(VentaDAO.ListarVentas());
 }
 public PedidoController()
 {
     ventaDAO    = new VentaDAO();
     productoDAO = new ProductoDAO();
     clienteDAO  = new ClienteDAO();
 }
예제 #3
0
 public List <CabVenta> ListarVentas()
 {
     return(VentaDAO.Listar());
 }
예제 #4
0
 public VentasForm()
 {
     InitializeComponent();
     ventaDAO = new VentaDAO();
 }
예제 #5
0
        protected new void ProcesarOrden(int idOrden)
        {
            this._parametroOrden = new AuthHeaderOrder()
            {
                CompanyID  = this._conexion.CompanyID,
                MasterKey  = this._conexion.MasterKey,
                OrderID    = idOrden,
                ProducerID = this._conexion.ProducerID,
                Username   = this._conexion.Username
            };
            //this._parametroOrden.OrderID = idOrden;
            AuthReturnOrder result = this.client.GetOrder(this._parametroOrden);

            if (!this.esFacturable(result))
            {
                return;
            }
            //if (!this.CumplePoliticas(result))
            //{
            //    return;
            //}

            Order orden = result.Order;

            Job[]    jobs      = result.Jobs;
            VentaDAO venta_dao = new VentaDAO();

            bool existeVenta = venta_dao.Buscar(orden.OrderID.ToString());

            if (existeVenta)
            {
                Console.WriteLine("La orden {0} ya existe", orden.OrderID.ToString());
                return;
            }
            DAO.Lito.ClienteDAO cliente_dao = new DAO.Lito.ClienteDAO();
            //CteHonda cte = cliente_dao.BuscarCliente(orden.WebUserID.ToString());
            CtoCampoExtra cte = cliente_dao.BuscarClienteCampoExtra(orden.WebUserID.ToString());


            this.CargarDetalleCliente(cte != null?cte.Clave: "16776");

            DateTime time            = DateTime.Now;
            DateTime timeVencimiento = time.AddDays(this.Cliente.DiasVencimiento);

            #region RegistrarEnBitacoraFacturacion
            this.registrarEnBitacoraFacturacion(result);
            #endregion

            #region Llenado de Venta
            Venta venta = new Venta()
            {
                Empresa      = "LITO",
                Mov          = "Factura Electronica",
                FechaEmision = new DateTime(time.Year, time.Month, time.Day),
                //Concepto = $"SAAM {this._nombreTienda.ToUpper()}",
                Concepto    = this.Cliente.Concepto,
                Moneda      = "Pesos",
                TipoCambio  = 1.0,
                Usuario     = "MTOVAR",
                Referencia  = orden.OrderID.ToString(),
                OrdenCompra = "",
                Estatus     = "SINAFECTAR",
                Cliente     = cte != null ? cte.Clave : "16776",
                Almacen     = "AL PT",
                //Observaciones = $"SAAM {this._nombreTienda.ToUpper()}",
                Observaciones = this.Cliente.Concepto,
                //Condicion = this.condiciones,
                Condicion      = this.Cliente.Condicion,
                Vencimiento    = new DateTime(timeVencimiento.Year, timeVencimiento.Month, timeVencimiento.Day),
                AgenteComision = agenteComision.HasValue ? agenteComision : null,
                Agente         = this.Cliente.Agente,
                //Agente = this.agente, //"A.L.P.",
                //Importe = Decimal.Parse((orden.TotalPrice + orden.ShippingPrice).ToString()),
                //Impuestos = Decimal.Parse(orden.Tax1.ToString()),
                Sucursal         = 0,
                SucursalOrigen   = 0,
                Atencion         = "",
                AtencionTelefono = "",
                Clase            = "",
                Directo          = true,
                OrdenID          = orden.OrderID.ToString()
            };
            #endregion

            int id_venta = venta_dao.Insertar(venta);
            int x        = 1;

            #region  Llenado de VentaD
            foreach (Job job in jobs)
            {
                int _cantidad = job.Quantity;
                if (job.Records > 1)
                {
                    _cantidad = job.Records;
                }
                VentaD ventad = new VentaD()
                {
                    ID               = id_venta,
                    Renglon          = x * 2048,
                    RenglonID        = x,
                    SubCuenta        = $"P{x++}",
                    Cantidad         = _cantidad,
                    Almacen          = "AL PT",
                    Articulo         = job.SKU,
                    Unidad           = "pza",
                    Precio           = (job.TotalPrice / _cantidad),
                    Impuesto1        = 16,
                    DescripcionExtra = job.JobName,
                    RenglonTipo      = 'N'
                };
                venta_dao.InsertarDetalle(ventad);
            }
            #endregion

            #region Costo por pedido cuando aplique
            //if (orden.OrderFee > 0)
            //{
            //    VentaD detalleEnvio = new VentaD()
            //    {
            //        ID = id_venta,
            //        DescripcionExtra = "Costo por pedido",
            //        RenglonID = x,
            //        RenglonTipo = 'N',
            //        Renglon = x * 2048,
            //        SubCuenta = $"P{x++}",
            //        Articulo = "CostoPedido",
            //        Precio =  Math.Round(orden.OrderFee, 2),
            //        Cantidad = 1,
            //        Impuesto1 = 16,
            //        Unidad = "Servicio",
            //        Almacen = "AL PT"
            //    };
            //    venta_dao.InsertarDetalle(detalleEnvio);
            //}
            #endregion

            #region Envio
            if (orden.ShippingPrice > 0)
            {
                VentaD detalleEnvio = new VentaD()
                {
                    ID = id_venta,
                    DescripcionExtra = "Gastos de Envio",
                    RenglonID        = x,
                    RenglonTipo      = 'N',
                    Renglon          = x * 2048,
                    SubCuenta        = $"P{x}",
                    Articulo         = "EN",
                    Precio           = Math.Round(orden.ShippingPrice, 2),
                    Cantidad         = 1,
                    Impuesto1        = 16,
                    Unidad           = "Servicio",
                    Almacen          = "AL PT"
                };
                venta_dao.InsertarDetalle(detalleEnvio);
            }
            #endregion
        }
예제 #6
0
        /*public static DataTable ObtenerVenta(DateTime fechacomprobante)
         * {
         *  //return new ComprobanteDAO().ObtenerVenta(fechacomprobante);
         *  return VentaDAO.Instancia().ObtenerVenta(fechacomprobante);
         * }*/

        /* public static int ObtenerUltimaFactura()
         * {
         *   return VentaDAO.Instancia().ultimaFactura();
         * }*/

        public Venta obtenerUltimaVenta(int id)
        {
            return(VentaDAO.Instancia().nroVentaActual(id));
        }
예제 #7
0
 public String reducirStock(int id, int cantidad)
 {
     return(VentaDAO.Instancia().disminuirStock(id, cantidad));
 }
예제 #8
0
 //Metodo que se encarga de llamar al metodo ObtenerProducto
 //por codigo de la clase Venta
 public static DataTable ObtenerVenta(String correlativo, String nroDoc, int idcom)
 {
     //return new ComprobanteDAO().ObtenerVenta(numero);
     return(VentaDAO.Instancia().ObtenerVenta(correlativo, nroDoc, idcom));
 }
예제 #9
0
        //ComprobanteDAO dao = new ComprobanteDAO();
        //Comprobante ent = new Comprobante();


        /*public Boolean Guardar(Comprobante c)
         * {
         *  ComprobanteDAO dao = new ComprobanteDAO();
         *
         *  return dao.Guardar(c);
         *
         *
         *
         * }*/

        public List <Venta> Buscar(Venta c)
        {
            /*ClienteDAO dao = new ClienteDAO();
             * return dao.Buscar(c);*/
            return(VentaDAO.Instancia().Buscar(c));
        }
예제 #10
0
 public DataTable reporteVentasxDias(String FecIn, String FecFin)
 {
     return(VentaDAO.Instancia().ReporteVentasxDias(FecIn, FecFin));
 }
예제 #11
0
 public DataTable listarVentas()
 {
     return(VentaDAO.Instancia().ListarVentas());
 }
예제 #12
0
        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);
        }