private void FormNotificaciones_Load(object sender, EventArgs e)
 {
     gridControlNotificaciones.DataSource = ControllerNotificacion.Mostrar(Configuraciones.Configuraciones.idtienda, 0);
     gridControlNotificaciones.ForceInitialize();
     gridViewNotificaciones.BestFitColumns();
 }
        public void IngresarProductos()
        {
            bool   guardar = true;
            string rpta    = "";

            if (lookUpEditBodegaCarga.ItemIndex < 0)
            {
                XtraMessageBox.Show("SELECCIONE LA BODEGA DE CARGA", Configuraciones.Configuraciones.NombreDelSistema, MessageBoxButtons.OK, MessageBoxIcon.Information);
                guardar = false;
            }

            if (gridViewListaDetalleIngreso.DataRowCount == 0)
            {
                //XtraMessageBox.Show("No hay productos para ingresar", "Ingresando productos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                guardar = false;
            }
            if (idtraslado == 0)
            {
                XtraMessageBox.Show("DEBE ESPECIFICAR EL DOCUMENTO", Configuraciones.Configuraciones.NombreDelSistema, MessageBoxButtons.OK, MessageBoxIcon.Information);
                guardar = false;
            }
            if (guardar)
            {
                int       CantidadRecibidos       = 0;
                string    producto                = "";
                int       idgenordencompradetalle = 0;
                int       contFilas               = 0;
                int       cantidadAgregar         = 0;
                DataTable dtSeriesDatos;
                if (id_tipo_de_documento == 2)
                {
                    for (int i = 0; i < gridViewListaDetalleIngreso.DataRowCount; i++)
                    {
                        CantidadRecibidos       = Convert.ToInt32(gridViewListaDetalleIngreso.GetRowCellValue(i, "cantidad"));
                        producto                = Convert.ToString(gridViewListaDetalleIngreso.GetRowCellValue(i, "descripcion_producto"));
                        idgenordencompradetalle = Convert.ToInt32(gridViewListaDetalleIngreso.GetRowCellValue(i, "idproducto"));

                        GeneradorDeSeries.asignaciones(CantidadRecibidos, contFilas, cantidadAgregar, idgenordencompradetalle);
                        dtSeriesDatos = GeneradorDeSeries.GnerarSeries(dtSeries, dtSeriesCopia);
                        GeneradorDeSeries.OrdenarSeries(dtSeries, dtSeriesCopia, dtSeriesDatos);
                    }
                }



                MIngreso ingreso = new MIngreso();
                ingreso.IdTienda               = Configuraciones.Configuraciones.idtienda;
                ingreso.IdUsuario              = Configuraciones.Configuraciones.idusuario;
                ingreso.IdDocumento            = id_tipo_de_documento;
                ingreso.IdSerie                = 1;
                ingreso.IdBodega               = Convert.ToInt32(lookUpEditBodegaCarga.EditValue);
                ingreso.Observaciones          = string.IsNullOrWhiteSpace(txtObservaciones.Text) == true ? "" : txtObservaciones.Text;
                ingreso.DescripcionDeDocumento = txtOrigen.Text + ". BODEGA DE INGRESO: " + lookUpEditBodegaCarga.Text;
                ingreso.Origen           = "TIENDA ORIGEN: " + Configuraciones.Configuraciones.tienda;
                ingreso.Destino          = "BODEGA DE INGRESO: " + lookUpEditBodegaCarga.Text;
                ingreso.FacturaProveedor = "";
                ingreso.SerieFactura     = "";
                ingreso.Serie            = "A";
                ingreso.Correlativo      = correlativo;
                ingreso.IdSalidaEnc      = id_salida_enca;


                List <MIngresoDetalle> IngresoDetalleInsercion = new List <MIngresoDetalle>();
                for (int i = 0; i < gridViewListaDetalleIngreso.DataRowCount; i++)
                {
                    MIngresoDetalle detalle = new MIngresoDetalle();
                    detalle.IdTienda                = Configuraciones.Configuraciones.idtienda;
                    detalle.IdTiendaOrigen          = Convert.ToInt32(gridViewListaDetalleIngreso.GetRowCellValue(i, "id_tienda"));
                    detalle.IdBodegaOrigen          = Convert.ToInt32(gridViewListaDetalleIngreso.GetRowCellValue(i, "id_bodega"));
                    detalle.IdGenOrdenCompraDetalle = 0;
                    detalle.IdSalidaDet             = Convert.ToInt32(gridViewListaDetalleIngreso.GetRowCellValue(i, "id_salida_detalle"));
                    detalle.IdProducto              = Convert.ToInt32(gridViewListaDetalleIngreso.GetRowCellValue(i, "idproducto"));
                    detalle.Cantidad                = Convert.ToInt32(gridViewListaDetalleIngreso.GetRowCellValue(i, "cantidad"));
                    detalle.ConSeries               = false;
                    detalle.IdBodega                = Convert.ToInt32(lookUpEditBodegaCarga.EditValue);
                    detalle.Restante                = 0;
                    detalle.EsOrden = false;
                    IngresoDetalleInsercion.Add(detalle);
                }



                List <MSerieProducto> IngresoDetalleInsercionSeriesProducto = new List <MSerieProducto>();

                for (int i = 0; i < gridViewListaDetalleIngreso.DataRowCount; i++)
                {
                    foreach (DataRow item in dtSeries.Rows)
                    {
                        if (Convert.ToInt32(gridViewListaDetalleIngreso.GetRowCellValue(i, "idproducto")) == Convert.ToInt32(item["idproducto"]))
                        {
                            MSerieProducto serie = new MSerieProducto();
                            serie.Idtienda = Configuraciones.Configuraciones.idtienda;
                            serie.IdordenDeCompraDetalle = Convert.ToInt32(item["idproducto"]);
                            serie.Numero = Convert.ToInt32(item["numero"]);
                            serie.Serie  = Convert.ToString(item["serie"]);
                            IngresoDetalleInsercionSeriesProducto.Add(serie);
                        }
                    }
                }


                rpta = ControllerIngreso.IngresarProductos(ingreso, IngresoDetalleInsercion, IngresoDetalleInsercionSeriesProducto);

                if (rpta == "OK")
                {
                    //alertControl1.Show(this, "Ingreso realizado correctamnte", "Los productos se ingresaron correctamente");


                    dtDetalleInsercion =
                        ControllerDocumentosInventario.MostrarDocumentoOperado(
                            Convert.ToInt32(spinEditNumeroDocumento.EditValue)
                            , Convert.ToInt32(lookUpEditTiendas.EditValue)
                            , id_tipo_de_Salida
                            , id_origen
                            , id_destino
                            , false
                            , 1);

                    if (dtDetalleInsercion.Rows.Count > 0)
                    {
                        gridControlListaDetalleIngreso.DataSource = dtDetalleInsercion;
                        gridControlListaDetalleIngreso.ForceInitialize();
                        gridViewListaDetalleIngreso.BestFitColumns();

                        foreach (DataRow row in dtDetalleInsercion.Rows)
                        {
                            totalproductosrecibidos += Convert.ToInt32(row["cantidad"]);
                        }
                        textRecibidos.Text = totalproductosrecibidos.ToString();
                    }
                    else
                    {
                        gridControlListaDetalleIngreso.DataSource = dtDetalleInsercion;
                        txtObservaciones.Text             = string.Empty;
                        txtOrigen.Text                    = string.Empty;
                        spinEditNumeroDocumento.EditValue = 0;
                        idtraslado = 0;
                        //correlativo = 0;
                        txtCorrelativo.Text     = string.Empty;
                        totalproductosrecibidos = 0;
                    }
                    if (id_tipo_de_documento == 2)
                    {
                        ControllerNotificacion.Actualizar(Configuraciones.Configuraciones.idtienda, correlativo);

                        DocumentosInvetntario.DocumentosOperados.ImprimirDocumentoGenerado(
                            correlativo                                    // correlativo del documento
                            , Configuraciones.Configuraciones.idtienda     // id del documento
                            , id_tipo_de_documento                         // id tienda donde se reailizo la operacion
                            , Convert.ToInt32(lookUpEditTiendas.EditValue) // id origen
                            , Configuraciones.Configuraciones.idtienda
                            , true
                            , 0);
                    }
                    if (id_tipo_de_documento == 3)
                    {
                        DocumentosInvetntario.DocumentosOperados.ImprimirDocumentoGenerado(
                            correlativo                                // correlativo del documento
                            , Configuraciones.Configuraciones.idtienda // id del documento
                            , id_tipo_de_documento                     // id tienda donde se reailizo la operacion
                            , Configuraciones.Configuraciones.idtienda // id origen
                            , 0
                            , true
                            , 0);
                    }
                    this.Close();
                }
                else
                {
                    XtraMessageBox.Show("Ocurrio un erro al ingresar los productos, por favor consulte a su administrador de datos " + rpta, "Error al ingresar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }