Example #1
0
        private void RealizarSenia()
        {
            ProveedorSenia senia = new ProveedorSenia();

            senia.Id                     = Guid.NewGuid();
            senia.ProveedorId            = _proveedor.Id;
            senia.FechaAlta              = _clock.Now;
            senia.FechaModificacion      = _clock.Now;
            senia.Importe                = UcTotalesSeña.TotalPagar;
            senia.ImporteUsado           = 0;
            senia.OperadorAltaId         = Context.OperadorActual.Id;
            senia.SucursalAltaId         = Context.SucursalActual.Id;
            senia.OperadorModificacionId = Context.OperadorActual.Id;
            senia.SucursalModificacionId = Context.SucursalActual.Id;

            if (UcTotalesSeña.HayPagosConCajaAnterior)
            {
                var operador = this.ObtenerOperadorAdministrador();

                if (operador == null)
                {
                    return;
                }
            }

            _proveedorNegocio.CrearSeniaProveedor(senia,
                                                  UcTotalesSeña.Pagos,
                                                  this.Context.CajaActual,
                                                  this.Context.OperadorActual.Id,
                                                  this.Context.SucursalActual.Id);

            _messageBoxDisplayService.ShowSuccess(Resources.MessageSuccessSeniaExitosa);

            ReiniciarForm();
        }
Example #2
0
        private void BtnGuardar_Click(object sender, EventArgs e)
        {
            var operador = this.ObtenerOperadorAdministrador();

            if (operador == null)
            {
                return;
            }

            _operadorIdAutoriza = !this.EsOperadorAdmin ? (Guid?)operador.Id : null;

            _venta.OperadorAutoriza = _operadorIdAutoriza;

            if (RbtnCredito.IsChecked)
            {
                GenerarClienteMontoFavor();



                ActualizarVentasDetalle(_notaCreditoId);

                Uow.Commit();

                _messageBoxDisplayService.ShowSuccess("Devolución generada con éxito");

                var crearComprobante = FormFactory.Create <FrmComprobante>();
                crearComprobante._concepto  = "Crédito por devolución";
                crearComprobante._LCN       = _lcn;
                crearComprobante._formaPago = FormaPagoDescripcion();

                var conv = new Conversion();
                crearComprobante._montoTexto = conv.enletras(Total.ToString());

                crearComprobante.Show();
            }

            if (RbtnEgreso.IsChecked)
            {
                //Guardar Gasto??
                ActualizarVentasDetalle(null);

                ActualizarCaja();

                Uow.Commit();

                _messageBoxDisplayService.ShowSuccess("Devolución generada con éxito");
            }

            //var pageTab = this.Parent as RadPageViewPage;
            //if (pageTab != null)
            //{
            //    pageTab.Dispose();
            //};
            Limpiar();
        }
Example #3
0
        private void UcBuscadorFacturaOnBuscarFinished(object sender, List <VentaDetalleDto> ventaDetalles)
        {
            if (ventaDetalles != null)
            {
                _ventaDetalleDto = ventaDetalles;
                var ventaId = ventaDetalles.First().VentaId;
                _venta = Uow.Ventas.Obtener(v => v.Id == ventaId, v => v.Cliente);

                ActualizarDetalleFactura(ventaDetalles);
                CargarDatosFactura();
            }
            else
            {
                Limpiar();
                _messageBoxDisplayService.ShowSuccess("No se encontró factura con ese número");
            }
        }
Example #4
0
        private void BtnGuardar_Click(object sender, EventArgs e)
        {
            if (Monto != UcTotalesSenia.TotalPagar)
            {
                _messageBoxDisplayService.ShowError("Los montos no coiniden");
                return;
            }

            int sucursal = 1;
            ClienteMontoFavor clienteMontoFavor = new ClienteMontoFavor();

            clienteMontoFavor.Id                = Guid.NewGuid();
            clienteMontoFavor.ClienteId         = _cliente.Id;
            clienteMontoFavor.FechaComprobante  = _clock.Now;
            clienteMontoFavor.TipoComprobanteId = TipoComprobanteEnum.SeñaCliente;
            clienteMontoFavor.LCN               = "R" + sucursal.ToString().PadLeft(4, '0') + CalcularLCN().PadLeft(8, '0');
            clienteMontoFavor.Concepto          = "Seña " + clienteMontoFavor.LCN;
            clienteMontoFavor.Importe           = UcTotalesSenia.TotalPagar;
            clienteMontoFavor.ImpOcupado        = 0;
            clienteMontoFavor.Observaciones     = TipoComprobanteEnum.SeñaCliente.ToString();
            clienteMontoFavor.FechaAlta         = _clock.Now;
            clienteMontoFavor.OperadorAltaId    = Context.OperadorActual.Id;
            clienteMontoFavor.SucursalAltaId    = 2;

            Uow.ClientesMontosFavor.Agregar(clienteMontoFavor);

            Uow.Commit();

            _messageBoxDisplayService.ShowSuccess("Seña generada con éxito");

            var crearSenia = FormFactory.Create <FrmComprobante>();

            crearSenia._concepto = "Seña de Cliente";
            crearSenia._LCN      = clienteMontoFavor.LCN;
            var conv = new Conversion();

            crearSenia._montoTexto = conv.enletras(UcTotalesSenia.TotalPagar.ToString());
            //crearSenia._montoTexto = "cien";
            //crearSenia.Show();

            BuscarHistorial();
            Limpiar();
        }
