void Guardar() { string rpta = ""; bool guardar = true; if (string.IsNullOrWhiteSpace(textDestino.Text)) { guardar = false; XtraMessageBox.Show("Debe escribir el destino", "Generando orden de compra"); } //if (string.IsNullOrWhiteSpace(textObservaciones.Text)) //{ // guardar = false; // XtraMessageBox.Show("Debe escribir la observación","Generando orden de compra"); //} if (string.IsNullOrWhiteSpace(textContactoRecibe.Text)) { guardar = false; XtraMessageBox.Show("Debe escribir el contacto que recibe", "Generando orden de compra"); } if (gridViewDetalleSubOrden.DataRowCount == 0) { guardar = false; XtraMessageBox.Show("La orden no se puede generar", "Generando orden de compra"); } if (dateEditIngreosBodega.EditValue == null) { guardar = false; XtraMessageBox.Show("Debe especificar la fecha de ingreso", "Generando orden de compra"); } if (guardar) { int RowCount = 0; int CountChecked = 0; MOrdenCompra orden = new MOrdenCompra(); orden.IdTienda = Configuraciones.Configuraciones.idtienda; orden.IdUsuario = Configuraciones.Configuraciones.idusuario; orden.Serie = "A"; orden.Destino = textDestino.Text; orden.Observaciones = string.IsNullOrWhiteSpace(textObservaciones.Text) == true ? "" : textObservaciones.Text; orden.QuienRecibe = textContactoRecibe.Text; orden.FechaIngresoBodega = Convert.ToDateTime(dateEditIngreosBodega.EditValue); orden.Idsuborden = idsuborden; RowCount = gridViewDetalleSubOrden.DataRowCount; for (int i = 0; i < RowCount; i++) { if (Convert.ToBoolean(gridViewDetalleSubOrden.GetRowCellValue(i, "verificado"))) { CountChecked++; } } if (CountChecked == RowCount) { orden.Id_estado_orden_de_compra = 2; } if (CountChecked != RowCount) { orden.Id_estado_orden_de_compra = 3; } if (CountChecked == 0) { orden.Id_estado_orden_de_compra = 1; } List <MOrdenCompraDetalle> ordenDetalleInsercion = new List <MOrdenCompraDetalle>(); for (int i = 0; i < gridViewDetalleSubOrden.DataRowCount; i++) { MOrdenCompraDetalle ordenDet = new MOrdenCompraDetalle(); ordenDet.IdTienda = Configuraciones.Configuraciones.idtienda; ordenDet.IdSubOrdenDetalle = Convert.ToInt32(gridViewDetalleSubOrden.GetRowCellValue(i, "idsubordendetalle")); ordenDet.Idproducto = Convert.ToInt32(gridViewDetalleSubOrden.GetRowCellValue(i, "idproducto")); ordenDet.Cantidad = Convert.ToInt32(gridViewDetalleSubOrden.GetRowCellValue(i, "cantidad_autorizada")); ordenDet.Verificado = Convert.ToBoolean(gridViewDetalleSubOrden.GetRowCellValue(i, "verificado")); ordenDetalleInsercion.Add(ordenDet); } List <MHistorialPreciosCostos> HistorialInsert = new List <MHistorialPreciosCostos>(); for (int i = 0; i < gridViewDetalleSubOrden.DataRowCount; i++) { if (Convert.ToBoolean(gridViewDetalleSubOrden.GetRowCellValue(i, "verificado"))) { MHistorialPreciosCostos Historial = new MHistorialPreciosCostos(); Historial.IdTienda = Configuraciones.Configuraciones.idtienda; Historial.IdUsuarioCreacion = Configuraciones.Configuraciones.idusuario; Historial.IdOrigenMontoPrecios = 1; Historial.IdSubOrden = idsuborden; Historial.IdProducto = Convert.ToInt32(gridViewDetalleSubOrden.GetRowCellValue(i, "idproducto")); Historial.Costo = Convert.ToDecimal(gridViewDetalleSubOrden.GetRowCellValue(i, "ultimo_costo")); Historial.PrecioVenta = Convert.ToDecimal(gridViewDetalleSubOrden.GetRowCellValue(i, "precioa")); HistorialInsert.Add(Historial); } } rpta = ControllerGenerarOrdenCompra.GenerarOrdenDeCompra(orden, ordenDetalleInsercion, HistorialInsert); if (rpta == "OK") { //DOUCUMENTO GENERAL MSalidaEnc salida = new MSalidaEnc(); salida.IdTienda = Configuraciones.Configuraciones.idtienda; salida.IdUsuario = Configuraciones.Configuraciones.idusuario; salida.IdDocumentoDeInventrio = 1007; salida.IdSerie = 1; salida.IdDestino = 0; salida.IdBodegaDestino = 0; salida.Observaciones = string.IsNullOrWhiteSpace(textObservaciones.Text) == true ? "" : textObservaciones.Text; salida.Descripcion = "PROOVEEDOR DESTINO: " + textProveedor.Text; salida.Origen = "TIENDA ORIGEN: " + Configuraciones.Configuraciones.tienda; salida.Destino = "PROVEEDOR DESTINO:" + textProveedor.Text; salida.FechaDeIngreso = Convert.ToDateTime(dateEditIngreosBodega.EditValue); salida.Serie = "A"; salida.SeraIngresado = true; salida.TipoSalida = 3; salida.IdSubTraslado = 0; salida.NumeroEnvio = 0; salida.Ingresado = false; List <MSalidaDetalle> DetalleInserccion = new List <MSalidaDetalle>(); for (int i = 0; i < gridViewDetalleSubOrden.DataRowCount; i++) { MSalidaDetalle SalidaDetalle = new MSalidaDetalle(); SalidaDetalle.IdTienda = Configuraciones.Configuraciones.idtienda; SalidaDetalle.IdSubTrasladoDetalle = 0; SalidaDetalle.IdProducto = Convert.ToInt32(gridViewDetalleSubOrden.GetRowCellValue(i, "idproducto")); SalidaDetalle.Cantidad = Convert.ToInt32(gridViewDetalleSubOrden.GetRowCellValue(i, "cantidad_autorizada")); SalidaDetalle.IdExistenciaDetalle = 0; SalidaDetalle.IdBodega = 0; SalidaDetalle.EsVenta = 1; //es ventoa u otra salida DetalleInserccion.Add(SalidaDetalle); } List <MSerieProducto> IngresoDetalleInsercionSeriesProducto = new List <MSerieProducto>(); rpta = ControllerSalidas.Salidas(salida, DetalleInserccion, IngresoDetalleInsercionSeriesProducto); if (rpta == "OK") { FormImprimirOrdenCompra modalImprimir = new FormImprimirOrdenCompra(); modalImprimir.IdTienda = Configuraciones.Configuraciones.idtienda; modalImprimir.IdOrden = ControllerGenerarOrdenCompra.IdOrdenDeCompra; modalImprimir.ShowDialog(); textProveedor.Text = string.Empty; textDestino.Text = string.Empty; textObservaciones.Text = string.Empty; textContactoRecibe.Text = string.Empty; idsuborden = 0; dtDetalleSubOrdenInsercion.Rows.Clear(); EsBotonOTecla = true; this.Close(); } else { XtraMessageBox.Show("Ocurrio un error al crear el traslado, profavor consulte a su administrador de datos " + rpta, "Error al crear traslado"); } } else { XtraMessageBox.Show("Ocurrio un error al generar la orden, porfavor consulte a su administrador de datos: " + rpta, "Generando orden de compra"); } } }
void Save() { bool recibido = true; string rpta = ""; int count_autorizado = 0; int count_filas = 0; count_filas = gridViewDetalleOrdenCompra.DataRowCount; if (gridViewDetalleOrdenCompra.DataRowCount == 0) { XtraMessageBox.Show("No hay detalle de productos agregados para verificar orden", "Verificando orden de compra", MessageBoxButtons.OK, MessageBoxIcon.Information); recibido = false; } for (int i = 0; i < gridViewDetalleOrdenCompra.DataRowCount; i++) { if (Convert.ToBoolean(gridViewDetalleOrdenCompra.GetRowCellValue(i, "autorizado"))) { CountChecked++; } } for (int i = 0; i < gridViewDetalleOrdenCompra.DataRowCount; i++) { if (Convert.ToBoolean(gridViewDetalleOrdenCompra.GetRowCellValue(i, "autorizado"))) { if (Convert.ToDecimal(gridViewDetalleOrdenCompra.GetRowCellValue(i, "nuevo_precio")) == 0) { XtraMessageBox.Show("El precio de venta debe ser mayor a 0", "Verificando orden de compra", MessageBoxButtons.OK, MessageBoxIcon.Information); recibido = false; break; } } } if (CountChecked == 0) { XtraMessageBox.Show("Debe seleccionar uno o mas productos para autorizar su ingreso", "Verificando orden de compra", MessageBoxButtons.OK, MessageBoxIcon.Information); recibido = false; } if (recibido) { int RowCount = 0; CountChecked = 0; MOrdenCompra orden = new MOrdenCompra(); orden.IdTienda = Configuraciones.Configuraciones.idtienda; orden.IdGenorDenCompraEncabezado = idorden; RowCount = gridViewDetalleOrdenCompra.DataRowCount; for (int i = 0; i < RowCount; i++) { if (Convert.ToBoolean(gridViewDetalleOrdenCompra.GetRowCellValue(i, "autorizado"))) { CountChecked++; } } if (CountChecked == RowCount) { orden.Id_estado_orden_de_compra = 2; } if (CountChecked != RowCount) { orden.Id_estado_orden_de_compra = 3; } if (CountChecked == 0) { orden.Id_estado_orden_de_compra = id_estado_orden_de_compra; } List <MOrdenCompraDetalle> detalleInsercionPreciosCostos = new List <MOrdenCompraDetalle>(); for (int i = 0; i < gridViewDetalleOrdenCompra.DataRowCount; i++) { if (Convert.ToBoolean(gridViewDetalleOrdenCompra.GetRowCellValue(i, "autorizado"))) { MOrdenCompraDetalle detalleOrden = new MOrdenCompraDetalle(); detalleOrden.Idproducto = Convert.ToInt32(gridViewDetalleOrdenCompra.GetRowCellValue(i, "idproducto")); detalleOrden.NuevoCosto = Convert.ToDecimal(gridViewDetalleOrdenCompra.GetRowCellValue(i, "nuevo_costo")); detalleOrden.NuevoPrecio = Convert.ToDecimal(gridViewDetalleOrdenCompra.GetRowCellValue(i, "nuevo_precio")); detalleOrden.Recibidos = Convert.ToInt32(gridViewDetalleOrdenCompra.GetRowCellValue(i, "cantidad")); detalleOrden.IdGenorDenCompraDetalle = Convert.ToInt32(gridViewDetalleOrdenCompra.GetRowCellValue(i, "idgenordencompradetalle")); detalleOrden.IdTienda = Configuraciones.Configuraciones.idtienda; detalleInsercionPreciosCostos.Add(detalleOrden); } } List <MHistorialPreciosCostos> HistorialInsert = new List <MHistorialPreciosCostos>(); for (int i = 0; i < gridViewDetalleOrdenCompra.DataRowCount; i++) { if (Convert.ToBoolean(gridViewDetalleOrdenCompra.GetRowCellValue(i, "autorizado"))) { MHistorialPreciosCostos Historial = new MHistorialPreciosCostos(); Historial.IdTienda = Configuraciones.Configuraciones.idtienda; Historial.IdUsuarioCreacion = Configuraciones.Configuraciones.idusuario; Historial.IdOrigenMontoPrecios = 3; Historial.IdSubOrden = Convert.ToInt32(gridViewDetalleOrdenCompra.GetRowCellValue(i, "idsuborden")); Historial.IdProducto = Convert.ToInt32(gridViewDetalleOrdenCompra.GetRowCellValue(i, "idproducto")); Historial.Costo = Convert.ToDecimal(gridViewDetalleOrdenCompra.GetRowCellValue(i, "nuevo_costo")); Historial.PrecioVenta = Convert.ToDecimal(gridViewDetalleOrdenCompra.GetRowCellValue(i, "nuevo_precio")); HistorialInsert.Add(Historial); } } rpta = ControllerVerificacion.ActulizarDetalleOCPreciosCostos(orden, detalleInsercionPreciosCostos, HistorialInsert); if (rpta == "OK") { XtraMessageBox.Show("El detalle de la orden se actualizo de forma correcta", "Verificando orden de compra", MessageBoxButtons.OK, MessageBoxIcon.Information); DataTable dt = new DataTable(); dt = ControllerVerificacion.MostrarDetalleOrdenCompra(idorden, Configuraciones.Configuraciones.idtienda); if (dt.Rows.Count > 0) { txtProveedor.Text = dt.Rows[0]["proveedor"].ToString(); txtObservaciones.Text = dt.Rows[0]["observaciones"].ToString(); txtQuienRecibe.Text = dt.Rows[0]["quien_recibe_orden"].ToString(); txtCodigo.Text = dt.Rows[0]["correlativo"].ToString(); txtEstado.Text = dt.Rows[0]["estado_orden"].ToString(); idorden = Convert.ToInt32(dt.Rows[0]["idgenordencompraencabezado"]); gridControlDetalleOrdenCompra.DataSource = dt; gridControlDetalleOrdenCompra.ForceInitialize(); gridViewDetalleOrdenCompra.BestFitColumns(); if (txtEstado.Text.Equals("Completo")) { layoutControlItemBtnRecibido.Enabled = false; } else { layoutControlItemBtnRecibido.Enabled = true; } } else { txtProveedor.Text = string.Empty; txtObservaciones.Text = string.Empty; txtQuienRecibe.Text = string.Empty; txtCodigo.Text = string.Empty; txtEstado.Text = string.Empty; idorden = 0; gridControlDetalleOrdenCompra.DataSource = dt; gridControlDetalleOrdenCompra.ForceInitialize(); gridViewDetalleOrdenCompra.BestFitColumns(); } } else { XtraMessageBox.Show("Ocurrio un error al actualizar el detalle, por favor consulte a su administrador de datos " + rpta, "Verificando orden de compra", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }