Exemplo n.º 1
0
 private void OnTituloAgregado(CompraTitulo titulo)
 {
     if (TituloAgregado != null)
     {
         TituloAgregado(this, titulo);
     }
 }
Exemplo n.º 2
0
        private CompraTitulo ObtenerTitulo()
        {
            //CONTROLAR
            CompraTitulo compraTitulo = new CompraTitulo();

            compraTitulo.TituloId       = _idLibro;
            compraTitulo.Cod            = _codLibro;
            compraTitulo.TituloNombre   = TituloNombre;
            compraTitulo.CodigoBarra    = CodigoBarra;
            compraTitulo.CantidadCompra = Cantidad;
            compraTitulo.PrecioBase     = PrecioBase;
            compraTitulo.PrecioVenta    = PrecioVenta;
            compraTitulo.SubTotal       = SubTotal;

            return(compraTitulo);
        }
Exemplo n.º 3
0
        private void EditarTitulo(CompraTitulo compraTitulo)
        {
            using (var formAgregarTitulo = FormFactory.Create <FrmSeleccionarLibroCompra>(compraTitulo.TituloId, ActionFormMode.Edit))
            {
                formAgregarTitulo.Cantidad        = compraTitulo.CantidadCompra;
                formAgregarTitulo.TituloAgregado += (o, titulo) =>
                {
                    if (!this.Titulos.Any(t => t.TituloId == titulo.TituloId))
                    {
                        Titulos.Add(titulo);
                        OnCompraTitulosChanged(Titulos);
                        RefrescarTitulos();
                    }
                    else
                    {
                        foreach (CompraTitulo compraTitulo1 in Titulos)
                        {
                            if (compraTitulo1.TituloId == titulo.TituloId)
                            {
                                compraTitulo1.TituloId       = titulo.TituloId;
                                compraTitulo1.TituloNombre   = titulo.TituloNombre;
                                compraTitulo1.CantidadCompra = titulo.CantidadCompra;
                                compraTitulo1.PrecioBase     = titulo.PrecioBase;
                                compraTitulo1.PrecioVenta    = titulo.PrecioVenta;
                                compraTitulo1.SubTotal       = titulo.SubTotal;
                                OnCompraTitulosChanged(Titulos);
                                RefrescarTitulos();
                            }
                        }
                    }

                    formAgregarTitulo.Close();
                };

                formAgregarTitulo.ShowDialog();
            }
        }
Exemplo n.º 4
0
 private void EliminarTitulo(CompraTitulo compraTitulo)
 {
     Titulos.Remove(compraTitulo);
     RefrescarTitulos();
     OnCompraTitulosChanged(Titulos);
 }
Exemplo n.º 5
0
        private void ActualizarPrecioTitulo(CompraTitulo titulo)
        {
            //MOdificar el de todos los proveedores?
            //List<Titulo> titulosModificar = Uow.Titulos.Listado().Where(t => t.CodigoBarra == titulo.CodigoBarra).ToList();
            var titulosModificar = new List <Titulo>();
            int _codigo;
            var co = int.TryParse(titulo.CodigoBarra, out _codigo);


            if (String.IsNullOrEmpty(titulo.CodigoBarra) || _codigo == 0)
            {
                titulosModificar = Uow.Titulos.Listado().Where(t => t.Id == titulo.TituloId).ToList();
            }
            else
            {
                titulosModificar = Uow.Titulos.Listado().Where(t => t.CodigoBarra == titulo.CodigoBarra).ToList();
            }

            if (titulosModificar.Count > 0)
            {
                foreach (var tituloModificar in titulosModificar)
                {
                    if (tituloModificar.ProveedorId == _proveedorId)
                    {
                        //Precio de Venta
                        if (PrecioVenta >= tituloModificar.PrecioVentaTitulo)
                        {
                            ActualizarPrecioVenta(tituloModificar);
                        }

                        else if (PrecioVenta < tituloModificar.PrecioVentaTitulo)
                        {
                            //_messageBoxDisplayService.ShowInfo("")
                            _messageBoxDisplayService.ShowConfirmationDialog(
                                "El precio del título es menor. Desea almacenarlo?", "Actualizar Precio",
                                () => { ActualizarPrecioVenta(tituloModificar); });
                        }

                        //Precio de Compra
                        if (PrecioBase >= tituloModificar.PrecioCompraTitulo)
                        {
                            ActualizarPrecioCompra(tituloModificar);
                        }

                        //else if (PrecioBase < tituloModificar.PrecioCompraTitulo)
                        //{
                        //    _messageBoxDisplayService.ShowConfirmationDialog(
                        //        "El precio del título es menor. Desea almacenarlo?", "Actualizar Precio",
                        //        () => { ActualizarPrecioCompra(tituloModificar); });
                        //}
                    }
                    else
                    {
                        if ((PrecioVenta > tituloModificar.PrecioVentaTitulo) || (PrecioBase > tituloModificar.PrecioCompraTitulo))
                        {
                            ActualizarPrecioVenta(tituloModificar);
                        }
                    }
                }
            }
        }
Exemplo n.º 6
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;
            }
        }