Example #5
0
        private void RealizarPresupuesto()
        {
            _presupuesto.Id             = Guid.NewGuid();
            _presupuesto.Fecha          = _clock.Now;
            _presupuesto.Concepto       = "PRESUPUESTO DE LIBROS";
            _presupuesto.LCN            = TxtNroPresupuesto.Text;
            _presupuesto.ClienteId      = _cliente.Id;
            _presupuesto.Descuento      = UcTotalesPresupuesto.Descuento;
            _presupuesto.Total          = UcTotalesPresupuesto.TotalPagar;
            _presupuesto.FechaAlta      = _clock.Now;
            _presupuesto.SucursalAltaId = Context.SucursalActual.Id;
            _presupuesto.OperadorAltaId = Context.OperadorActual.Id;

            Uow.Presupuesto.Agregar(_presupuesto);

            //VENTA DETALLE
            foreach (var titulo in UcTitulosVenta.Titulos.OrderBy(t => t.TituloNombre))
            {
                PresupuestosDetalle presupuestoDetalle = new PresupuestosDetalle();

                presupuestoDetalle.Id             = Guid.NewGuid();
                presupuestoDetalle.PresupuestoId  = _presupuesto.Id;
                presupuestoDetalle.TituloId       = titulo.TituloId;
                presupuestoDetalle.Cantidad       = titulo.Cantidad;
                presupuestoDetalle.Precio         = titulo.SubTotal;
                presupuestoDetalle.FechaAlta      = _clock.Now;
                presupuestoDetalle.SucursalAltaId = Context.SucursalActual.Id;
                presupuestoDetalle.OperadorAltaId = (Context.OperadorActual.Id);

                Uow.PresupuestoDetalle.Agregar(presupuestoDetalle);
            }

            Uow.Commit();

            _messageBoxDisplayService.ShowSuccess("Presupuesto Generado.");

            using (var crearPresupuesto = FormFactory.Create <FrmComprobantePresupuesto>(_presupuesto.Id))
            {
                crearPresupuesto._descripcion = "";
                crearPresupuesto._formaPago   = "";
                crearPresupuesto._recargo     = "";
                crearPresupuesto.ShowDialog();
            }
        }
Example #6
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            var esValido = this.ValidarForm();

            if (!esValido)
            {
                this.DialogResult = DialogResult.None;
            }
            else
            {
                var model = GetOrder();
                var order = model.ToOrder();

                using (var service = _serviceFactory.Create <IOrderService>())
                {
                    service.Create(order);
                    ResetControls();
                    _messageBoxDisplayService.ShowSuccess("La venta se realizó correctamente.");
                }
            }
        }
