public void Guardar()
        {
            OrdenCompra o = new OrdenCompra();
            o.IdOrden = idOrden;
            o.IdAlmacen = 4;
            o.LstProducto = Lst;
            o.MedioPago = EstadoSelected;
            o.Observaciones = Observaciones;
            o.FechaSinAtencion = FechaAtencion;
            o.Proveedor = Prov;

                if (Validar(o))
                {

                    OrdenCompraSQL oSQL = new OrdenCompraSQL();
                    OrdenCompraxProductoSQL opSQL = new OrdenCompraxProductoSQL();

                    if (esNuevo)
                    {

                        o.Estado = 2;

                        oSQL.Agregar(o);

                        int id = new UtilesSQL().ObtenerMaximoID("OrdenCompra", "idOrden");

                        foreach (ProductoxOrdenCompra oc in o.LstProducto)
                        {
                            oc.IdOrden = id;
                            opSQL.Agregar(oc);

                        }

                        MessageBox.Show("Se Generó Exitosamente la Orden de Compra", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        if (model != null)
                        {
                            model.Buscar();
                        }

                        this.TryClose();

                    }
                    else
                    {
                        o.Estado = estado;

                        oSQL.Actualizar(o);

                        if (o.Estado == 1)
                        {
                            opSQL.Eliminar(o);
                            foreach (ProductoxOrdenCompra oc in o.LstProducto)
                            {
                                oc.IdOrden = idOrden;
                                opSQL.Agregar(oc);

                            }

                            DialogResult result = MessageBox.Show("Está trabajando con un BORRADOR , desea EMITIRLO? ", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                            if (result == DialogResult.Yes)
                            {
                                o.Estado = 2;
                                oSQL.Actualizar(o);
                                MessageBox.Show("Se EMITIÓ adecuadamente la Orden de Compra", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information);

                            }
                        }
                        else
                        {

                            foreach (ProductoxOrdenCompra oc in o.LstProducto)
                            {
                                oc.IdOrden = idOrden;
                                opSQL.Actualizar(oc);
                                MessageBox.Show("Se Editó adecuadamente la Orden de Compra", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information);

                            }

                        }

                        if (model != null)
                        {
                            model.Buscar();
                        }
                        this.TryClose();

                    }

                }
        }
        public void guardarOrden(List<ProductoCant> list)
        {
            OrdenCompraxProductoSQL ocSQL = new OrdenCompraxProductoSQL();

            foreach (ProductoxOrdenCompra op in SelectedOrden.LstProducto)
            {
                foreach (ProductoCant pc in list)
                {

                    if (pc.IdProducto == op.Producto.IdProducto)
                    {
                       // MessageBox.Show(" cant atendida = " + pc.CanAtender);
                        op.CantAtendida += Convert.ToInt32(pc.CanAtender);
                        ocSQL.Actualizar(op);
                    }
                }
            }
        }
예제 #3
0
        public int Eliminar(object entity)
        {
            int k = 0;

            OrdenCompra p = entity as OrdenCompra;

            DBConexion DB = new DBConexion();

            SqlConnection conn = DB.conn;
            SqlCommand cmd = DB.cmd;
            OrdenCompraxProductoSQL oSQL = new OrdenCompraxProductoSQL();

            cmd.CommandText = "UPDATE OrdenCompra  set  estado = @estado  where idOrden = @idOrden ";

            cmd.CommandType = CommandType.Text;
            cmd.Connection = conn;

            cmd.Parameters.AddWithValue("@estado", 0);
            cmd.Parameters.AddWithValue("@idOrden", p.IdOrden);

            try
            {
                conn.Open();

                k = cmd.ExecuteNonQuery();

                foreach (ProductoxOrdenCompra op in p.LstProducto) {
                    op.Cantidad = op.CantAtendida.ToString();
                    oSQL.Actualizar(op);
                }

                conn.Close();

            }
            catch (SqlException e)
            {
                MessageBox.Show(e.Message);
            }

            return k;
        }