Este post (más bien Tip) es totalmente válido en modo Sandbox, por lo que sirve para desarrollos en Office365.
Si vemos ejemplos de código para insertar/actualizar items en listas de SharePoint, en la mayoría de los casos nos encontraremos algo como:
1 |
<span style="color: #606060" id="lnum1"> 1:</span> SPWeb mySite = SPContext.Current.Web; |
1 |
<span style="color: #606060" id="lnum2"> 2:</span> SPListItemCollection listItems = mySite.Lists[<span style="color: #006080">"List"</span>].Items; |
1 |
<span style="color: #606060" id="lnum3"> 3:</span>  |
1 |
<span style="color: #606060" id="lnum4"> 4:</span> SPListItem item = listItems.Add(); |
1 |
<span style="color: #606060" id="lnum5"> 5:</span>  |
1 |
<span style="color: #606060" id="lnum6"> 6:</span> item[<span style="color: #006080">"Title"</span>] = <span style="color: #006080">"Title"</span>; |
1 |
<span style="color: #606060" id="lnum7"> 7:</span> item[<span style="color: #006080">"Stock"</span>] = 123; |
1 |
<span style="color: #606060" id="lnum8"> 8:</span> item[<span style="color: #006080">"Return Date"</span>] = DateTime.Now; |
1 |
<span style="color: #606060" id="lnum9"> 9:</span>  |
1 |
<span style="color: #606060" id="lnum10"> 10:</span> item.Update(); |
Creamos el SPListItem, damos valor a sus campos, y finalmente, llamamos al método Update, para hacer el “Commit” definitivo.
Ahora bien, ¿qué ocurre si queremos actualizar algunos campos de la lista, pero conservar los valores originales en las columnas de sistema “Modified” and “Modified By”? Pues podemos utilizar otro método de la clase SPListItem, llamado SystemUpdate
De esta forma podemos actualizar un elemento sin modificar estos cambios. Incluso tiene una sobrecarga para no actualizar tampoco la versión del item.
Saludos!!
Deja un comentario