Olá pessoal. Tudo bem?
Estou com o seguinte problema: Estou tentando alterar um campo de uma tabela ja populada q está vinculada a outra por uma chave primária. O código q estou com problema é o seguinte:
else
{
dsPedido = p_ws.GetPedidoMesa(Convert.ToInt32(dsTemp.Tables[0].Rows[0]["PEDIDO"].ToString()));
foreach (DataRow dt in dtItems.Rows)
{
dsPedido.Tables[0].Rows[0]["PED_VAL_TOT"] = Convert.ToString(Convert.ToDecimal(dsPedido.Tables[0].Rows[0]["PED_VAL_TOT"].ToString()) +
Convert.ToDecimal(dt["PRO_PRC_UNIT"].ToString()));
}
foreach (DataRow dt in dtItems.Rows)
{
DataRow drItemPedido;
drItemPedido = dsPedido.Tables[1].NewRow();
drItemPedido.BeginEdit();
drItemPedido["PED_SEQ"] = dsTemp.Tables[0].Rows[0]["PEDIDO"].ToString();
drItemPedido["PRO_SEQ"] = dt["PRO_SEQ"].ToString();
drItemPedido["IPE_SEQ"] = p_ws.setSequencial("ECF_ITEM_PEDIDO", "IPE_SEQ");
drItemPedido["PRO_COD_BARRA"] = dt["PRO_COD_BARRA"].ToString();
drItemPedido["IPE_QTD_PED"] = 1;
drItemPedido["IPE_VAL_UNIT"] = dt["PRO_PRC_UNIT"].ToString();
drItemPedido["IPE_VAL_TOT"] = dt["PRO_PRC_UNIT"].ToString();
drItemPedido["FUN_SEQ_GAR"] = garcom.Gar_Seq.ToString();
drItemPedido["IPE_STATUS"] = 0;
drItemPedido["IPE_DAT_HOR_LANC"] = garcom.ServerDateTime.ToLocalTime();
drItemPedido["IPE_DAT_HOR_OPE"] = garcom.ServerDateTime.ToLocalTime();
drItemPedido.EndEdit();
try
{
dsPedido.Tables[1].Rows.Add(drItemPedido);
}
catch (ConstraintException cEx)
{
drItemPedido["IPE_SEQ"] = p_ws.setSequencial("ECF_ITEM_PEDIDO", "IPE_SEQ");
dsPedido.Tables[1].Rows.Add(drItemPedido);
}
}
Quando eu crio os dois registros dá tudo certo, mas a questão é depois q crio o registro da tabela de pedidos, por que tenho que apenas alterar 1 campo dela. Algué me ajude por favor.