Example #1
0
        private void AgregarTitulosMovimientos(CrearVentaData ventaData, VentaTitulo titulo, Guid ventaId, int?actualPr, int?actualCn)
        {
            //foreach (var titulo in ventaData.Titulos)
            // {
            TitulosMovimiento tituloMovimiento = new TitulosMovimiento();

            tituloMovimiento.TituloId            = titulo.TituloId;
            tituloMovimiento.TipoComprobanteId   = ventaData.TipoComprobanteSeleccionado;
            tituloMovimiento.ComprobanteId       = ventaId;
            tituloMovimiento.SucursalComprobante = ventaData.SucursalId;
            tituloMovimiento.Fecha = _clock.Now;
            TituloStock stock = new TituloStock();

            stock = Uow.TitulosStock.Obtener(t => t.TituloId == titulo.TituloId && t.SucursalId == ventaData.SucursalId);
            if (stock != null)
            {
                tituloMovimiento.CntAntPr       = actualPr;
                tituloMovimiento.CntAntCn       = actualCn;
                tituloMovimiento.CntMinPr       = titulo.CantidadPropia ?? 0;
                tituloMovimiento.CntMinCn       = titulo.CantidadConsignada ?? 0;
                tituloMovimiento.FechaAlta      = _clock.Now;
                tituloMovimiento.OperadorAltaId = ventaData.OperadorId;
                tituloMovimiento.SucursalAltaId = ventaData.SucursalId;
            }

            Uow.TitulosMovimiento.Agregar(tituloMovimiento);
            Uow.Commit();
            ///}
        }
Example #2
0
        private void MigracionStockFuturoJournal(bool propio, Guid?proveedorId)
        {
            _tituloseleccionado = (TituloDto)GridTitulos.CurrentRow.DataBoundItem;
            var tituloStock          = Uow.TitulosStock.Obtener(t => t.TituloId == _tituloseleccionado.Id && t.SucursalId == Context.SucursalActual.Id);
            var migracionTituloStock = _migracionRepo.Obtener(t => t.TituloId == _tituloseleccionado.Id && t.SucursalId == Context.SucursalActual.Id);
            //LAPAZ
            Guid?_idProveedor = proveedorId;

            var provFuturoOJournal = Uow.Proveedores.Obtener(p => p.Id == _idProveedor);

            //si el titulo stock no existe lo doy de alta
            if (tituloStock == null)
            {
                tituloStock                = new TituloStock();
                tituloStock.TituloId       = _tituloseleccionado.Id;
                tituloStock.SucursalId     = Context.SucursalActual.Id;
                tituloStock.StkCn          = 0;
                tituloStock.StkPr          = 0;
                tituloStock.FechaAlta      = _clock.Now;
                tituloStock.SucursalAltaId = Context.SucursalActual.Id;
                tituloStock.OperadorAltaId = Context.OperadorActual.Id;
                Uow.TitulosStock.Agregar(tituloStock);
                Uow.Commit();

                tituloStock = Uow.TitulosStock.Obtener(t => t.TituloId == _tituloseleccionado.Id && t.SucursalId == Context.SucursalActual.Id);
            }
            DateTime fechaCompra = DateTime.Parse("2015-01-01");
            var      compraLists = Uow.Compras.Listado().Where(p => p.ProveedorId == provFuturoOJournal.Id && p.FechaAlta > fechaCompra).OrderBy(p => p.FechaAlta).ToList();

            Compra compraList;

            if (compraLists.Count > 0)
            {
                compraList = compraLists.First();
            }
            else
            {
                compraList = null;
            }

            var compras = new Compra();

            if (compraList == null)
            {
                compras     = new Compra();
                compras.Id  = Guid.NewGuid();
                compras.LCN = "0000000000000";
                compras.TipoComprobanteId = TipoComprobanteEnum.RemitosConsignacProveedor;
                compras.ProveedorId       = provFuturoOJournal.Id;
                compras.LetraComprobante  = "X";
                compras.PuntoVenta        = Context.SucursalActual.Id;
                compras.NumeroComprobante = "0000000000000";
                compras.FechaComprobante  = _clock.Now;
                compras.Concepto          = "REMITO POR CONSIGNACION PROVEEDOR";
                compras.ImporteNeto       = 0;
                compras.ImporteIVA        = 0;
                compras.EstadoCompraId    = 1;
                compras.OperadorAltaId    = Context.OperadorActual.Id;
                compras.SucursalAltaId    = Context.SucursalActual.Id;
                compras.FechaAlta         = _clock.Now;

                Uow.Compras.Agregar(compras);
            }
            else
            {
                //compraList = Uow.Compras.Listado().Where(p => p.ProveedorId == provFuturoOJournal.Id).OrderBy(p => p.FechaAlta).First();
                compras = Uow.Compras.Obtener(c => c.Id == compraList.Id);
            }

            var compraDetalle = new ComprasDetalle();

            compraDetalle.Id                     = Guid.NewGuid();
            compraDetalle.CompraId               = compras.Id;
            compraDetalle.TituloId               = _tituloseleccionado.Id;
            compraDetalle.PrecioCompra           = 0;
            compraDetalle.FechaAlta              = _clock.Now;
            compraDetalle.SucursalAltaId         = Context.SucursalActual.Id;
            compraDetalle.OperadorAltaId         = Context.OperadorActual.Id;
            compraDetalle.FechaModificacion      = _clock.Now;
            compraDetalle.SucursalModificacionId = Context.SucursalActual.Id;
            compraDetalle.OperadorModificacionId = Context.OperadorActual.Id;



            //Si propio es true descontamos e incrementamos los propios, si no consignados
            if (propio)
            {
                //Descuento 1 libro
                migracionTituloStock.StkPr -= 1;
                tituloStock.StkPr          += 1;

                //Modifico las propiedades
                CantidadPropia          = tituloStock.StkPr;
                MigracionCantidadPropia = migracionTituloStock.StkPr;

                //Agrego en compra detalle
                compraDetalle.CntPr = 1;

                //Comiteo los cambios a la base
                _migracionRepo.Modificar(migracionTituloStock);
                _migracionRepo.Commit();
            }
            else
            {
                //Descuento 1 libro
                migracionTituloStock.StkCn -= 1;
                tituloStock.StkCn          += 1;


                //Modifico las propiedades
                CantidadConsignada          = tituloStock.StkCn;
                MigracionCantidadConsignada = migracionTituloStock.StkCn;

                //Agrego en compra detalle
                compraDetalle.CntCn = 1;


                //Agrego la consignacion
                TitulosConsignacion consignacion = new TitulosConsignacion();
                consignacion.Id               = Guid.NewGuid();
                consignacion.TituloId         = _tituloseleccionado.Id;
                consignacion.ClienteId        = Guid.Empty;
                consignacion.ProveedorId      = provFuturoOJournal.Id;
                consignacion.TipoConsignacion = 1;
                consignacion.CntPr            = 0;
                consignacion.CntCn            = 1;
                consignacion.CntVn            = 0;
                consignacion.FechaAlta        = _clock.Now;
                consignacion.SucursalAltaId   = Context.SucursalActual.Id;
                consignacion.OperadorAltaId   = Context.OperadorActual.Id;
                Uow.TitulosConsignaciones.Agregar(consignacion);

                //Comiteo los cambios a la base
                _migracionRepo.Modificar(migracionTituloStock);
                _migracionRepo.Commit();
            }
            tituloStock.FechaModificacion      = _clock.Now;
            tituloStock.OperadorModificacionId = Context.OperadorActual.Id;

            Uow.ComprasDetalles.Agregar(compraDetalle);
            Uow.TitulosStock.Modificar(tituloStock);
            Uow.Commit();
        }
