예제 #1
0
        private void RegistraEntrega()
        {
            try
            {
                AsociadoMantenimiento        asociadoM     = new AsociadoMantenimiento();
                List <SIGEEA_DetFacAsociado> listaDetalles = new List <SIGEEA_DetFacAsociado>();

                SIGEEA_FacAsociado factura = new SIGEEA_FacAsociado();
                factura.Estado_FacAsociado     = true;
                factura.FecEntrega_FacAsociado = DateTime.Now;
                factura.FK_Id_Asociado         = asociado.PK_Id_Asociado;
                factura.Numero_FacAsociado     = asociadoM.ObtenerNumeroFacturaEntrega();


                foreach (uc_IngresoProducto ip in stpContenedor.Children)
                {
                    SIGEEA_DetFacAsociado fac = new SIGEEA_DetFacAsociado();
                    fac.CanTotal_DetFacAsociado = ip.getCantidad();
                    fac.FK_Id_Lote             = ip.getLote();
                    fac.Mercado_DetFacAsociado = ip.getMercado();
                    fac.FK_Id_PreProCompra     = ip.getProducto();//Se le asigna la PK del producto, en la función de registrar de AsociadoMantenimiento se hace el cambio necesario.
                    listaDetalles.Add(fac);
                }
                asociadoM.RegistraEntrega(factura, listaDetalles);
                MessageBox.Show("Entrega registrada con éxito.", "SIGEEA", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                wnwFacturaEntrega ventana = new wnwFacturaEntrega(factura.PK_Id_FacAsociado, asociado.Codigo_Asociado);
                ventana.ShowDialog();
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error al registrar: " + ex.Message, "SIGEEA", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
예제 #2
0
        /// <summary>
        /// Completa la entrega de un detalle en la factura
        /// </summary>
        /// <param name="pkDetalle"></param>
        /// <param name="CantidadNeta"></param>
        public void CompletarEntrega(int pkDetalle, double CantidadNeta, int unidadMedida, int pProducto, bool pEstado)
        {
            try
            {
                DataClasses1DataContext dc       = new DataClasses1DataContext();
                SIGEEA_DetFacAsociado   detalle  = dc.SIGEEA_DetFacAsociados.First(c => c.PK_Id_DetFacAsociado == pkDetalle);
                ProductoMantenimiento   producto = new ProductoMantenimiento();
                detalle.CanNeta_DetFacAsociado   = CantidadNeta;
                detalle.CanTotal_DetFacAsociado  = detalle.CanTotal_DetFacAsociado;
                detalle.Cancelado_DetFacAsociado = false;
                detalle.FK_Id_FacAsociado        = detalle.FK_Id_FacAsociado;
                detalle.FK_Id_Lote             = detalle.FK_Id_Lote;
                detalle.Saldo_DetFacAsociado   = CantidadNeta * (detalle.Mercado_DetFacAsociado == 1 ? dc.SIGEEA_PreProCompras.First(c => c.PK_Id_PreProCompra == detalle.FK_Id_PreProCompra).PreNacional_PreProCompra : dc.SIGEEA_PreProCompras.First(c => c.PK_Id_PreProCompra == detalle.FK_Id_PreProCompra).PreExtranjero_PreProCompra);
                detalle.FK_Id_PreProCompra     = detalle.FK_Id_PreProCompra;
                detalle.Mercado_DetFacAsociado = detalle.Mercado_DetFacAsociado;
                dc.SubmitChanges();

                if (pEstado == true)
                {
                    producto.IncrementarInventario(unidadMedida, pProducto, CantidadNeta);
                }
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Error: " + ex.Message);
            }
        }
        public uc_ItemEntrega(string Informacion, int pkDetalle, int pkProducto)
        {
            InitializeComponent();
            lblInformacion.Text = Informacion;
            PK_Detalle          = pkDetalle;
            producto            = pkProducto;
            SIGEEA_DiagramaDataContext dc      = new SIGEEA_DiagramaDataContext();
            SIGEEA_DetFacAsociado      detalle = dc.SIGEEA_DetFacAsociados.First(c => c.PK_Id_DetFacAsociado == pkDetalle);

            cantidad = detalle.CanTotal_DetFacAsociado;
            if (detalle.CanNeta_DetFacAsociado > -1)
            {
                txbCantidadNeta.Text      = detalle.CanNeta_DetFacAsociado.ToString();
                txbCantidadNeta.IsEnabled = false;
            }
        }
예제 #4
0
 /// <summary>
 /// Cancela las facturas
 /// </summary>
 /// <param name="pDetalles"></param>
 /// <returns></returns>
 public bool CancelaFacturaAsociado(List <int> pDetalles, List <double> pMontos, int pMetodoPago = 0, string pNumChequeTransferencia = null, double pTotal = 0)
 {
     try
     {
         DataClasses1DataContext dc = new DataClasses1DataContext();
         if (pDetalles.Count > 0)
         {
             int indice    = 0;
             int pkFactura = 0;
             foreach (int i in pDetalles)
             {
                 SIGEEA_DetFacAsociado detalle = dc.SIGEEA_DetFacAsociados.First(c => c.PK_Id_DetFacAsociado == i);
                 pkFactura = detalle.FK_Id_FacAsociado;
                 if (pMontos.ElementAt(indice) > detalle.Saldo_DetFacAsociado)
                 {
                     return(false);
                 }
                 else if (pMontos.ElementAt(indice) < detalle.Saldo_DetFacAsociado)
                 {
                     detalle.Saldo_DetFacAsociado = detalle.Saldo_DetFacAsociado - pMontos.ElementAt(indice);
                 }
                 else
                 {
                     detalle.Saldo_DetFacAsociado = 0;
                 }
                 detalle.PK_Id_DetFacAsociado     = detalle.PK_Id_DetFacAsociado;
                 detalle.Cancelado_DetFacAsociado = detalle.Saldo_DetFacAsociado > 0 ? false : true;
                 detalle.CanNeta_DetFacAsociado   = detalle.CanNeta_DetFacAsociado;
                 detalle.CanTotal_DetFacAsociado  = detalle.CanTotal_DetFacAsociado;
                 detalle.FK_Id_FacAsociado        = detalle.FK_Id_FacAsociado;
                 detalle.FK_Id_Lote             = detalle.FK_Id_Lote;
                 detalle.FK_Id_PreProCompra     = detalle.FK_Id_PreProCompra;
                 detalle.Mercado_DetFacAsociado = detalle.Mercado_DetFacAsociado;
                 dc.SubmitChanges();
                 indice++;
             }
             RevisaFacurasCanceladas(dc.SIGEEA_FacAsociados.First(c => c.PK_Id_FacAsociado == (dc.SIGEEA_DetFacAsociados.First(d => d.PK_Id_DetFacAsociado == pDetalles.First()).FK_Id_FacAsociado)).PK_Id_FacAsociado);
             CrearBitacoraPago(pDetalles, pMetodoPago, UsuarioGlobal.InfoUsuario.PK_Id_Usuario, DateTime.Now, pNumChequeTransferencia, pTotal);
         }
         return(true);
     }
     catch (Exception ex)
     {
         string mensaje = ex.Message;
         return(false);
     }
 }
예제 #5
0
        /// <summary>
        /// Cancela las facturas
        /// </summary>
        /// <param name="pDetalles"></param>
        /// <returns></returns>
        public bool CancelaFacturaAsociado(List <int> pDetalles, List <double> pMontos)
        {
            try
            {
                DataClasses1DataContext dc = new DataClasses1DataContext();
                if (pDetalles.Count > 0)
                {
                    int indice = 0;
                    foreach (int i in pDetalles)
                    {
                        SIGEEA_DetFacAsociado detalle = dc.SIGEEA_DetFacAsociados.First(c => c.PK_Id_DetFacAsociado == i);

                        if (pMontos.ElementAt(indice) > detalle.Saldo_DetFacAsociado)
                        {
                            return(false);
                        }
                        else if (pMontos.ElementAt(indice) < detalle.Saldo_DetFacAsociado)
                        {
                            detalle.Saldo_DetFacAsociado = detalle.Saldo_DetFacAsociado - pMontos.ElementAt(indice);
                        }
                        else
                        {
                            detalle.Saldo_DetFacAsociado = 0;
                        }
                        detalle.PK_Id_DetFacAsociado     = detalle.PK_Id_DetFacAsociado;
                        detalle.Cancelado_DetFacAsociado = detalle.Saldo_DetFacAsociado > 0 ? false : true;
                        detalle.CanNeta_DetFacAsociado   = detalle.CanNeta_DetFacAsociado;
                        detalle.CanTotal_DetFacAsociado  = detalle.CanTotal_DetFacAsociado;
                        detalle.FK_Id_FacAsociado        = detalle.FK_Id_FacAsociado;
                        detalle.FK_Id_Lote             = detalle.FK_Id_Lote;
                        detalle.FK_Id_PreProCompra     = detalle.FK_Id_PreProCompra;
                        detalle.Mercado_DetFacAsociado = detalle.Mercado_DetFacAsociado;
                        dc.SubmitChanges();
                        indice++;
                    }
                    RevisaFacurasCanceladas(dc.SIGEEA_FacAsociados.First(c => c.PK_Id_FacAsociado == (dc.SIGEEA_DetFacAsociados.First(d => d.PK_Id_DetFacAsociado == pDetalles.First()).FK_Id_FacAsociado)).PK_Id_FacAsociado);
                }
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }