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);
        }
Example #2
0
        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));
 }