Example #3
0
        private void MigracionStockPropio(bool propio)
        {
            _tituloseleccionado = (TituloDto)GridTitulos.CurrentRow.DataBoundItem;
            var tituloStock          = Uow.TitulosStock.Obtener(t => t.TituloId == _tituloseleccionado.Id && t.SucursalId == Context.SucursalActual.Id);
            var migracionTituloStock = _migracionRepo.Obtener(t => t.TituloId == _tituloseleccionado.Id && t.SucursalId == Context.SucursalActual.Id);
            //LAPAZ
            Guid _idProveedor8Marzo = Guid.Parse("A7F325F0-EF29-4D81-B6A1-4A1A8688E075");

            //SANTY HP
            //Guid _idProveedor8Marzo = Guid.Parse("A827DD36-4B41-4F4F-BB81-B56DE923B4D2");

            //USUARIO PC
            //Guid _idProveedor8Marzo = Guid.Parse("03979D63-B3B4-4615-9979-CD5DFC4F9B72");


            var prov8Marzo = Uow.Proveedores.Obtener(p => p.Id == _idProveedor8Marzo || p.Denominacion == "8 DE MARZO");

            //var prov8Marzo = Uow.Proveedores.Obtener(p => p.Denominacion=="8 DE MARZO");


            //var compraList = _paseLibroNegocio.Listado("FechaAlta","Asc",prov8Marzo.Id);


            //si el titulo stock no existe lo doy de alta
            if (tituloStock == null)
            {
                tituloStock                = new TituloStock();
                tituloStock.TituloId       = _tituloseleccionado.Id;
                tituloStock.SucursalId     = Context.SucursalActual.Id;
                tituloStock.StkCn          = 0;
                tituloStock.StkPr          = 0;
                tituloStock.FechaAlta      = _clock.Now;
                tituloStock.SucursalAltaId = Context.SucursalActual.Id;
                tituloStock.OperadorAltaId = Context.OperadorActual.Id;
                Uow.TitulosStock.Agregar(tituloStock);
                Uow.Commit();

                tituloStock = Uow.TitulosStock.Obtener(t => t.TituloId == _tituloseleccionado.Id && t.SucursalId == Context.SucursalActual.Id);
            }
            //Traigo la primer compra, que es donde se estan almacenando los detalles de compra del proveedor 8 de Marzo
            var compraList = Uow.Compras.Listado().Where(p => p.ProveedorId == prov8Marzo.Id).OrderBy(p => p.FechaAlta).First();

            var compras = new Compra();

            if (compraList == null)
            {
                compras     = new Compra();
                compras.Id  = Guid.NewGuid();
                compras.LCN = "0000000000000";
                compras.TipoComprobanteId      = TipoComprobanteEnum.RemitoTransferencia;
                compras.ProveedorId            = prov8Marzo.Id;
                compras.LetraComprobante       = "X";
                compras.PuntoVenta             = Context.SucursalActual.Id;
                compras.NumeroComprobante      = "0000000000000";
                compras.FechaComprobante       = _clock.Now;
                compras.Concepto               = "REMITO POR TRANSFERENCIA";
                compras.ImporteNeto            = 0;
                compras.ImporteIVA             = 0;
                compras.EstadoCompraId         = 1;
                compras.OperadorAltaId         = Context.OperadorActual.Id;
                compras.SucursalAltaId         = Context.SucursalActual.Id;
                compras.FechaAlta              = _clock.Now;
                compras.FechaModificacion      = _clock.Now;
                compras.OperadorModificacionId = Context.OperadorActual.Id;
                compras.SucursalModificacionId = Context.SucursalActual.Id;

                Uow.Compras.Agregar(compras);
            }
            else
            {
                compras = Uow.Compras.Obtener(c => c.Id == compraList.Id);
            }

            var compraDetalle = new ComprasDetalle();

            compraDetalle.Id                     = Guid.NewGuid();
            compraDetalle.CompraId               = compras.Id;
            compraDetalle.TituloId               = _tituloseleccionado.Id;
            compraDetalle.PrecioCompra           = 0;
            compraDetalle.FechaAlta              = _clock.Now;
            compraDetalle.SucursalAltaId         = Context.SucursalActual.Id;
            compraDetalle.OperadorAltaId         = Context.OperadorActual.Id;
            compraDetalle.FechaModificacion      = _clock.Now;
            compraDetalle.SucursalModificacionId = Context.SucursalActual.Id;
            compraDetalle.OperadorModificacionId = Context.OperadorActual.Id;

            //Si propio es true descontamos e incrementamos los propios, si no consignados
            if (propio)
            {
                //Descuento 1 libro
                migracionTituloStock.StkPr -= 1;
                tituloStock.StkPr          += 1;

                //Modifico las propiedades
                CantidadPropia          = tituloStock.StkPr;
                MigracionCantidadPropia = migracionTituloStock.StkPr;

                //Agrego en compra detalle
                compraDetalle.CntPr = 1;

                //Comiteo los cambios a la base
                _migracionRepo.Modificar(migracionTituloStock);
                _migracionRepo.Commit();
            }
            else
            {
                //Descuento 1 libro
                migracionTituloStock.StkCn -= 1;
                tituloStock.StkCn          += 1;


                //Modifico las propiedades
                CantidadConsignada          = tituloStock.StkCn;
                MigracionCantidadConsignada = migracionTituloStock.StkCn;

                //Agrego en compra detalle
                compraDetalle.CntCn = 1;

                //Comiteo los cambios a la base
                _migracionRepo.Modificar(migracionTituloStock);
                _migracionRepo.Commit();
            }
            tituloStock.FechaModificacion      = _clock.Now;
            tituloStock.OperadorModificacionId = Context.OperadorActual.Id;

            Uow.ComprasDetalles.Agregar(compraDetalle);
            Uow.TitulosStock.Modificar(tituloStock);
            Uow.Commit();
        }
