示例#1
0
 public void Borrar(OrdenCompra ordenCompra)
 {
     try
     {
         ordenCompra.Estado = "Rechazada";
         new OrdenCompraDA().Save(ordenCompra);
     }
     catch (Exception ex)
     {
         log.Error("Error al eliminar la orden de compra" + ex.Message);
         log.Error(ex.StackTrace);
     }
 }
        public frmDetalleOrdenCompra(Empleado empleado, OrdenCompra oc,TipoCambio tipoCambio)
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();
            this.empleado = empleado;
            this.tipoCambio = tipoCambio;
            lblAlerta.Visible = false;
            txtElaborado.Text = empleado.Nombres + " " + empleado.ApellidoPaterno;
            if (oc != null)
            {
                this.ordenCompra = oc;
                lblEstado.Text = oc.Estado;
                MostrarOrdenCompra(this.ordenCompra);
                bloquearCampos();
                btnDesdeCotizacion.Visible = false;
                if (oc.Estado != "Pendiente")//aprobada o rechazada
                {
                    btnModificar.Enabled = false;
                    btnAprobar.Enabled = false;
                    btnEliminar.Enabled = false;
                    lblAlerta.Visible = true;
                    lblAlerta.Text = "Esta orden de compra ya fue " + oc.Estado;
                }
                else {
                    lblAlerta.Visible = false;

                }
            }
            else {

                ordenCompra = new OrdenCompra();
                pnlEstado.Visible = false;
                ordenCompra.Id = 0;
                btnModificar.Text = "Grabar";
                ocLineas = new List<OrdenCompraLinea>();
            }

            cboLocalEntrega.DisplayMember = "Nombre";
            cboLocalEntrega.DataSource = new LocalBL().GetAll();
            cboMoneda.DisplayMember = "Nombre";
            cboMoneda.DataSource = new TipoMonedaBL().GetAll();

            validaFuncionalidades();
        }
 public void CargarOC(OrdenCompra oc)
 {
     factura.OrdenCompra = oc;
     factura.Proveedor = oc.Proveedor;
     factura.Moneda = oc.Moneda;
     factura.Fecha = DateTime.Now.Date;
     //se crean las lineas de la factura
     FacturaProveedorLinea factLinea = null;
     foreach (OrdenCompraLinea artxp in oc.OrdenCompraOrdenCompraLineafk) {
         factLinea = new FacturaProveedorLinea();
         factLinea.Cantidad = artxp.Cantidad;
         factLinea.PrecioUnitario = artxp.PrecioUnitario;
         factLinea.ArticuloXProveedor = artxp.ArticuloXProveedor;
         factLinea.SubTotal = artxp.SubTotal;
         factLinea.Factura = factura;
         factLineas.Add(factLinea);
     }
     //se convierten al tipo de colleccion Iset
     foreach (FacturaProveedorLinea linea in factLineas)
     {
         factura.FacturaProveedorFacturaProveedorLineafk.Add(linea);
     }
 }
        private void cargarDGV(OrdenCompra oc)
        {
            foreach (OrdenCompraLinea lineaOC in oc.OrdenCompraOrdenCompraLineafk)
            {
                ArticuloBL artBL = new ArticuloBL();
                try
                {
                    if (!articuloIngresado(lineaOC.ArticuloXProveedor.Articulo))
                    {
                        object[] arreglo = { lineaOC.ArticuloXProveedor.Articulo.Id, lineaOC.ArticuloXProveedor.Articulo.Titulo, lineaOC.Cantidad };
                        listaCantidadesOC.Add(lineaOC.Cantidad.Value);
                        dgvArticulos.Rows.Add(arreglo);
                        guardarLinea(lineaOC.ArticuloXProveedor.Articulo);
                    }
                    else Utils.Utils.Error(this, "El articulo ya esta en la lista");
                    seteaCantTotal();

                }
                catch (NullReferenceException ex)
                {
                    Utils.Utils.Error(this, "El local no contiene el articulo que solicito");
                }

            }
        }
示例#5
0
        private void btnAgregar_Click_1(object sender, EventArgs e)
        {
            int row = -1;

            if (dgvOrdenCompras.CurrentRow != null)
            {
                row = dgvOrdenCompras.CurrentRow.Index;

                    if ((row >= 0) && ((row - 1) <= ordenesdeCompra.Count))
                    {
                        ocSeleccionada = ordenesdeCompra[row];
                        Dispose();
                    }

            }
            if (ocSeleccionada == null)
            {
                Utils.Utils.Error(null, "Debe seleccionar una orden de compra");
            }
            else
            {
                Dispose();
            }
        }
        private void btnCargarDatos_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(txtNroDocumento.Text))
            {

                int nroDoc;
                tipoMovimiento = (int)cboTipoMovimiento.SelectedValue;

                if (int.TryParse(txtNroDocumento.Text, out nroDoc)){
                    switch (tipoMovimiento)
                    {
                        case (int)TipoMov.Compra:
                            if (ordenCompra == null)
                            {
                                ordenCompra = new OrdenCompraBL().cargarOrdenCompra(nroDoc);
                            }
                            if (ordenCompra != null)
                            {
                                /*if (new NotaIngresoSalidaBL().Existe(ordenCompra.NroMovimiento.Id))
                                {
                                    Utils.Utils.Error(this, "Ya ha sido registrado el ingreso del documento");
                                    return;
                                }*/
                                if (dgvProductos.RowCount != 0) dgvProductos.Rows.Clear();
                                txtProveedor.Text = ordenCompra.Proveedor.RazonSocial;
                                txtDestino.Hide();
                                lblDestino.Hide();
                                lblFecha.Show();
                                txtFecha.Text = ordenCompra.FechaEntrega.ToString();
                                foreach (OrdenCompraLinea linea in ordenCompra.OrdenCompraOrdenCompraLineafk)
                                {
                                    string[] dgvLinea = new string[] { (linea.ArticuloXProveedor.Articulo.CodigoArticulo).ToString(), (linea.ArticuloXProveedor.Articulo.Titulo).ToString(), linea.Cantidad.ToString() };
                                    dgvProductos.Rows.Add(dgvLinea);
                                }
                            }
                            else Utils.Utils.Error(this, "Ingrese un número de documento válido");
                            break;
                        case (int)TipoMov.Transferencia:
                            try
                            {
                                if (transferencia == null) transferencia = new TransferenciaBL().cargarTransferencia(nroDoc);
                            }
                            catch (Exception exc)
                            {
                                Utils.Utils.Error(this, "Error al cargar la transferencia");
                            }
                            if (transferencia != null)
                            {
                                /* Buscar si hay movimiento de entrada
                                 * registrado por esa consignacion */
            //********************************
                                if (dgvProductos.RowCount != 0) dgvProductos.Rows.Clear();
                                txtProveedor.Text = transferencia.LocalOrigen.Nombre;
                                lblFuente.Text = "Local de origen";
                                txtDestino.Text = transferencia.LocalDestino.Nombre;
                                txtFecha.Text = transferencia.FechaConfirmacion.ToString();

                                foreach (TransferenciaLinea linea in transferencia.TransferenciaTransferenciaLineafk)
                                {
                                    string[] dgvLinea = new string[] { (linea.ArticuloXLocal.Articulo.CodigoArticulo).ToString(), linea.ArticuloXLocal.Articulo.Titulo.ToString(), linea.CantidadArticulosAprob.ToString() };
                                        //new string[] { (linea.ArticuloXProveedor.Articulo.CodigoArticulo).ToString(), (linea.ArticuloXProveedor.Articulo.Titulo).ToString(), linea.Cantidad.ToString() };
                                    dgvProductos.Rows.Add(dgvLinea);
                                }
                            }
                            else Utils.Utils.Error(this, "Ingrese un número de documento válido");
                            //MessageBox.Show("transferencia por implementar");
                            break;
                        case (int)TipoMov.Consignacion:

                            if (consignacion == null)
                                consignacion = new DocumentoConsignacionBL().cargarConsignacion(nroDoc);
                            if (consignacion!= null)
                            {
                                /* Buscar si hay movimiento de entrada
                                 * registrado por esa consignacion */
                                if (dgvProductos.RowCount != 0) dgvProductos.Rows.Clear();
                                txtProveedor.Text = consignacion.Proveedor.RazonSocial;
                                txtDestino.Hide();
                                lblDestino.Hide();
                                txtFecha.Text = consignacion.FechaEntrega.ToString();
                                foreach (DocumentoConsignacionLinea linea in consignacion.DocumentoConsignacionDocumentoConsignacionLineafk)
                                {
                                    string[] dgvLinea = new string[] {linea.ArticuloXProveedor.Articulo.CodigoArticulo.ToString(), linea.ArticuloXProveedor.Articulo.Titulo.ToString(), linea.Cantidad.ToString()};
                                    dgvProductos.Rows.Add(dgvLinea);
                                }
                            }
                            else Utils.Utils.Error(this, "Ingrese un número de documento válido");
                            break;

                    }
                    /* Asignar los contenidos de los combos */
                    foreach (DataGridViewRow fila in dgvProductos.Rows)
                    {
                        DataGridViewComboBoxCell celdaZona = ((DataGridViewComboBoxCell)fila.Cells["cboZona"]);
                        celdaZona.DataSource = zonas;
                        celdaZona.DisplayMember = "DescZona";
                        celdaZona.ValueMember = "YoMismo";
                    }
                    //txtNroDocumento.Enabled = false;
                    cargarFiltroNumerico();
                    this.AcceptButton = btnAceptar;

                }
                else Utils.Utils.Error(this, "Ingrese un número de documento válido");
            }
            else Utils.Utils.Error(this, "Ingrese el número del documento");
        }
        private void MostrarOrdenCompra(OrdenCompra oc)
        {
            txtNroOC.Text = Convert.ToString(oc.Id);
            txtProveedor.Text = oc.Proveedor.RazonSocial;
            txtRUC.Text = oc.Proveedor.RUC;

            //demas campos validar!
            dtpFechaPed.Value = oc.FechaPedido.Value;
            dtpFechaEnt.Value = oc.FechaEntrega.Value;
            cboMoneda.SelectedItem = oc.TipoCambio.Id.ToString();
            //detalle
            float subtotal = 0;
            foreach(OrdenCompraLinea linea in oc.OrdenCompraOrdenCompraLineafk ){
               // subtotal = (float)linea.Cantidad * linea.PrecioUnitario;
                String[] datos = { linea.ArticuloXProveedor.Articulo.CodigoArticulo,
                                     linea.ArticuloXProveedor.Articulo.Titulo, linea.Cantidad.ToString(),
                                     linea.PrecioUnitario.ToString(),linea.SubTotal.ToString() };
                dgvArticulos.Rows.Add(datos);
            }
            txtTotal.Text = String.Format("{0:0.00}",oc.Total);
        }
示例#8
0
        public void Update(OrdenCompra ordenCompra)
        {
            ISession hisession = null;
            try
            {
                hisession = NHibernateHelper.GetCurrentSession();
                hisession.BeginTransaction();
                hisession.Merge(ordenCompra);
                hisession.Transaction.Commit();
                hisession.Close();
            }
            catch (Exception ex)
            {
                if (hisession != null)
                {
                    if (hisession.IsOpen)
                    {
                        hisession.Close();
                    }
                }

            }
        }
示例#9
0
 public void Save(OrdenCompra ordenCompra)
 {
     ISession hisession = null;
     try
     {
         hisession = NHibernateHelper.GetCurrentSession();
         hisession.BeginTransaction();
         if (ordenCompra.Id == 0)
         {
             hisession.Save(ordenCompra);
         }
         else
         {
             hisession.Update(ordenCompra);
         }
         hisession.Transaction.Commit();
         hisession.Close();
     }
     catch (Exception ex)
     {
         if (hisession != null)
         {
             if (hisession.IsOpen)
             {
                 hisession.Close();
             }
         }
         if (log.IsErrorEnabled)
         {
             log.Error("No se pudo registrar o modificar : " + ex.Message);
         }
     }
 }
示例#10
0
 public void Aprobar(OrdenCompra ordenCompra)
 {
     ordenCompra.Estado = "Aprobada";
     Grabar(ordenCompra);
 }
示例#11
0
 public void Rechazar(OrdenCompra ordenCompra)
 {
     ordenCompra.Estado = "Rechazada";
     Grabar(ordenCompra);
 }
示例#12
0
        public Boolean Grabar(OrdenCompra ordenCompra)
        {
            try
            {
                if (ordenCompra.Id == 0)
                {

                    ordenCompra.Estado = "Pendiente";
                    new OrdenCompraDA().Save(ordenCompra);
                    return true;
                }
                else
                {
                    new OrdenCompraDA().Update(ordenCompra);
                    return true;
                }

            }
            catch (Exception ex)
            {
                log.Error("No se pudo registrar: " + ex.Message);
                log.Error(ex.StackTrace);
                return false;
            }
        }
示例#13
0
        private void btnBuscarDocumento_Click(object sender, EventArgs e)
        {
            int tipoMovimiento = (int)cboTipoMovimiento.SelectedValue;
            switch (tipoMovimiento)
            {
                case (int)TipoMov.Compra:
                    frmBusquedaOC busquedaOC = new frmBusquedaOC(empleado, 1);
                    busquedaOC.ShowDialog(this);
                    ordenCompra = busquedaOC.OcSeleccionada;
                    busquedaOC.Dispose();
                    if (ordenCompra!= null)
                        txtNroDocumento.Text = ordenCompra.Id.ToString();
                    break;
                case (int)TipoMov.Consignacion:
                    frmBusquedaConsignacion busquedaConsig = new frmBusquedaConsignacion(empleado, 1);
                    busquedaConsig.ShowDialog(this);
                    busquedaConsig.Dispose();
                    //consignacion = busquedaConsig.DocSeleccionado();
                    break;
                case (int)TipoMov.Transferencia:
                    frmBusquedaTransferencias busquedaTransferencia = new frmBusquedaTransferencias(empleado, 0);
                    busquedaTransferencia.ShowDialog(this);
                    transferencia = busquedaTransferencia.TransferenciaSeleccionada;
                    txtNroDocumento.Text = transferencia.Id.ToString();
                    break;

            }
        }
示例#14
0
        private void btnCargarDatos_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(txtNroDocumento.Text))
            {

                int nroDoc;
                tipoMovimiento = (int)cboTipoMovimiento.SelectedValue;

                if (int.TryParse(txtNroDocumento.Text, out nroDoc)){
                    //solo es para compras, por esta iteracion x)

                    switch (tipoMovimiento)
                    {
                        case (int)TipoMov.Compra:
                            ordenCompra = new OrdenCompraBL().cargarOrdenCompra(nroDoc);
                            if (ordenCompra != null)
                            {
                                if (dgvProductos.RowCount != 0) dgvProductos.Rows.Clear();
                                txtProveedor.Text = ordenCompra.Proveedor.RazonSocial;
                                txtDestino.Hide();
                                lblDestino.Hide();
                                txtFecha.Text = ordenCompra.FechaEntrega.ToString();
                                foreach (OrdenCompraLinea linea in ordenCompra.OrdenCompraOrdenCompraLineafk)
                                {
                                    string[] dgvLinea = new string[] { (linea.ArticuloXProveedor.Articulo.CodigoArticulo).ToString(), (linea.ArticuloXProveedor.Articulo.Titulo).ToString(), linea.Cantidad.ToString() };
                                    dgvProductos.Rows.Add(dgvLinea);
                                }
                                /* Asignar los contenidos de los combos */
                                foreach (DataGridViewRow fila in dgvProductos.Rows)
                                {
                                    DataGridViewComboBoxCell celdaZona = ((DataGridViewComboBoxCell)fila.Cells["cboZona"]);
                                    celdaZona.DataSource = zonas;
                                    celdaZona.DisplayMember = "DescZona";
                                    celdaZona.ValueMember = "YoMismo";
                                }
                                //txtNroDocumento.Enabled = false;
                                this.AcceptButton = btnAceptar;
                            }
                            else Utils.Utils.Error(this, "Ingrese un número de documento válido");
                            break;
                        case (int)TipoMov.Transferencia:
                            transferencia = new TransferenciaBL().cargarTransferencia(nroDoc);
                            if (transferencia != null)
                            {
                                if (dgvProductos.RowCount != 0) dgvProductos.Rows.Clear();
                                txtProveedor.Text = transferencia.LocalOrigen.Nombre;
                                lblFuente.Text = "Local de origen";
                                txtDestino.Text = transferencia.LocalDestino.Nombre;
                                txtFecha.Text = transferencia.FechaConfirmacion.ToString();

                                foreach (TransferenciaLinea linea in transferencia.TransferenciaTransferenciaLineafk)
                                {
                                    string[] dgvLinea = new string[] { (linea.ArticuloXLocal.Articulo.CodigoArticulo).ToString(), linea.ArticuloXLocal.Articulo.Titulo.ToString(), linea.CantidadArticulosAprob.ToString() };
                                        //new string[] { (linea.ArticuloXProveedor.Articulo.CodigoArticulo).ToString(), (linea.ArticuloXProveedor.Articulo.Titulo).ToString(), linea.Cantidad.ToString() };
                                    dgvProductos.Rows.Add(dgvLinea);
                                }
                                /* Asignar los contenidos de los combos */
                                foreach (DataGridViewRow fila in dgvProductos.Rows)
                                {
                                    DataGridViewComboBoxCell celdaZona = ((DataGridViewComboBoxCell)fila.Cells["cboZona"]);
                                    celdaZona.DataSource = zonas;
                                    celdaZona.DisplayMember = "DescZona";
                                    celdaZona.ValueMember = "YoMismo";
                                }
                                //txtNroDocumento.Enabled = false;
                                this.AcceptButton = btnAceptar;
                            }
                            else Utils.Utils.Error(this, "Ingrese un número de documento válido");
                            //MessageBox.Show("transferencia por implementar");
                            break;

                    }

                }
                else Utils.Utils.Error(this, "Ingrese un número de documento válido");
            }
            else Utils.Utils.Error(this, "Ingrese el número del documento");
        }