Esempio n. 1
0
        private void Modifico()
        {
            ManejaDiccionario objManejaDiccionario = new ManejaDiccionario();
            bool boCancelaVenta = false;

            //Tengo que setear una fecha porque todavia no esta cargada
            //objDevoluciones.ObjSubVentaCheque.DtFechaVencimiento = DateTime.Now;
            // int intStockActual;
            string message;
            string caption = "Mensaje";

            message = "¿Desea Grabar la Devolución?";


            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            DialogResult      result;

            // Displays the MessageBox.

            result = MessageBox.Show(message, caption, buttons);

            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                ManejaDevoluciones objManejaDevoluciones = new ManejaDevoluciones();
                //Si estoy cancelando una orden, una vez actualizado el estado debo devolver el stock

                if ((cboEstado.Text == "CANCELADA") && (objManejaDevoluciones.BuscoEstado(objDevoluciones.IntCodigo) != "CANCELADA"))
                {
                    boCancelaVenta = true;
                }


                //Verifico si el cliente o el empleado estan dados de baja cuando cumplo la orden
                if (cboEstado.Text == "PENDIENTE")
                {
                    objDevoluciones.StrEstado = "CUMPLIDA";
                    cboEstado.Text            = "CUMPLIDA";
                }
                if (objDevoluciones.StrEstado == "CUMPLIDA")
                {
                    ManejaClientes objManejaClientes = new ManejaClientes();
                    if (objManejaClientes.ClienteDadoDeBaja(objDevoluciones.ObjCliente.IntCodigo))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("El cliente se encuentra eliminado, debe borrarlo para continuar");
                        return;
                    }

                    ManejaEmpleados objManejaEmpleados = new ManejaEmpleados();
                    if (objManejaEmpleados.EmpleadoDadoDeBaja(objDevoluciones.ObjEmpleado.IntCodigo))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("El vendedor se encuentra eliminado, debe borrarlo para continuar");
                        return;
                    }
                }


                ManejaArticulos objManejaArticulos = new ManejaArticulos();
                foreach (var c in objDevoluciones.ListArticulosPorDevolucion)
                {
                    if (objManejaArticulos.ArticuloDadoDeBaja(c.ObjArticulo.IntCodigo))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("El articulo " + c.ObjArticulo.StrCodigo + " - " + c.ObjArticulo.StrDescripcion + " se encuentra borrarlo, debe eliminarlo para continuar");
                        return;
                    }
                }



                objManejaDevoluciones.ModificaDevolucion(objDevoluciones);

                this.Text = "Devolución: " + lblLegajo.Text;

                foreach (var c in objDevoluciones.ListArticulosPorDevolucion)
                {
                    if (c.IntCodigo > 0)
                    {
                        //Como se si es algo que no se modifico????
                        //Quizas deberia comparar con la cantidad con la que tiene guardada en esa factura detalle
                        //  intStockActual = objManejaDevoluciones.BuscoStock(c.IntCodigo);
                        objManejaDevoluciones.ModificaVentaDetalle(c, objDevoluciones.IntCodigo);
                        //ActualizoStock(c.ObjArticulo.IntCodigo, c.IntCantidad, "CANCELADA");
                        //if (intStockActual != c.IntCantidad)
                        //{
                        //    if (c.IntCantidad > intStockActual) //Saco
                        //        ActualizoStock(c.ObjArticulo.IntCodigo, c.IntCantidad - intStockActual, "CUMPLIDA"); //Le pongo el estado CUMPLIDA para que saque stock
                        //    else //Agrego
                        //        ActualizoStock(c.ObjArticulo.IntCodigo, intStockActual - c.IntCantidad, "CANCELADA"); //Le pongo el estado CUMPLIDA para que agregue stock
                        //}
                    }
                    else
                    {
                        c.IntCodigo = objManejaDevoluciones.GrabarVentaDetalle(c, objDevoluciones.IntCodigo);
                        ActualizoStock(c, cboEstado.Text);
                    }
                }

                //Estos son los articulos dados de baja
                foreach (var d in objListArticulosPorDevolucionBorrados)
                {
                    //Borro los detalles de la base y luego devuelvo el stock

                    ActualizoStock(d.ObjArticulo.IntCodigo, d.IntCantidad, "CANCELADA"); //Le pongo el estado CUMPLIDA para que agregue
                    objManejaDevoluciones.EliminaDevolucionesDetalle(d.IntCodigo);
                }

                //Esto es para una orden dada de baja
                if (boCancelaVenta)
                {
                    foreach (var artbaja in objDevoluciones.ListArticulosPorDevolucion)
                    {
                        ActualizoStock(artbaja.ObjArticulo.IntCodigo, artbaja.IntCantidad, "CANCELADA");
                    }
                }



                MessageBox.Show("La Devolución ha sido guardada");

                //Verifico si el nuevo estado es PENDIENTE, en ese caso habilito todos los campos de lo contrario los griso

                if (objDevoluciones.StrEstado == "PENDIENTE")
                {
                    HabilitaDesabilitaCamposTodos(true);
                }
                else
                {
                    HabilitaDesabilitaCamposTodos(false);
                }


                //Fix
                //if (objDevoluciones.StrEstado == "CUMPLIDA")
                //{
                //    //Imprimo siempre y cuando este parametrizado que tiene impresora
                //    if (objManejaDiccionario.BuscarValor("IMPRESORA") == "SI")
                //        Imprimir();//btnImprimir_Click(null, null);
                //}

                CalculoPrecioNetoEnEfectivo();
            }
            else
            {
                if (objDevoluciones.StrEstado == "CUMPLIDA")
                {
                    objDevoluciones.StrEstado = "PENDIENTE";
                    cboEstado.Text            = "PENDIENTE";
                }
            }
        }
