private void gridBuscarClientes_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (gridBuscarClientes.RowCount > 0) { /* if (boOtraPantalla) * { * intCodigo = Convert.ToInt32(gridBuscarClientes.CurrentRow.Cells[0].Value.ToString()); * this.Close(); * } * else * {*/ ManejaDevoluciones objManejaDevoluciones = new ManejaDevoluciones(); int intCodigo = Convert.ToInt32(gridBuscarClientes.CurrentRow.Cells[0].Value.ToString()); Devoluciones objDevoluciones = objManejaDevoluciones.BuscarDevoluciones(intCodigo); frmDevoluciones objfrmDevoluciones = new frmDevoluciones(objDevoluciones); if (frmLogin.PermiteEntrar("VENTAS", "VENTA_DEVOLUCION")) { objfrmDevoluciones.Show(); objfrmDevoluciones.Activate(); CargoGrilla(); } //} } }
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"; } } }
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); } }