private bool crearDetalleMovimiento(movimientos objMovimientos) { bool bandera = false; decimal existenciaTotal = 0; decimal existenciaAnterior = 0; decimal cantidadMovimiento = 0; //Recorre las filas.. foreach (DataGridViewRow fila in dgvDetallesMovimientos.Rows) { if (fila.Cells[0].Value != null) { try { //Crear Objeto de detalles_movimientos objDetallesMovimientos = new detalles_movimientos(); cantidadMovimiento = Convert.ToDecimal(fila.Cells["cantidad"].Value.ToString()); existenciaTotal = Convert.ToDecimal(fila.Cells["existencia_total"].Value.ToString()); existenciaAnterior = (existenciaTotal - cantidadMovimiento); objDetallesMovimientos.id_movimiento = Convert.ToInt32(objMovimientos.id_movimiento.ToString()); objDetallesMovimientos.id_producto = Convert.ToInt32(fila.Cells["id_producto"].Value.ToString()); objDetallesMovimientos.id_bodega = Convert.ToInt32(fila.Cells["id_bodega"].Value.ToString()); objDetallesMovimientos.fecha_vencimiento = Convert.ToDateTime(fila.Cells["fecha_vencimiento"].Value.ToString()); objDetallesMovimientos.lote = Convert.ToString(fila.Cells["lote"].Value.ToString()); objDetallesMovimientos.cantidad = cantidadMovimiento; objDetallesMovimientos.costo_unitario = Convert.ToDecimal(fila.Cells["costo_unitario"].Value.ToString()); objDetallesMovimientos.costo_unitario_promedio = Convert.ToDecimal(fila.Cells["costo_unitario_promedio"].Value.ToString()); objDetallesMovimientos.existencia_anterior = existenciaAnterior; objDetallesMovimientos.existencia_total = existenciaTotal; objDetallesMovimientos.estado = Convert.ToInt32(fila.Cells["estado"].Value.ToString()); detalles_movimientos respuestaDetalle = MovimientosBL.crearDetalleMovimientos(objDetallesMovimientos, objMovimientos); Debug.Write(respuestaDetalle); if (respuestaDetalle == null) { bandera = false; } else { bandera = true; } } catch (Exception error) { MessageBox.Show( "Error al crear detalle de este movimiento " + error, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation ); break; } } } return(bandera); }
public static detalles_movimientos crearDetalleMovimientos(detalles_movimientos detallesMovimientos, movimientos objMovimientos) { using (inventarioEntities bd = new inventarioEntities()) { tipo_bodega_bodegas tipoBodegaBodegas = new tipo_bodega_bodegas(); tipoMovimiento = Convert.ToInt32(objMovimientos.id_tipo_movimiento); idBodega = Convert.ToInt32(detallesMovimientos.id_bodega); cantidadMovimiento = Convert.ToDouble(detallesMovimientos.cantidad); tipo_bodega_bodegas Tipo_Bodega_Bodegas = BodegaDAL.cargarDatosBodega(tipoBodegaBodegas, idBodega); cantidadCapacidadMaxima = Convert.ToDouble(Tipo_Bodega_Bodegas.capacidad_maxima); cantidadCapacidadActual = Convert.ToDouble(Tipo_Bodega_Bodegas.capacidad_actual); switch (tipoMovimiento) { case 1: if (actualizarExistenciaBodega(idBodega, cantidadMovimiento, cantidadCapacidadMaxima, cantidadCapacidadActual)) { bd.detalles_movimientos.Add(detallesMovimientos); bd.SaveChanges(); } else { detallesMovimientos = null; } break; case 2: cantidadCapacidadActual = (cantidadCapacidadActual - cantidadMovimiento); if (cantidadCapacidadActual == 0) { detallesMovimientos = null; } else { var bg = bd.tipo_bodega_bodegas.First(indice => indice.id_bodega == idBodega); if (bg != null) { bg.capacidad_actual = Convert.ToDecimal(cantidadCapacidadActual); bd.Entry(bg).State = System.Data.Entity.EntityState.Modified; bd.SaveChanges(); } bd.detalles_movimientos.Add(detallesMovimientos); bd.SaveChanges(); } break; case 3: bd.detalles_movimientos.Add(detallesMovimientos); bd.SaveChanges(); break; case 4: cantidadCapacidadActual = (cantidadCapacidadActual - cantidadMovimiento); if (cantidadCapacidadActual == 0) { detallesMovimientos = null; } else { var bg = bd.tipo_bodega_bodegas.First(indice => indice.id_bodega == idBodega); if (bg != null) { bg.capacidad_actual = Convert.ToDecimal(cantidadCapacidadActual); bd.Entry(bg).State = System.Data.Entity.EntityState.Modified; bd.SaveChanges(); } bd.detalles_movimientos.Add(detallesMovimientos); bd.SaveChanges(); } break; } } return(detallesMovimientos); }
public static detalles_movimientos crearDetalleMovimientos(detalles_movimientos detallesMovimientos, movimientos objMovimientos) { return(MovimientosDAL.crearDetalleMovimientos(detallesMovimientos, objMovimientos)); }