Example #7
0
        private async void BtnGuardar_Click(object sender, EventArgs e)
        {
            if (UcRoles.Role == null)
            {
                return;
            }

            var roleId             = UcRoles.Role.Id;
            var funcionesAsignadas = LbSelectedItems.DataSource as List <Funcion>;

            await Task.Run(() =>
            {
                var role = Uow.Roles.Obtener(r => r.Id == roleId, r => r.Funciones);

                role.Funciones.Clear();

                role.Funciones = funcionesAsignadas;

                Uow.Commit();
            });

            _messageBoxDisplayService.ShowSuccess(Resources.MessageSucessAsignarFuncionesARoles);
        }
        private void RealizarVenta()
        {
            RendirConsignacionClienteData consignacionData = new RendirConsignacionClienteData();

            consignacionData.EsVentaReservada  = _formMode == ActionFormMode.Edit;
            consignacionData.OperadorId        = Context.OperadorActual.Id;
            consignacionData.SucursalId        = Context.SucursalActual.Id;
            consignacionData.NumeroComprobante = _id;
            consignacionData.ClienteId         = _cliente.Id;

            consignacionData.TipoComprobanteSeleccionado    = UcBuscadorConsignacion.TipoComprobanteSeleccionado;
            consignacionData.CondicionVentaSeleccionada     = UcBuscadorConsignacion.CondicionVentaSeleccionada;
            consignacionData.TipoCajaMovimientoSeleccionado = UcBuscadorConsignacion.TipoCajaMovimientoSeleccionado;

            consignacionData.TotalPagar         = UcTotalesVenta.TotalPagar;
            consignacionData.Senas              = UcTotalesVenta.Senas;
            consignacionData.CreditosDevolucion = UcTotalesVenta.CreditosDevolucion;

            UcTitulosConsignacionVenta.ActualizarInfo();
            consignacionData.RemitosVentaDetalle = UcTitulosConsignacionVenta.Titulos;

            consignacionData.CajaActualId = Context.CajaActual.Id;
            consignacionData.Anticipo     = UcCuentaCorrienteInfo.Anticipo;
            //consignacionData.SubTotal = UcCuentaCorrienteInfo.SubTotal;
            consignacionData.SubTotal = UcTotalesVenta.SubTotal;

            consignacionData.Pagos            = UcTotalesVenta.Pagos;
            consignacionData.Cuotas           = UcCuentaCorrienteInfo.Cuotas;
            consignacionData.Montocuota       = UcCuentaCorrienteInfo.Montocuota;
            consignacionData.VencimientoCuota = UcCuentaCorrienteInfo.Vencimiento;
            consignacionData.PcAlta           = Environment.MachineName;
            consignacionData.PuntoVenta       = Context.SucursalActual.SucursalNumero ?? 1;

            CrearVentaResponse ventaResponse;

            try
            {
                ventaResponse = _ventaNegocio.CrearVentaRendicionConsignacionCliente(consignacionData);
            }
            catch (ApplicationException ex)
            {
                _messageBoxDisplayService.ShowError(ex.Message);
                return;
            }

            //if (ventaResponse.Comprobantes.Count != 0)
            //{
            foreach (var comprobante in ventaResponse.Comprobantes)
            {
                using (var crearComprobante = FormFactory.Create <FrmComprobante>())
                {
                    crearComprobante._concepto = comprobante.Concepto;
                    crearComprobante._LCN      = comprobante.LCN;
                    var conv = new Conversion();
                    crearComprobante._montoTexto       = conv.enletras((comprobante.Importe - comprobante.ImpOcupado).ToString());
                    crearComprobante._montoActualizado = (comprobante.Importe - comprobante.ImpOcupado);
                    crearComprobante.ShowDialog();
                }
            }

            //  _messageBoxDisplayService.ShowSuccess(Resources.MessageSuccessVentaExitosa);

            if (ChkImprimir.Checked)
            {
                DirectPrint print = new DirectPrint(Uow);
                print.Descripcion = ventaResponse.FacturaInfo.Descripcion;
                print.FormaPago   = ventaResponse.FacturaInfo.FormaPago;
                print.Recargo     = UcTotalesVenta.Recargo.ToString();
                print.GenerarFactura(ventaResponse.VentaId);
            }

            using (var crearVenta = FormFactory.Create <FrmFacturaVenta>(ventaResponse.VentaId))
            {
                if (ventaResponse.VentaId != Guid.Empty)
                {
                    crearVenta._descripcion = ventaResponse.FacturaInfo.Descripcion;
                    crearVenta._formaPago   = ventaResponse.FacturaInfo.FormaPago;
                    crearVenta._recargo     = UcTotalesVenta.Recargo.ToString();

                    crearVenta.ShowDialog();
                }
            }

            OnVentaRealizada();
            //}
            //else
            //{
            _messageBoxDisplayService.ShowSuccess("Rendición guardada con éxito");
            //}

            var pageTab = this.Parent as RadPageViewPage;

            if (pageTab != null)
            {
                pageTab.Dispose();
            }
            ;

            if (_formMode == ActionFormMode.Edit)
            {
                this.Close();
            }
        }
Example #9
0
        private void RealizarVenta()
        {
            CrearVentaData ventaData = new CrearVentaData();

            ventaData.EsVentaReservada  = _formMode == ActionFormMode.Edit;
            ventaData.OperadorId        = Context.OperadorActual.Id;
            ventaData.SucursalId        = Context.SucursalActual.Id;
            ventaData.NumeroComprobante = _id;
            ventaData.ClienteId         = _cliente.Id;

            ventaData.TipoComprobanteSeleccionado    = UcBuscadorCliente.TipoComprobanteSeleccionado;
            ventaData.CondicionVentaSeleccionada     = UcBuscadorCliente.CondicionVentaSeleccionada;
            ventaData.TipoCajaMovimientoSeleccionado = UcBuscadorCliente.TipoCajaMovimientoSeleccionado;

            ventaData.TotalPagar         = UcTotalesVenta.TotalPagar;
            ventaData.Senas              = UcTotalesVenta.Senas;
            ventaData.CreditosDevolucion = UcTotalesVenta.CreditosDevolucion;

            ventaData.Titulos = UcTitulosVenta.Titulos;

            ventaData.CajaActualId = Context.CajaActual.Id;
            ventaData.Anticipo     = UcCuentaCorrienteInfo.Anticipo;
            ventaData.SubTotal     = UcTotalesVenta.SubTotal;

            ventaData.Pagos            = UcTotalesVenta.Pagos;
            ventaData.Cuotas           = UcCuentaCorrienteInfo.Cuotas;
            ventaData.Montocuota       = UcCuentaCorrienteInfo.Montocuota;
            ventaData.VencimientoCuota = UcCuentaCorrienteInfo.Vencimiento;
            ventaData.PcAlta           = Environment.MachineName;
            ventaData.PuntoVenta       = Context.SucursalActual.SucursalNumero ?? 1;
            CrearVentaResponse ventaResponse;

            try
            {
                ventaResponse = _ventaNegocio.CrearVenta(ventaData);
            }
            catch (ApplicationException ex)
            {
                _messageBoxDisplayService.ShowError(ex.Message);
                return;
            }

            foreach (var comprobante in ventaResponse.Comprobantes)
            {
                using (var crearComprobante = FormFactory.Create <FrmComprobante>())
                {
                    crearComprobante._concepto = comprobante.Concepto;
                    crearComprobante._LCN      = comprobante.LCN;
                    var conv = new Conversion();
                    crearComprobante._montoTexto       = conv.enletras((comprobante.Importe - comprobante.ImpOcupado).ToString());
                    crearComprobante._montoActualizado = (comprobante.Importe - comprobante.ImpOcupado);
                    crearComprobante.ShowDialog();
                }
            }

            _messageBoxDisplayService.ShowSuccess(Resources.MessageSuccessVentaExitosa);

            if (ChkImprimir.Checked)
            {
                _directPrint.Descripcion = ventaResponse.FacturaInfo.Descripcion;
                _directPrint.FormaPago   = ventaResponse.FacturaInfo.FormaPago;
                _directPrint.Recargo     = UcTotalesVenta.Recargo.ToString();
                _directPrint.GenerarFactura(ventaResponse.VentaId);
            }

            using (var crearVenta = FormFactory.Create <FrmFacturaVenta>(ventaResponse.VentaId))
            {
                crearVenta._descripcion = ventaResponse.FacturaInfo.Descripcion;
                crearVenta._formaPago   = ventaResponse.FacturaInfo.FormaPago;
                crearVenta._recargo     = UcTotalesVenta.Recargo.ToString();

                crearVenta.ShowDialog();
            }

            OnVentaRealizada();

            if (_formMode == ActionFormMode.Edit)
            {
                this.Close();
            }

            //LimpiarFormularioVenta();
        }
