Update a record in PODIO via API.NET
AnsweredHello!
I can not update an existing item in PODIO. Yes, a simple update of a given.
I've read the documentation and consulted the forum. But not works.
Someone managed to update a record in PODIO via API.NET? I tried two ways and both led to the following error:
I consulted this forum, but it not worked.
https://help.podio.com/hc/communities/public/questions/202868606-Modifying-items-C-client-library
First try!
Error: "Object reference not set to an instance of an object."}
public void Update(Cobranca cobranca)
{
//Connect
var _podio = new PodioAPI.Podio("integracao-cobranca-ac", chaveAreaTrabalho);
_podio.AuthenticateWithApp(idAplicativo, codigoAplicativo);
var opcaoFiltro = new FilterOptions();
var filtro = new Dictionary<string, object>();
if (cobranca.NumeroTitulo != null)
{
filtro.Add("titulo", cobranca.NumeroTitulo);
}
opcaoFiltro.Filters = filtro;
var filteredContent = _podio.ItemService.FilterItems(idAplicativo, opcaoFiltro);
if (filteredContent.Items.Any())
{
//loop items for update
foreach (var item in filteredContent.Items)
{
Item itemUpdate = new Item();
itemUpdate .ItemId = item.ItemId;
var statusBackoffice = itemUpdate.Field<CategoryItemField>("status-backoffice");
statusBackoffice.OptionId = (int)eStatusBackOffice.NegociadoBack;
//Update item podio
_Podio.ItemService.UpdateItem(itemUpdate);
}
}
}
Second attempt!
Error: "Object reference not set to an instance of an object."}
public void Update(Cobranca cobranca)
{
//Connect
var _podio = new PodioAPI.Podio("integracao-cobranca-ac", chaveAreaTrabalho);
_podio.AuthenticateWithApp(idAplicativo, codigoAplicativo);
var opcaoFiltro = new FilterOptions();
var filtro = new Dictionary<string, object>();
if (cobranca.NumeroTitulo != null)
{
filtro.Add("titulo", cobranca.NumeroTitulo);
}
opcaoFiltro.Filters = filtro;
var filteredContent = _podio.ItemService.FilterItems(idAplicativo, opcaoFiltro);
if (filteredContent.Items.Any())
{
//loop items for update
foreach (var item in filteredContent.Items)
{
var statusBackoffice = item.Field<CategoryItemField>("status-backoffice");
statusBackoffice.OptionId = (int)eStatusBackOffice.NegociadoBack;
//Update item podio
_Podio.ItemService.UpdateItem(item);
}
}
}
-
Hi , I managed !
The following solution.
There are two ways
Solution A //Manipula a Informação var item = _podio.ItemService.GetItemBasic(idItem); var nome = item.Field<CategoryItemField>("categoria"); nome.OptionId = 2; //Salvar dados _podio.ItemService.UpdateItem(item); Solution B var item = _podio.ItemService.GetItemBasic(idItem); var novoItem = new Item(); novoItem.ItemId = item.ItemId; var statusBackoffice = novoItem.Field<CategoryItemField>("status-backoffice"); statusBackoffice.OptionId = 3; //Salvar dados _podio.ItemService.UpdateItem(novoItem);
Please sign in to leave a comment.
Comments
1 comment