private void btnAddUbicacion_Click(object sender, EventArgs e) { if (IdEntidadMnt == 0) { XtraMessageBox.Show("Grabe la información", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var idAlmacenSel = iIdalmacen.EditValue; if (idAlmacenSel == null) { XtraMessageBox.Show("Seleccione el almacen", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Error); iIdalmacen.Select(); return; } var buscadorUbicacionFrm = new BuscadorUbicacionFrm((int)idAlmacenSel); buscadorUbicacionFrm.ShowDialog(); const string nombreIdDetalle = "Idinventarioubicacion"; if (buscadorUbicacionFrm.DialogResult == DialogResult.OK && buscadorUbicacionFrm.VwUbicacionSel != null) { //Asignar al edit value del campo id foraneo int cantReferenciasItem = VwInventarioubicacionList.Count(x => x.Idubicacion == buscadorUbicacionFrm.VwUbicacionSel.Idubicacion); if (cantReferenciasItem > 0) { string mensaje = string.Format("La Ubicacion {0} ya fue agregada", buscadorUbicacionFrm.VwUbicacionSel.Nombreubicacion); XtraMessageBox.Show(mensaje, "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } //Guardar la ubicacion seleccionada VwUbicacion vwubicacionItem = buscadorUbicacionFrm.VwUbicacionSel; Inventarioubicacion inventarioubicacionMnt = new Inventarioubicacion { Idinventario = IdEntidadMnt, Idubicacion = vwubicacionItem.Idubicacion, }; // int idinventarioubicacion = Service.SaveInventarioubicacion(inventarioubicacionMnt); inventarioubicacionMnt.Idinventarioubicacion = idinventarioubicacion; if (idinventarioubicacion > 0) { VwInventarioubicacion vwInventarioubicacion = new VwInventarioubicacion { Idinventarioubicacion = idinventarioubicacion, Idinventario = IdEntidadMnt, Ambiente = vwubicacionItem.Ambiente, Columna = vwubicacionItem.Columna, Fila = vwubicacionItem.Fila, Ubicacion = vwubicacionItem.Nombreubicacion, Idubicacion = vwubicacionItem.Idubicacion, Numeroinventario = iNumeroinventario.Text.Trim(), Fechainventario = (DateTime?)iFechainventario.EditValue }; VwInventarioubicacionList.Add(vwInventarioubicacion); gvUbicacion.RefreshData(); gvUbicacion.BestFitColumns(true); //Enfocar el id generado if (vwInventarioubicacion.Idinventarioubicacion > 0) { var rowHandle = gvUbicacion.LocateByValue(nombreIdDetalle, vwInventarioubicacion.Idinventarioubicacion); if (rowHandle == GridControl.InvalidRowHandle) { return; } gvUbicacion.FocusedRowHandle = rowHandle; } } } }
private void btnMoverOtraUbicacion_Click(object sender, EventArgs e) { TipoMantenimiento tipoMantenimientoItem = TipoMantenimiento.Modificar; VwInventariostock vwInventariostockMntItemAMover = (VwInventariostock)gvArticulosDet.GetFocusedRow(); if (vwInventariostockMntItemAMover == null) { return; } InventarioMoverUbicacionMntItemFrm inventarioMoverUbicacionMntItemFrm = new InventarioMoverUbicacionMntItemFrm(tipoMantenimientoItem, vwInventariostockMntItemAMover, (int)iIdalmacen.EditValue); inventarioMoverUbicacionMntItemFrm.ShowDialog(); if (inventarioMoverUbicacionMntItemFrm.DialogResult == DialogResult.OK) { //Guardar la ubicacion de destino VwInventarioubicacion vwInventarioubicacionExiste = VwInventarioubicacionList.FirstOrDefault(x => x.Idubicacion == inventarioMoverUbicacionMntItemFrm.IdUbicacionDestino); int idinventarioubicacionAMover; if (vwInventarioubicacionExiste != null) { idinventarioubicacionAMover = vwInventarioubicacionExiste.Idinventarioubicacion; } else { Inventarioubicacion inventarioubicacionMnt = new Inventarioubicacion { Idinventario = IdEntidadMnt, Idubicacion = inventarioMoverUbicacionMntItemFrm.IdUbicacionDestino, }; idinventarioubicacionAMover = Service.SaveInventarioubicacion(inventarioubicacionMnt); inventarioubicacionMnt.Idinventarioubicacion = idinventarioubicacionAMover; // VwUbicacion vwubicacionItem = Service.GetVwUbicacion(inventarioubicacionMnt.Idubicacion); if (idinventarioubicacionAMover > 0) { VwInventarioubicacion vwInventarioubicacion = new VwInventarioubicacion { Idinventarioubicacion = idinventarioubicacionAMover, Idinventario = IdEntidadMnt, Ambiente = vwubicacionItem.Ambiente, Columna = vwubicacionItem.Columna, Fila = vwubicacionItem.Fila, Ubicacion = vwubicacionItem.Nombreubicacion, Idubicacion = vwubicacionItem.Idubicacion, Numeroinventario = iNumeroinventario.Text.Trim(), Fechainventario = (DateTime?)iFechainventario.EditValue }; VwInventarioubicacionList.Add(vwInventarioubicacion); } } //Agregar al articulo la ubicacion por defecto si es que no existe Articuloubicacion articuloubicacionExistente = Service.GetArticuloubicacion( x => x.Idarticulo == vwInventariostockMntItemAMover.Idarticulo && x.Idubicacion == inventarioMoverUbicacionMntItemFrm.IdUbicacionDestino); if (articuloubicacionExistente == null) { Articuloubicacion articuloubicacion = new Articuloubicacion { Idarticulo = vwInventariostockMntItemAMover.Idarticulo, Idubicacion = inventarioMoverUbicacionMntItemFrm.IdUbicacionDestino }; Service.SaveArticuloubicacion(articuloubicacion); } // gvUbicacion.RefreshData(); gvUbicacion.BestFitColumns(true); //Cambiar la ubicacion Inventariostock inventariostockAMover = Service.GetInventariostock(vwInventariostockMntItemAMover.Idinventariostock); inventariostockAMover.Idinventarioubicacion = idinventarioubicacionAMover; Service.UpdateInventariostock(inventariostockAMover); //Enfocar la ubicacion if (idinventarioubicacionAMover > 0) { var rowHandleUbicacion = gvUbicacion.LocateByValue("Idinventarioubicacion", idinventarioubicacionAMover); if (rowHandleUbicacion == GridControl.InvalidRowHandle) { return; } gvUbicacion.FocusedRowHandle = rowHandleUbicacion; } //Enfocar el articulo que se movio var rowHandleArticuloMovido = gvArticulosDet.LocateByValue("Idinventariostock", vwInventariostockMntItemAMover.Idinventariostock); if (rowHandleArticuloMovido == GridControl.InvalidRowHandle) { return; } gvArticulosDet.FocusedRowHandle = rowHandleArticuloMovido; } }