Esempio n. 2
0
        private void Grabo()
        {
            //Tengo que setear una fecha porque todavia no esta cargada
            //objDevoluciones.ObjSubVentaCheque.DtFechaVencimiento = DateTime.Now;
            ManejaDiccionario objManejaDiccionario = new ManejaDiccionario();

            string message;
            string caption = "Mensaje";

            message = "¿Desea Grabar la Devolución?";


            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            DialogResult      result;

            // Displays the MessageBox.

            result = MessageBox.Show(message, caption, buttons);

            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                //Verifico si el cliente o el empleado estan dados de baja cuando cumplo la orden

                if (objDevoluciones.StrEstado == "CUMPLIDA")
                {
                    if (String.IsNullOrEmpty(cboCliente.Text))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("Debe completar el cliente para continuar");
                        return;
                    }

                    if (String.IsNullOrEmpty(cboVendedor.Text))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("Debe completar el vendedor para continuar");
                        return;
                    }


                    ManejaClientes objManejaClientes = new ManejaClientes();
                    if (objManejaClientes.ClienteDadoDeBaja(objDevoluciones.ObjCliente.IntCodigo))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("El cliente se encuentra eliminado, debe borrarlo para continuar");
                        return;
                    }

                    ManejaEmpleados objManejaEmpleados = new ManejaEmpleados();
                    if (objManejaEmpleados.EmpleadoDadoDeBaja(objDevoluciones.ObjEmpleado.IntCodigo))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("El vendedor se encuentra eliminado, debe borrarlo para continuar");
                        return;
                    }
                }

                ManejaArticulos objManejaArticulos = new ManejaArticulos();

                //Antes de Grabar la venta debo verificar si el el articulo esta dado de baja y si posee Stock
                foreach (var c in objDevoluciones.ListArticulosPorDevolucion)
                {
                    //int sumaStockArt = 0;
                    if (objManejaArticulos.ArticuloDadoDeBaja(c.ObjArticulo.IntCodigo))
                    {
                        objDevoluciones.StrEstado = "PENDIENTE";
                        cboEstado.Text            = "PENDIENTE";
                        MessageBox.Show("El articulo " + c.ObjArticulo.StrCodigo + " - " + c.ObjArticulo.StrDescripcion + " se encuentra eliminado, debe borrarlo para continuar");
                        return;
                    }

                    //Obtengo el stock Actual
                    //int stockActual = objManejaArticulos.CantidadDeStock(c.ObjArticulo.IntCodigo);
                    ////Ahora sumo todos los articulos que hay en la compra
                    //foreach (var art in objDevoluciones.ListArticulosPorDevolucion)
                    //{
                    //    if (art.ObjArticulo.IntCodigo == c.ObjArticulo.IntCodigo)
                    //        //Sumo la cantidad de articulos
                    //        sumaStockArt = sumaStockArt + art.IntCantidad;
                    //}
                    //if (stockActual < sumaStockArt) //Si el stock actual es menor a lo que estoy vendiendo, aviso
                    //{
                    //    objDevoluciones.StrEstado = "PENDIENTE";
                    //    cboEstado.Text = "PENDIENTE";
                    //    MessageBox.Show("El articulo " + c.ObjArticulo.StrCodigo + " - " + c.ObjArticulo.StrDescripcion + " se encuentra sin Stock suficiente, posee " + stockActual + " y esta vendiendo " + sumaStockArt + ", debe borrarlo o modificar el stock para continuar");
                    //    return;
                    //}
                }
                CalculoPrecioNetoEnEfectivo();

                ManejaDevoluciones objManejaDevoluciones = new ManejaDevoluciones();

                objDevoluciones.IntCodigo = objManejaDevoluciones.GrabarDevolucion(objDevoluciones);

                lblLegajo.Text = Convert.ToString(objDevoluciones.IntCodigo);
                this.Text      = "Devolución: " + lblLegajo.Text;

                foreach (var c in objDevoluciones.ListArticulosPorDevolucion)
                {
                    c.IntCodigo = objManejaDevoluciones.GrabarVentaDetalle(c, objDevoluciones.IntCodigo);
                    ActualizoStock(c, cboEstado.Text);
                }


                MessageBox.Show("La Devolución ha sido guardada");
                //btnImprimir.Enabled = true;

                //Fix
                //if (objDevoluciones.StrEstado == "CUMPLIDA")
                //{
                //    //Imprimo siempre y cuando este parametrizado que tiene impresora
                //    if (objManejaDiccionario.BuscarValor("IMPRESORA") == "SI")
                //        Imprimir();//btnImprimir_Click(null, null);
                //}

                //CalculoPrecioNetoEnEfectivo();
            }
            else
            {
                if (objDevoluciones.StrEstado == "CUMPLIDA")
                {
                    objDevoluciones.StrEstado = "PENDIENTE";
                    cboEstado.Text            = "PENDIENTE";
                }
            }

            if (objDevoluciones.StrEstado == "PENDIENTE")
            {
                HabilitaDesabilitaCamposTodos(true);
            }
            else
            {
                HabilitaDesabilitaCamposTodos(false);
            }
        }