internal bool AcabarVenta(PuntoDeVenta ptoDeVenta) { _ventaAct.Empresa = Empresa.Intancia(); _ventaAct.Cliente = Cliente; _ventaAct.PtoDeVenta = ptoDeVenta; _ventaAct.Comprobante = _ventaAct.GenerarComprobante(); _ventaAct.Comprobante.TipoComprobante = _ventaAct.Comprobante.ObtenerTipoComprobante(_ventaAct.Empresa, _ventaAct.Cliente); _ventaAct.TipoConcepto = TiposConceptos.Producto; _ventaAct.TipoImpuestoIVA = TiposIVA.IVA_0; _ventaAct.TipoTributo = TiposTributos.Otro; //Sistema Autorización var VicenteService = new ServiceClienteVicente(); try { var cuit = VicenteService.Autorizacion.Cuit; var sign = VicenteService.Autorizacion.Sign; var token = VicenteService.Autorizacion.Token; Empresa.Intancia().TipoDocumento = TiposDocumentos.CUIT; Empresa.Intancia().NroDocumento = cuit; Console.Write($"{cuit}, {sign}, {token}"); //Sistema AFIP var ServicioAFIP = new ServicioAFIP(Empresa.Intancia().NroDocumento, sign, token); var VerificacionEnLinea = ServicioAFIP.VerificarEnLinea(); var EstadoAppServer = VerificacionEnLinea.AppServer; var EstadoDBServer = VerificacionEnLinea.DbServer; Console.Write($"{EstadoAppServer}, {EstadoDBServer}"); if (EstadoAppServer == "OK" && EstadoDBServer == "OK") { var UltimoCompAutorizado = ServicioAFIP.ObtenerUltimaFacturaAutorizada(_ventaAct.PtoDeVenta.NroPuntoDeVenta, (int)_ventaAct.Comprobante.TipoComprobante); var NroUltimoAutorizado = UltimoCompAutorizado.CbteNro; _ventaAct.Comprobante.NroComprobante = NroUltimoAutorizado + 1; var FECAE = ServicioAFIP.AutorizarFactura(_ventaAct); _ventaAct.CAE = FECAE.FeDetResp[0].CAE; } } catch (NullReferenceException e) { Console.WriteLine(e.Message); return(false); } VicenteService.CerrarClient(); //----------------------- _turnoAct.AgregarVenta(_ventaAct); _ventaAct.RestarExistencia(); //Guardar en DB DBVentas.GuardarVenta(_ventaAct); DBComprobantes.GuardarComprobante(_ventaAct.Comprobante); //------------- return(true); }
public void Test5_TurnoConVariasVentasYCerrado() { /************* Definición *************/ var cajero = new Cajero("Santiago Martinez", 20 - 35624321 - 0, 00001, 50); var turno = new Turno(cajero); var pedido1 = new Pedido(cajero); var pedido2 = new Pedido(cajero); var rubroAgreg = new Rubro("Agregados"); var rubroSand = new Rubro("Sandwiches"); var rubroPizza = new Rubro("Pizzas"); var Agreg1 = new Producto("Lechuga", null, 0, true); var Agreg2 = new Producto("Tomate", null, 0, true); var Agreg3 = new Producto("Huevo Frito", 30, 5, true); var Agreg4 = new Producto("Jamon", null, 5, true); var Agreg5 = new Producto("Aceituna", null, 10, true); rubroAgreg.AgregarAlRubro(Agreg1); rubroAgreg.AgregarAlRubro(Agreg2); rubroAgreg.AgregarAlRubro(Agreg3); rubroAgreg.AgregarAlRubro(Agreg4); rubroAgreg.AgregarAlRubro(Agreg5); var pro1 = new Producto("Sandwiche de Milanesa", 30, 35.00); pro1.AgregarAgregado(rubroAgreg.ListaProductos[0]); pro1.AgregarAgregado(rubroAgreg.ListaProductos[1]); var pro2 = new Producto("Sandwiche de Lomito", 30, 30.00); pro2.AgregarAgregado(rubroAgreg.ListaProductos[0]); pro2.AgregarAgregado(rubroAgreg.ListaProductos[1]); pro2.AgregarAgregado(rubroAgreg.ListaProductos[2]); rubroSand.AgregarAlRubro(pro1); rubroSand.AgregarAlRubro(pro2); var pro3 = new Producto("Pizza 4 quesos", 10, 40.00); pro3.AgregarAgregado(rubroAgreg.ListaProductos[3]); pro3.AgregarAgregado(rubroAgreg.ListaProductos[4]); rubroPizza.AgregarAlRubro(pro3); var linea1 = new LineaDePedido(rubroSand.ListaProductos[0]); var linea2 = new LineaDePedido(rubroSand.ListaProductos[1], 3); var linea3 = new LineaDePedido(rubroSand.ListaProductos[1], 2); var linea4 = new LineaDePedido(rubroPizza.ListaProductos[0]); var linea5 = new LineaDePedido(rubroPizza.ListaProductos[0], 2); /************* Ejecución *************/ pedido1.AgregarLineaDeVenta(linea1); pedido1.AgregarLineaDeVenta(linea2); pedido1.AgregarLineaDeVenta(linea5); turno.AgregarVenta(pedido1); pedido2.AgregarLineaDeVenta(linea2); pedido2.AgregarLineaDeVenta(linea3); pedido2.AgregarLineaDeVenta(linea5); turno.AgregarVenta(pedido2); turno.CerrarTurno(); /************* Comprobación *************/ Assert.AreEqual(turno.Rendicion, 535); Assert.AreEqual(turno._Estado, Estados.Cerrado); }