private void UpdateContacto(ClientContext siteContexto, Microsoft.SharePoint.Client.List listaTelefonica, ItemListaTelefonicaProperties itemListaTelefonicaProperties, int id) { try { Microsoft.SharePoint.Client.ListItem updateItem = listaTelefonica.GetItemById(id); updateItem["Title"] = itemListaTelefonicaProperties.PreferredName; updateItem["FirstName"] = itemListaTelefonicaProperties.FirstName; updateItem["LastName"] = itemListaTelefonicaProperties.LastName; updateItem["Email"] = itemListaTelefonicaProperties.Email; updateItem["Department"] = itemListaTelefonicaProperties.Department; updateItem["CellPhone"] = itemListaTelefonicaProperties.CellPhone; updateItem["PictureURL"] = itemListaTelefonicaProperties.PictureURL; updateItem["Office"] = itemListaTelefonicaProperties.Office; updateItem["WorkFax"] = itemListaTelefonicaProperties.WorkFax; updateItem["WorkPhone"] = itemListaTelefonicaProperties.WorkPhone; updateItem["WorkState"] = itemListaTelefonicaProperties.WorkState; updateItem["WorkCity"] = itemListaTelefonicaProperties.WorkCity; updateItem["WorkCountry"] = itemListaTelefonicaProperties.WorkCountry; updateItem["WorkZip"] = itemListaTelefonicaProperties.WorkZip; updateItem["IpPhone"] = itemListaTelefonicaProperties.IpPhone; updateItem["WorkAddress"] = itemListaTelefonicaProperties.WorkAddress; updateItem["AboutMe"] = itemListaTelefonicaProperties.AboutMe; updateItem["JobTitle"] = itemListaTelefonicaProperties.JobTitle; updateItem["Company"] = itemListaTelefonicaProperties.Company; updateItem.Update(); siteContexto.ExecuteQuery(); } catch (Exception ex) { _log.Error($"-> UpdateContacto no processo: SharepointSyncJob: {ex}", ex); } }
private void InsertOrUpdateContactoToListContactos(List <ItemListaTelefonicaProperties> itemsItemListaTelefonicaProperties) { _log.Info("Inicio do metodo -> InsertOrUpdateContactoToListContactos no processo: SharepointSyncJob"); using (ClientContext siteContexto = new ClientContext(_configuration.TenantUrl)) { SecureString passWord = new SecureString(); foreach (char c in _configuration.Password.ToCharArray()) { passWord.AppendChar(c); } siteContexto.Credentials = new SharePointOnlineCredentials(_configuration.EmailAccount, passWord); if (siteContexto.Web.ListExists(_configuration.ListTitle)) { Microsoft.SharePoint.Client.List listaTelefonica = siteContexto.Web.Lists.GetByTitle(_configuration.ListTitle); try { foreach (var itemListaTelefonicaProperties in itemsItemListaTelefonicaProperties) { if (itemListaTelefonicaProperties.Pager == "1") { var id = GetIdByTitle(itemListaTelefonicaProperties.PreferredName); if (id == null) { _log.Info($"Criar novo contato -> CreateNovoContacto no processo: SharepointSyncJob, Valor: { JsonConvert.SerializeObject(itemListaTelefonicaProperties)}"); CreateNovoContacto(siteContexto, listaTelefonica, itemListaTelefonicaProperties); } else { _log.Info($"Update Contacto -> UpdateContacto no processo: SharepointSyncJob, Valor: {JsonConvert.SerializeObject(itemListaTelefonicaProperties)}"); UpdateContacto(siteContexto, listaTelefonica, itemListaTelefonicaProperties, id.Value); } } } } catch (Exception ex) { _log.Error($"-> InsertOrUpdateContactoToListContactos no processo: SharepointSyncJob: {ex}", ex); } } } _log.Info("Fim do metodo -> InsertOrUpdateContactoToListContactos no processo: SharepointSyncJob"); }