private void btnAgregarDeposito_Click(object sender, EventArgs e) { try { deposito depositoNuevo = new deposito { IdOperador = opSeleccionado.IdOperador, IdViajeSci = idViaje, Monto = double.Parse(textMonto.Text), Tipo = comboTipoDeposito.Text, Referencia = textReferencia.Text, Fecha = DateTime.Now, Nota = textNota.Text }; if (managerDeposito.Insertar(depositoNuevo)) { deposito lastDeposito = managerDeposito.BuscarUltimoIngresado(); log registro = new log { Accion = "agregar", NombreUsuario = user.NombreUsuario, Fecha = DateTime.Now, ModuloAfectado = "deposito-id:" + lastDeposito.IdDeposito }; managerLog.Insertar(registro); //Se tiene que actualizar el monto total de saldo del operador en el viaje operadoresenviaje opEnElViaje = managerOperadorEnViaje.BuscarPorIdViajeOpsyOperador(idViaje, opSeleccionado.IdOperador); if (opEnElViaje != null) { opEnElViaje.SaldoActual += depositoNuevo.Monto; if (managerOperadorEnViaje.Actualizar(opEnElViaje)) { resultado = "Se ha registrado correctamente el nuevo abono."; //MessageBox.Show("Se han ingresado correctamente el nuevo Deposito.", "Actualización de Depósitos", MessageBoxButtons.OK, MessageBoxIcon.Information); cargarTodosLosDepositos(); textMonto.Clear(); comboTipoDeposito.Text = string.Empty; textReferencia.Text = string.Empty; textNota.Text = string.Empty; } } } else { MessageBox.Show(managerDeposito.Error, "Error al ingresar el nuevo Deposito.", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch { MessageBox.Show("Revisa por favor que los campos tengan el tipo de dato correcto.", "Error al ingresar el nuevo Deposito.", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnEliminarDeposito_Click(object sender, EventArgs e) { if (filaSeleccionada >= 0) { DialogResult Resultado = MessageBox.Show("¿Esta seguro de eliminar el deposito Seleccionado?", "Eliminar Deposito.", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (Resultado == DialogResult.Yes) { if (existenGastosAsociados()) { MessageBox.Show("No se puede eliminar el deposito porque tiene gastos asociados, es necesario primero eliminar los gastos.", "Eliminar Deposito.", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { //Como no existen gastos asociados al operador en el viaje entonces podemos eliminar el Deposito y decrementar el saldo actual. int idDepositoAEliminar = int.Parse(dgvDepositos["idDeposito", filaSeleccionada].Value.ToString()); double montoDelDeposito = double.Parse(dgvDepositos["monto", filaSeleccionada].Value.ToString()); if (managerDeposito.Eliminar(idDepositoAEliminar)) { operadoresenviaje opEnViaje = managerOperadorEnViaje.BuscarPorIdViajeOpsyOperador(idViaje, opSeleccionado.IdOperador); log registro = new log { Accion = "eliminar", NombreUsuario = user.NombreUsuario, Fecha = DateTime.Now, ModuloAfectado = "deposito-id:" + idDepositoAEliminar }; managerLog.Insertar(registro); opEnViaje.SaldoActual = opEnViaje.SaldoActual - montoDelDeposito; managerOperadorEnViaje.Actualizar(opEnViaje); cargarTodosLosDepositos(); } } } } }