Example #10
0
        private void BtnGuardar_Click(object sender, EventArgs e)
        {
            if (Monto != UcTotalesSenia.TotalPagar)
            {
                _messageBoxDisplayService.ShowError("Los montos no coinciden");
                return;
            }

            if (this.UcTotalesSenia.Pagos.Count == 0)
            {
                _messageBoxDisplayService.ShowError("Debe agregar una seña.");
                return;
            }

            Guid operadorAutoriza = Guid.Empty;

            if (_formMode == ActionFormMode.Edit)
            {
                //////Autorizacion para sin movimiento
                var operador = this.ObtenerOperadorAdministrador();

                if (operador == null)
                {
                    return;
                }

                if (!this.EsOperadorAdmin)
                {
                    //Guardamos el operador que autorizo la operacion.
                    operadorAutoriza = operador.Id;
                }
            }

            //TODO: Reemplzar el numero cuando se agrege la columna a sucursal.
            int numeroDeSucursal = Context.SucursalActual.SucursalNumero ?? 1;

            ClienteMontoFavor clienteMontoFavor = new ClienteMontoFavor();

            clienteMontoFavor.Id                = Guid.NewGuid();
            clienteMontoFavor.ClienteId         = _cliente.Id;
            clienteMontoFavor.FechaComprobante  = _clock.Now;
            clienteMontoFavor.TipoComprobanteId = TipoComprobanteEnum.SeñaCliente;
            clienteMontoFavor.LCN               = "R" + numeroDeSucursal.ToString().PadLeft(4, '0') + CalcularLCN().PadLeft(8, '0');
            clienteMontoFavor.Concepto          = "Seña " + clienteMontoFavor.LCN;
            clienteMontoFavor.Importe           = UcTotalesSenia.TotalPagar;
            clienteMontoFavor.ImpOcupado        = 0;
            clienteMontoFavor.Observaciones     = TipoComprobanteEnum.SeñaCliente.ToString();
            clienteMontoFavor.FechaAlta         = _clock.Now;
            clienteMontoFavor.OperadorAltaId    = Context.OperadorActual.Id;
            clienteMontoFavor.SucursalAltaId    = Context.SucursalActual.Id;
            if (operadorAutoriza != Guid.Empty)
            {
                clienteMontoFavor.OperadorAutoriza = operadorAutoriza;
            }

            Uow.ClientesMontosFavor.Agregar(clienteMontoFavor);

            //Si el Form=Editar significa que es SinGuardar los movimientos de caja
            if (_formMode == ActionFormMode.Create)
            {
                //ActualizarCaja y CajaMovimiento
                Caja caja = this.Context.CajaActual;
                if (caja.Egresos == null)
                {
                    caja.Egresos = 0;
                }
                caja.Ingresos              += (float?)UcTotalesSenia.TotalPagar;
                caja.Saldo                 += (float?)UcTotalesSenia.TotalPagar;
                caja.FechaModificacion      = _clock.Now;
                caja.SucursalModificacionId = Context.SucursalActual.Id;   //Sucursal del operador
                caja.OperadorModificacionId = (Context.OperadorActual.Id); //Id el operador

                Uow.Cajas.Modificar(caja);

                CajaMovimiento cajaMovimiento = new CajaMovimiento();
                cajaMovimiento.Id     = Guid.NewGuid();
                cajaMovimiento.CajaId = caja.Id;
                cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.SeñaCliente;
                cajaMovimiento.TipoComprobante      = TipoComprobanteEnum.SeñaCliente;
                cajaMovimiento.ComprobanteId        = clienteMontoFavor.Id;
                cajaMovimiento.Importe        = UcTotalesSenia.TotalPagar;
                cajaMovimiento.FechaAlta      = _clock.Now;
                cajaMovimiento.OperadorAltaId = Context.OperadorActual.Id;
                cajaMovimiento.SucursalAltaId = Context.SucursalActual.Id;
                cajaMovimiento.PcAlta         = Environment.MachineName;
                //tipos de pagos
                foreach (VentaPago pago in UcTotalesSenia.Pagos)
                {
                    switch (pago.TipoPago)
                    {
                    case FormaPago.Efectivo:
                        cajaMovimiento.Efectivo = pago.Importe;
                        break;

                    case FormaPago.Tarjeta:
                        var pagoTarjeta = pago as VentaPagoTarjeta;
                        if (cajaMovimiento.Tarjeta == null)
                        {
                            cajaMovimiento.Tarjeta = 0;
                        }

                        cajaMovimiento.Tarjeta += pago.Importe;
                        //GUARDAR TARJETA MOVIMIENTO
                        TarjetasMovimiento tarjetasMovimiento = new TarjetasMovimiento();
                        tarjetasMovimiento.CajaMovimientoId = cajaMovimiento.Id;
                        tarjetasMovimiento.TarjetaId        = pagoTarjeta.TarjetaId ?? 0;
                        tarjetasMovimiento.LoteCupon        = pagoTarjeta.CuponNumero;
                        tarjetasMovimiento.Fecha            = _clock.Now;
                        tarjetasMovimiento.Importe          = (float)pago.Importe;
                        tarjetasMovimiento.Estado           = 1;                           // No se
                        tarjetasMovimiento.FechaAlta        = _clock.Now;
                        tarjetasMovimiento.SucursalAltaId   = Context.SucursalActual.Id;   //Sucursal del operador
                        tarjetasMovimiento.OperadorAltaId   = (Context.OperadorActual.Id); //Id el operador

                        Uow.TarjetasMovimientos.Agregar(tarjetasMovimiento);
                        break;

                    case FormaPago.Cheque:
                        var pagoCheque = pago as VentaPagoCheque;

                        if (cajaMovimiento.Cheque == null)
                        {
                            cajaMovimiento.Cheque = 0;
                        }

                        cajaMovimiento.Cheque += pago.Importe;

                        ChequesTercero chequesTercero = new ChequesTercero();
                        chequesTercero.Id = Guid.NewGuid();
                        chequesTercero.CajaMovimientoId = cajaMovimiento.Id;
                        chequesTercero.BancoId          = pagoCheque.BancoId ?? 0;
                        chequesTercero.NroCheque        = pagoCheque.Numero;
                        chequesTercero.Fecha            = _clock.Now;
                        chequesTercero.FechaCobro       = _clock.Now;
                        chequesTercero.Importe          = (float)pago.Importe;
                        chequesTercero.FechaAlta        = _clock.Now;
                        chequesTercero.SucursalAltaId   = Context.SucursalActual.Id;
                        chequesTercero.OperadorAltaId   = (Context.OperadorActual.Id);

                        Uow.ChequesTerceros.Agregar(chequesTercero);
                        break;

                    case FormaPago.Deposito:
                        var pagoDeposito = pago as VentaPagoDeposito;
                        if (cajaMovimiento.Deposito == null)
                        {
                            cajaMovimiento.Deposito = 0;
                        }

                        //Guardar Cuentas Movimientos
                        cajaMovimiento.Deposito += pago.Importe;

                        CuentasMovimiento cuentasMovimiento = new CuentasMovimiento();
                        cuentasMovimiento.CuentaId                 = pagoDeposito.CuentaId ?? 0;
                        cuentasMovimiento.TipoMovimientoId         = 2; //Deposito
                        cuentasMovimiento.FechaMovimiento          = pagoDeposito.Fecha;
                        cuentasMovimiento.EstadoMovimientoCuentaId = 0;
                        cuentasMovimiento.TipoComprobanteId        = TipoComprobanteEnum.SeñaCliente;
                        cuentasMovimiento.ComprobanteId            = clienteMontoFavor.Id;
                        cuentasMovimiento.MonedaId                 = 0;
                        cuentasMovimiento.CondicionVentaId         = CondicionVentaEnum.Contado;
                        cuentasMovimiento.NroMovimiento            = pagoDeposito.Numero;
                        cuentasMovimiento.Descripcion              = "DEPOSITO NRO " + pagoDeposito.Numero.ToString();
                        cuentasMovimiento.FechaCobro               = _clock.Now;
                        cuentasMovimiento.Debito         = 0;
                        cuentasMovimiento.Credito        = pago.Importe;
                        cuentasMovimiento.TipoCarga      = 2;
                        cuentasMovimiento.CajaId         = caja.Id;
                        cuentasMovimiento.FechaAlta      = _clock.Now;
                        cuentasMovimiento.OperadorAltaId = Context.OperadorActual.Id;
                        cuentasMovimiento.SucursalAltaId = Context.SucursalActual.Id;

                        Uow.CuentasMovimientos.Agregar(cuentasMovimiento);
                        break;
                    }
                }

                Uow.CajaMovimientos.Agregar(cajaMovimiento);
            }

            Uow.Commit();

            _messageBoxDisplayService.ShowSuccess("Seña generada con éxito");

            //Si el Form=Editar significa que es SinGuardar los movimientos de caja
            if (_formMode == ActionFormMode.Create)
            {
                ImprimirComprobante(clienteMontoFavor, UcTotalesSenia.FormasDePagosParaComprobante);
            }

            RefrescarUow();

            RefrescarHistorial();

            Limpiar();
        }