Example #4
0
        private void BtnSeleccionar_Click(object sender, EventArgs e)
        {
            //controlo que tenga algun ìtem seleccionado de la grilla
            var selectedRow = this.GridTitulos.SelectedRows.FirstOrDefault();

            if (selectedRow == null)
            {
                return;
            }

            //validacion cachorra. despues mejorar con los dto y toda la gilada
            decimal pVenta;

            if (TxtPrecioVenta.Text != "")
            {
                pVenta = Convert.ToDecimal(TxtPrecioVenta.Text);
            }
            else
            {
                pVenta = 0;
            }

            decimal pCompra;

            if (TxtPrecioCompra.Text != "")
            {
                pCompra = Convert.ToDecimal(TxtPrecioCompra.Text);
            }
            else
            {
                pCompra = 0;
            }

            if (pVenta < pCompra)
            {
                _messageBoxDisplayService.ShowError("El precio de venta no puede ser menor al precio de compra.");
                return;
            }

            //controlo que el titulo ya lo tenga el proveedor/si no lo tiene, agrego el titulo al proveedor
            var proveedorActual = Uow.Proveedores.Obtener(p => p.Id == _proveedorId);
            var codigoProveedor = proveedorActual.Cuenta;

            var tituloActual = Uow.Titulos.Obtener(t => t.Id == Id);
            var nuevoCod     = codigoProveedor.ToString().PadLeft(4, '0').Substring(0, 4) + tituloActual.Cod.Substring(4);

            var tituloCheck = Uow.Titulos.Obtener(t => t.Cod == nuevoCod);

            if (tituloCheck == null)
            {
                var tituloProv = Uow.Titulos.Obtener(t => t.Id == Id);
                var libroNew   = new Titulo();
                libroNew.Id                     = Guid.NewGuid();
                _idLibro                        = libroNew.Id;
                _codLibro                       = nuevoCod;
                libroNew.Cod                    = nuevoCod;
                libroNew.ISBN                   = tituloProv.ISBN;
                libroNew.NombreTitulo           = tituloProv.NombreTitulo;
                libroNew.ProveedorId            = _proveedorId;
                libroNew.AutorId                = tituloProv.AutorId;
                libroNew.EditorialId            = tituloProv.EditorialId;
                libroNew.TemaId                 = tituloProv.TemaId;
                libroNew.SubtemaId              = tituloProv.SubtemaId;
                libroNew.PrecioVentaTitulo      = PrecioVenta;
                libroNew.PrecioCompraTitulo     = PrecioBase;
                libroNew.CodigoBarra            = tituloProv.CodigoBarra;
                libroNew.ISBNg                  = tituloProv.ISBNg;
                libroNew.FechaAltaTitulo        = tituloProv.FechaAltaTitulo;
                libroNew.TipoArticuloId         = tituloProv.TipoArticuloId;
                libroNew.ModoStockId            = tituloProv.ModoStockId;
                libroNew.TipoTituloId           = tituloProv.TipoTituloId;
                libroNew.UnidadesId             = tituloProv.UnidadesId;
                libroNew.TomosTitulosId         = tituloProv.TomosTitulosId;
                libroNew.EstadoTituloId         = tituloProv.EstadoTituloId;
                libroNew.AdicionalId            = tituloProv.AdicionalId;
                libroNew.PesoTitulo             = tituloProv.PesoTitulo;
                libroNew.PaisId                 = tituloProv.PaisId;
                libroNew.FechaEdicion           = tituloProv.FechaEdicion;
                libroNew.IdiomaId               = tituloProv.IdiomaId;
                libroNew.PartesId               = tituloProv.PartesId;
                libroNew.Paginas                = tituloProv.Paginas;
                libroNew.Encuad                 = tituloProv.Encuad;
                libroNew.Comentario             = tituloProv.Comentario;
                libroNew.StkMin                 = tituloProv.StkMin;
                libroNew.FUltVta                = tituloProv.FUltVta;
                libroNew.Fingreso               = _clock.Now;
                libroNew.nControl               = tituloProv.nControl;
                libroNew.UbicacionId            = null;
                libroNew.PresentacionId         = tituloProv.PresentacionId;
                libroNew.FechaAlta              = _clock.Now;
                libroNew.SucursalAltaId         = Context.SucursalActual.Id;
                libroNew.OperadorAltaId         = Context.OperadorActual.Id;
                libroNew.FechaModificacion      = _clock.Now;
                libroNew.SucursalModificacionId = Context.SucursalActual.Id;
                libroNew.OperadorModificacionId = Context.OperadorActual.Id;
                libroNew.Activo                 = true;
                Uow.Titulos.Agregar(libroNew);

                var tituloStockNew = new TituloStock();
                tituloStockNew.TituloId               = libroNew.Id;
                tituloStockNew.SucursalId             = Context.SucursalActual.Id;
                tituloStockNew.StkCn                  = 0;
                tituloStockNew.StkPr                  = 0;
                tituloStockNew.FechaAlta              = _clock.Now;
                tituloStockNew.SucursalAltaId         = Context.SucursalActual.Id;
                tituloStockNew.OperadorAltaId         = Context.OperadorActual.Id;
                tituloStockNew.FechaModificacion      = _clock.Now;
                tituloStockNew.SucursalModificacionId = Context.SucursalActual.Id;
                tituloStockNew.OperadorModificacionId = Context.OperadorActual.Id;
                Uow.TitulosStock.Agregar(tituloStockNew);
                Uow.Commit();
            }
            else
            {
                _idLibro  = tituloCheck.Id;
                _codLibro = tituloCheck.Cod;
            }

            //mandar libro
            CompraTitulo titulo = ObtenerTitulo();

            //Validar cambios de precios
            if (TitulosValidator.SolicitarAutorizacionPorCambioDePrecios(titulo.MapToTitulo()))
            {
                var operador = this.ObtenerOperadorAdministrador();

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

            var esValido = this.ValidarForm();

            if ((esValido))
            {
                OnTituloAgregado(titulo);

                //modifico el precio de toodos los proveedores
                ActualizarPrecioTitulo(titulo);
            }
            else
            {
                this.DialogResult = DialogResult.None;
            }
        }
Example #5
0
        private void ActualizarStock()
        {
            var tituloStock = Uow.TitulosStock.Obtener(t => t.TituloId == _tituloId && t.SucursalId == this.Context.SucursalActual.Id);

            if (tituloStock != null)
            {
                tituloStock.OperadorModificacionId = this.Context.OperadorActual.Id;
                tituloStock.SucursalModificacionId = this.Context.SucursalActual.Id;

                tituloStock.StkPr = StockPropio;
                tituloStock.StkCn = StockConsignado;

                Uow.TitulosStock.Modificar(tituloStock);
            }
            else
            {
                tituloStock = new TituloStock();

                tituloStock.TituloId       = _tituloId;
                tituloStock.OperadorAltaId = this.Context.OperadorActual.Id;
                tituloStock.SucursalAltaId = this.Context.SucursalActual.Id;
                tituloStock.SucursalId     = this.Context.SucursalActual.Id;
                tituloStock.FechaAlta      = _clock.Now;

                tituloStock.StkPr = StockPropio;
                tituloStock.StkCn = StockConsignado;

                Uow.TitulosStock.Agregar(tituloStock);
            }

            Uow.Commit();

            var tituloStockMigracion = _tituloStockMigracionRepo.Obtener(t => t.TituloId == _tituloId && t.SucursalId == this.Context.SucursalActual.Id);

            if (tituloStockMigracion != null)
            {
                tituloStockMigracion.OperadorModificacionId = this.Context.OperadorActual.Id;
                tituloStockMigracion.SucursalModificacionId = this.Context.SucursalActual.Id;

                tituloStockMigracion.StkPr = StockPropioMigracion;
                tituloStockMigracion.StkCn = StockConsignadoMigracion;

                _tituloStockMigracionRepo.Modificar(tituloStockMigracion);
            }
            else
            {
                tituloStockMigracion = new TituloStockMigracion();

                tituloStockMigracion.TituloId       = _tituloId;
                tituloStockMigracion.OperadorAltaId = this.Context.OperadorActual.Id;
                tituloStockMigracion.SucursalAltaId = this.Context.SucursalActual.Id;
                tituloStockMigracion.SucursalId     = this.Context.SucursalActual.Id;
                tituloStockMigracion.FechaAlta      = _clock.Now;

                tituloStockMigracion.StkPr = StockPropioMigracion;
                tituloStockMigracion.StkCn = StockConsignadoMigracion;

                _tituloStockMigracionRepo.Agregar(tituloStockMigracion);
            }

            _tituloStockMigracionRepo.Commit();
        }