//___________________________SE PUEDE ACTUALIZAR LA REQUISION SI ESTA PENDITNE DE LO CONTRARIO NO SE PODRA EDITAR public static string ActualizarCapturaPedidoRequisicion(MRequisicion requisicion, List <MRequisicionDetalle> detalleEliminacion, List <MRequisicionDetalle> detalleInsercion) { string rpta = ""; MProcedimiento objProc = new MProcedimiento(); MExecute objExcute = new MExecute(); try { objProc.NombreProcedimiento = "SPUpdate_CapturaPedido"; objProc.Parametros.Add(new MParametro { Nombre = "@idcapturapedido", Valor = requisicion.Idcapturapedido, Tipo = DbType.Int64, Out = false }); objProc.Parametros.Add(new MParametro { Nombre = "@idtienda", Valor = requisicion.Idtienda, Tipo = DbType.Int64, Out = false }); objProc.Parametros.Add(new MParametro { Nombre = "@Observaciones", Valor = requisicion.Observacion, Tipo = DbType.String, Out = false }); objProc.Parametros.Add(new MParametro { Nombre = "@id_estado_requisicion", Valor = requisicion.IdEstadoRequisicion, Tipo = DbType.Int32, Out = false }); objExcute.IniciarTran(); rpta = objExcute.UpsertTransaction(objProc); if (detalleEliminacion != null && detalleInsercion != null) { if (rpta.Equals("OK")) { int idencabezadoTabla = requisicion.Idcapturapedido; foreach (MRequisicionDetalle item in detalleEliminacion) { item.Idcapturapedido = idencabezadoTabla; MProcedimiento objProc1 = new MProcedimiento(); objProc1.NombreProcedimiento = "SPSave_CapturaPedidoDetalle"; objProc1.Parametros.Add(new MParametro { Nombre = "@id_captura_pedido_detalle", Valor = item.Idcapturapedidodetalle, Tipo = DbType.Int64, Out = false }); objProc1.Parametros.Add(new MParametro { Nombre = "@idtienda", Valor = item.Idtienda, Tipo = DbType.Int64, Out = false }); objProc1.Parametros.Add(new MParametro { Nombre = "@idcapturapedido", Valor = item.Idcapturapedido, Tipo = DbType.Int64, Out = false }); objProc1.Parametros.Add(new MParametro { Nombre = "@idproducto", Valor = item.Idproducto, Tipo = DbType.Int64, Out = false }); objProc1.Parametros.Add(new MParametro { Nombre = "@cantidad_requerida", Valor = item.CantidadRequerida, Tipo = DbType.Int32, Out = false }); objProc1.Parametros.Add(new MParametro { Nombre = "@opcion", Valor = item.Opcion, Tipo = DbType.Int32, Out = false }); rpta = objExcute.UpsertTransaction(objProc1); if (!rpta.Equals("OK")) { break; } } foreach (MRequisicionDetalle item in detalleInsercion) { item.Idcapturapedido = idencabezadoTabla; MProcedimiento objProc1 = new MProcedimiento(); objProc1.NombreProcedimiento = "SPSave_CapturaPedidoDetalle"; objProc1.Parametros.Add(new MParametro { Nombre = "@id_captura_pedido_detalle", Valor = item.Idcapturapedidodetalle, Tipo = DbType.Int64, Out = false }); objProc1.Parametros.Add(new MParametro { Nombre = "@idtienda", Valor = item.Idtienda, Tipo = DbType.Int64, Out = false }); objProc1.Parametros.Add(new MParametro { Nombre = "@idcapturapedido", Valor = item.Idcapturapedido, Tipo = DbType.Int64, Out = false }); objProc1.Parametros.Add(new MParametro { Nombre = "@idproducto", Valor = item.Idproducto, Tipo = DbType.Int64, Out = false }); objProc1.Parametros.Add(new MParametro { Nombre = "@cantidad_requerida", Valor = item.CantidadRequerida, Tipo = DbType.Int32, Out = false }); objProc1.Parametros.Add(new MParametro { Nombre = "@opcion", Valor = item.Opcion, Tipo = DbType.Int32, Out = false }); rpta = objExcute.UpsertTransaction(objProc1); if (!rpta.Equals("OK")) { break; } } } } if (rpta.Equals("OK")) { objExcute.TranasctionCommit(); } else { objExcute.TranasctionRollback(); } } catch (Exception) { throw; } finally { objExcute.cerrarConexionTransaccion(); } return(rpta); }
private void Guardar() { string respuesta = ""; bool CrearRequisicion = true; //if (string.IsNullOrWhiteSpace(textObservaciones.Text)) //{ // XtraMessageBox.Show(this, "Debe escribir las observaciones", "Editando requisición"); // CrearRequisicion = false; //} if (dtDetalleInsercion.Rows.Count < 1) { XtraMessageBox.Show(this, "Debe indicar los productos a requerir", "Editando requisición"); CrearRequisicion = false; } for (int i = 0; i < gridViewListaDetalleProductos.DataRowCount; i++) { if (Convert.ToInt16(gridViewListaDetalleProductos.GetRowCellValue(i, "cantidad_requerida")) == 0) { XtraMessageBox.Show(this, "Uno o mas productos deben tener una cantidad mayor a 0", "Editando requisición"); CrearRequisicion = false; break; } } if (idcapturaPedido == 0) { XtraMessageBox.Show(this, "No hay requisición para editar", "Editando requisición"); CrearRequisicion = false; } if (CrearRequisicion) { MRequisicion requisicion = new MRequisicion(); requisicion.Idcapturapedido = idcapturaPedido; requisicion.Idtienda = Configuraciones.Configuraciones.idtienda; requisicion.Observacion = string.IsNullOrWhiteSpace(textObservaciones.Text) == true ? "" : textObservaciones.Text; requisicion.IdEstadoRequisicion = 1; List <MRequisicionDetalle> detalleEliminacionRequisicio = new List <MRequisicionDetalle>(); foreach (DataRow item in dtDetalleEliminacion.Rows) { MRequisicionDetalle requisicionProductos = new MRequisicionDetalle(); requisicionProductos.Idcapturapedidodetalle = Convert.ToInt32(item["idcapturapedidodetalle"]); requisicionProductos.Idtienda = Configuraciones.Configuraciones.idtienda; requisicionProductos.Idproducto = Convert.ToInt32(item["idproducto"]); requisicionProductos.CantidadRequerida = Convert.ToInt32(item["cantidad_requerida"]); requisicionProductos.Opcion = 0; detalleEliminacionRequisicio.Add(requisicionProductos); } List <MRequisicionDetalle> detalleInsercionRequisicio = new List <MRequisicionDetalle>(); for (int i = 0; i < gridViewListaDetalleProductos.DataRowCount; i++) { MRequisicionDetalle requisicionProductos = new MRequisicionDetalle(); requisicionProductos.Idcapturapedidodetalle = 0; requisicionProductos.Idtienda = Configuraciones.Configuraciones.idtienda; requisicionProductos.Idproducto = Convert.ToInt32(gridViewListaDetalleProductos.GetRowCellValue(i, "idproducto")); requisicionProductos.CantidadRequerida = Convert.ToInt32(gridViewListaDetalleProductos.GetRowCellValue(i, "cantidad_requerida")); requisicionProductos.Opcion = 1; detalleInsercionRequisicio.Add(requisicionProductos); } respuesta = ControllerCapturaPedido.ActualizarCapturaPedidoRequisicion(requisicion, detalleEliminacionRequisicio, detalleInsercionRequisicio); if (respuesta == "OK") { FormImprimirRequisicio modalImprimir = new FormImprimirRequisicio(); modalImprimir.IdTienda = Configuraciones.Configuraciones.idtienda; modalImprimir.IdCapturaPedido = idcapturaPedido; modalImprimir.ShowDialog(); textObservaciones.Text = string.Empty; spinEditCantidad.Value = 0; dtDetalleInsercion.Clear(); dtDetalleEliminacion.Clear(); idcapturaPedido = 0; spinEditNumeroRequisicion.Value = 0; this.Close(); } else { XtraMessageBox.Show("Error al crear requisición, consulte a su administrador de datos " + respuesta, "Editando requisición"); } } }