Example #11
0
        private void RealizarConsignacion()
        {
            _consignacion.Id = Guid.NewGuid();

            switch (_formMode)
            {
            case ActionFormMode.Create:
                _consignacion.NumeroComprobante = _consignacionNegocio.SiguienteNroConsignacion(Context.SucursalActual.Id).ToString();
                break;

            case ActionFormMode.Edit:
                TxtNroConsignacion.Text = _consignacion.NumeroComprobante;
                break;
            }

            _consignacion.LCN = "";

            _consignacion.ClienteId = _cliente.Id;

            _consignacion.PuntoVenta       = 1;//; "no encuentro, pero no es igual a sucursal"
            _consignacion.FechaComprobante = _clock.Now;
            _consignacion.FechaVencimiento = DtpFechaVencimiento.Value;
            _consignacion.ImporteNeto      = ucTitulosVenta.Titulos.Sum(x => x.PrecioVenta);
            _consignacion.ImporteIVA       = IvaHelper.CalcularIva(_consignacion.ImporteNeto.Value);
            _consignacion.FechaEmision     = _clock.Now;
            BtnRecargarNroFactura_Click(null, null);
            _consignacion.NumeroComprobante = TxtNroConsignacion.Text;
            _consignacion.LCN             = LcnHelper.ObtenerLcn(_consignacion.NumeroComprobante, Context.SucursalActual.SucursalNumero ?? 1, "X");
            _consignacion.Concepto        = "CONSIGNACION PARA CLIENTES";
            _consignacion.TipoComprobante = (int)Entidades.Enums.TipoComprobanteEnum.RemitosConsignacCliente;
            _consignacion.Observaciones   = TxtObservacion.Text;
            _consignacion.FechaAlta       = _clock.Now;
            _consignacion.SucursalAltaId  = Context.SucursalActual.Id; //Sucursal del operador
            _consignacion.OperadorAltaId  = Context.OperadorActual.Id; //Id el operador

            Uow.RemitosVentas.Agregar(_consignacion);


            //CONSIGNACION DETALLE
            foreach (var titulo in ucTitulosVenta.Titulos)
            {
                //Descontar stock
                var tituloStock =
                    Uow.TitulosStock.Obtener(ts => ts.TituloId == titulo.TituloId && ts.SucursalId == Context.SucursalActual.Id);
                var cantidadAVender = titulo.Cantidad;
                int?cantpropia      = 0;
                int?cantconsiganda  = 0;

                if (tituloStock.StkPr > 0)
                {
                    if (tituloStock.StkPr >= cantidadAVender)
                    {
                        tituloStock.StkPr -= cantidadAVender;
                        cantpropia         = cantidadAVender;
                        cantidadAVender    = 0;
                    }
                    else
                    {
                        cantpropia        = tituloStock.StkPr;
                        cantidadAVender  -= tituloStock.StkPr;
                        tituloStock.StkPr = 0;
                    }
                }

                if (cantidadAVender > 0 && tituloStock.StkCn > 0)
                {
                    if (tituloStock.StkCn >= cantidadAVender)
                    {
                        tituloStock.StkCn -= cantidadAVender;
                        cantconsiganda     = cantidadAVender;
                    }
                    else
                    {
                        _messageBoxDisplayService.ShowError("No hay suficiente stock para completar la consignación");
                        return;
                        //Deberia cancelar la venta completa
                    }
                }

                Uow.TitulosStock.Modificar(tituloStock);

                RemitosVentaDetalle remitoDetalle = new RemitosVentaDetalle();
                remitoDetalle.Id             = Guid.NewGuid();
                remitoDetalle.RemitoVentaId  = _consignacion.Id;
                remitoDetalle.TituloId       = titulo.TituloId;
                remitoDetalle.CntPr          = cantpropia;
                remitoDetalle.CntCn          = cantconsiganda;
                remitoDetalle.PrecioVenta    = titulo.PrecioVenta;
                remitoDetalle.PrecioBase     = titulo.PrecioBase;
                remitoDetalle.Descuento      = titulo.Descuento;
                remitoDetalle.FechaAlta      = _clock.Now;
                remitoDetalle.SucursalAltaId = Context.SucursalActual.Id;   //Sucursal del operador
                remitoDetalle.OperadorAltaId = (Context.OperadorActual.Id); //Id el operador

                Uow.RemitosVentasDetalle.Agregar(remitoDetalle);
            }

            Uow.Commit();

            _messageBoxDisplayService.ShowSuccess(Resources.MessageSuccessConsignacionExitosa);

            using (var crearConsignacion = FormFactory.Create <FrmComprobanteConsignacion>(_consignacion.Id))
            {
                crearConsignacion._descripcion = _consignacion.Concepto;
                crearConsignacion._formaPago   = "CONSIGNACION";
                crearConsignacion._recargo     = "";

                crearConsignacion.ShowDialog();
            }

            var pageTab = this.Parent as RadPageViewPage;

            if (pageTab != null)
            {
                pageTab.Dispose();
            }
            ;
        }
Example #12
0
        private void RealizarSenia()
        {
            try
            {
                Caja caja = this.Context.CajaActual;

                ProveedorSenia seña = new ProveedorSenia();

                seña.Id                     = Guid.NewGuid();
                seña.ProveedorId            = _proveedor.Id;
                seña.FechaAlta              = _clock.Now;
                seña.FechaModificacion      = _clock.Now;
                seña.Importe                = UcTotalesSeña.TotalPagar;
                seña.ImporteUsado           = 0;
                seña.OperadorAltaId         = Context.OperadorActual.Id;
                seña.SucursalAltaId         = Context.SucursalActual.Id;
                seña.OperadorModificacionId = Context.OperadorActual.Id;
                seña.SucursalModificacionId = Context.SucursalActual.Id;

                decimal?efectivo = 0;
                decimal?tarjeta  = 0;
                decimal?cheque   = 0;
                decimal?deposito = 0;

                foreach (var pago in UcTotalesSeña.Pagos)
                {
                    switch (pago.TipoPago)
                    {
                    case FormaPago.Efectivo:
                        efectivo += pago.Importe;
                        break;

                    case FormaPago.Tarjeta:
                        tarjeta += pago.Importe;
                        break;

                    case FormaPago.Cheque:
                        cheque += pago.Importe;
                        break;

                    case FormaPago.Deposito:
                        deposito += pago.Importe;
                        break;
                    }
                }

                if (efectivo > 0 && ChkCajaAnterior.Checked == false)
                {
                    //creo la caja movimiento para los pagos en efectivo que tocan la caja actual
                    CajaMovimiento cajaMovimiento = new CajaMovimiento();

                    cajaMovimiento.Id                   = Guid.NewGuid();
                    cajaMovimiento.CajaId               = caja.Id;
                    cajaMovimiento.TipoComprobante      = TipoComprobanteEnum.SeñaProveedor;
                    cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.SeñaProveedor;

                    cajaMovimiento.ComprobanteId          = seña.Id;
                    cajaMovimiento.Importe                = efectivo;
                    cajaMovimiento.FechaAlta              = _clock.Now;
                    cajaMovimiento.FechaModificacion      = _clock.Now;
                    cajaMovimiento.PcAlta                 = System.Environment.MachineName;
                    cajaMovimiento.OperadorAltaId         = Context.OperadorActual.Id;
                    cajaMovimiento.SucursalAltaId         = Context.SucursalActual.Id;
                    cajaMovimiento.OperadorModificacionId = Context.OperadorActual.Id;
                    cajaMovimiento.SucursalModificacionId = Context.SucursalActual.Id;

                    //descontar de la caja
                    if (caja.Egresos == null)
                    {
                        caja.Egresos = 0;
                    }

                    if (ChkCajaAnterior.Checked == false)
                    {
                        caja.Egresos += (float?)efectivo;
                    }

                    if (caja.Saldo == null)
                    {
                        caja.Saldo = 0;
                    }

                    caja.Saldo -= (float?)efectivo;

                    caja.FechaModificacion      = _clock.Now;
                    caja.SucursalModificacionId = Context.SucursalActual.Id;   //Sucursal del operador
                    caja.OperadorModificacionId = (Context.OperadorActual.Id); //Id el operador

                    //traer la caja
                    if (cajaMovimiento.Efectivo == null)
                    {
                        cajaMovimiento.Efectivo = 0;
                    }

                    cajaMovimiento.Cheque   = cheque;
                    cajaMovimiento.Tarjeta  = tarjeta;
                    cajaMovimiento.Deposito = deposito;
                    cajaMovimiento.Efectivo = efectivo;
                    efectivo = 0;

                    Uow.CajaMovimientos.Agregar(cajaMovimiento);
                }

                if (tarjeta > 0 || deposito > 0 || cheque > 0 || efectivo > 0)
                {
                    //creo la caja movimiento para los pagos en efectivo que tocan la caja actual
                    CajaMovimiento cajaMovimientoAnterior = new CajaMovimiento();

                    cajaMovimientoAnterior.Id                     = Guid.NewGuid();
                    cajaMovimientoAnterior.CajaId                 = caja.Id;
                    cajaMovimientoAnterior.TipoComprobante        = TipoComprobanteEnum.SeñaProveedor;
                    cajaMovimientoAnterior.TipoMovimientoCajaId   = TipoMovimientoCajaEnum.SeñaProveedorCajaAnterior;
                    cajaMovimientoAnterior.ComprobanteId          = seña.Id;
                    cajaMovimientoAnterior.Importe                = tarjeta + deposito + cheque + efectivo;
                    cajaMovimientoAnterior.FechaAlta              = _clock.Now;
                    cajaMovimientoAnterior.FechaModificacion      = _clock.Now;
                    cajaMovimientoAnterior.PcAlta                 = System.Environment.MachineName;
                    cajaMovimientoAnterior.OperadorAltaId         = Context.OperadorActual.Id;
                    cajaMovimientoAnterior.SucursalAltaId         = Context.SucursalActual.Id;
                    cajaMovimientoAnterior.OperadorModificacionId = Context.OperadorActual.Id;
                    cajaMovimientoAnterior.SucursalModificacionId = Context.SucursalActual.Id;

                    if (efectivo > 0)
                    {
                        if (cajaMovimientoAnterior.Efectivo == null)
                        {
                            cajaMovimientoAnterior.Efectivo = 0;
                        }

                        cajaMovimientoAnterior.Efectivo += efectivo;

                        cajaMovimientoAnterior.Cheque   += cheque;
                        cajaMovimientoAnterior.Tarjeta  += tarjeta;
                        cajaMovimientoAnterior.Deposito += deposito;

                        if (caja.Saldo == null)
                        {
                            caja.Saldo = 0;
                        }
                        caja.Saldo -= (float?)efectivo;
                    }

                    if (tarjeta > 0)
                    {
                        if (cajaMovimientoAnterior.Tarjeta == null)
                        {
                            cajaMovimientoAnterior.Tarjeta = 0;
                        }

                        cajaMovimientoAnterior.Tarjeta += tarjeta;
                    }

                    if (cheque > 0)
                    {
                        if (cajaMovimientoAnterior.Cheque == null)
                        {
                            cajaMovimientoAnterior.Cheque = 0;
                        }

                        cajaMovimientoAnterior.Cheque += cheque;
                    }

                    if (deposito > 0)
                    {
                        if (cajaMovimientoAnterior.Deposito == null)
                        {
                            cajaMovimientoAnterior.Deposito = 0;
                        }

                        cajaMovimientoAnterior.Deposito += deposito;
                    }

                    Uow.CajaMovimientos.Agregar(cajaMovimientoAnterior);
                }


                Uow.Cajas.Modificar(caja);

                Uow.ProveedoresSenias.Agregar(seña);

                Uow.Commit();

                _messageBoxDisplayService.ShowSuccess(Resources.MessageSuccessSeniaExitosa);
            }
            catch (Exception)
            {
                throw;
            }
        }
        private void BtnGuardar_Click(object sender, EventArgs e)
        {
            if (Monto != ucTotalesSeña.TotalPagar)
            {
                _messageBoxDisplayService.ShowError("Los montos no coiniden");
                return;
            }

            int sucursal = 1;
            ClienteMontoFavor clienteMontoFavor = new ClienteMontoFavor();

            clienteMontoFavor.Id                = Guid.NewGuid();
            clienteMontoFavor.ClienteId         = _cliente.Id;
            clienteMontoFavor.FechaComprobante  = _clock.Now;
            clienteMontoFavor.TipoComprobanteId = TipoComprobanteEnum.SeñaCliente;
            clienteMontoFavor.LCN               = "R" + sucursal.ToString().PadLeft(4, '0') + CalcularLCN().PadLeft(8, '0');
            clienteMontoFavor.Concepto          = "Seña " + clienteMontoFavor.LCN;
            clienteMontoFavor.Importe           = ucTotalesSeña.TotalPagar;
            clienteMontoFavor.ImpOcupado        = 0;
            clienteMontoFavor.Observaciones     = TipoComprobanteEnum.SeñaCliente.ToString();
            clienteMontoFavor.FechaAlta         = _clock.Now;
            clienteMontoFavor.OperadorAltaId    = Context.OperadorActual.Id;
            clienteMontoFavor.SucursalAltaId    = 2;

            Uow.ClientesMontosFavor.Agregar(clienteMontoFavor);



            //Recibo recibo = new Recibo();
            //recibo.Id = Guid.NewGuid();
            //recibo.SucursalCompId = Context.SucursalActual.Id;
            //recibo.Tipo = "3";//TipoComprobanteEnum.SeñaCliente;
            //recibo.PuntoVenta = Context.SucursalActual.Id;
            //var ultimoRecibo = _reciboNegocio.Listado("FechaAlta", "DESC", Context.SucursalActual.Id).First();
            //int numero;
            //int reciboNumero = int.TryParse(ultimoRecibo.Numero.Substring(1), out numero) ? numero : 0;
            //recibo.Numero = "C" + (numero + 1).ToString().PadLeft(13, '0');
            //recibo.FechaPago = _clock.Now;
            //recibo.Total = ucTotalesSeña.TotalPagar;
            //recibo.CobradorId = 0;
            //recibo.OperadorAltaId = Context.OperadorActual.Id;
            //recibo.SucursalAltaId = Context.SucursalActual.Id;
            //recibo.FechaAlta = _clock.Now;

            //Uow.Recibos.Agregar(recibo);

            Uow.Commit();
            _messageBoxDisplayService.ShowSuccess("Seña generada con éxito");

            var crearSenia = FormFactory.Create <FrmComprobante>();

            crearSenia._concepto = "Seña de Cliente";
            crearSenia._LCN      = clienteMontoFavor.LCN;
            var conv = new Conversion();

            crearSenia._montoTexto = conv.enletras(ucTotalesSeña.TotalPagar.ToString());
            //crearSenia._montoTexto = "cien";
            //crearSenia.Show();

            BuscarHistorial();
            Limpiar();
        }