Guest User

Untitled

a guest
Dec 28th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.98 KB | None | 0 0
  1. using Microsoft.SharePoint.Client;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Configuration;
  5. using System.Linq;
  6. using System.Security;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9.  
  10. namespace IndicadoresCartera {
  11. public class SPQuery {
  12. public ClientContext clientContext;
  13. public Web site;
  14. public ListItemCreationInformation itemCreateInfo;
  15. static SPQuery queryService = new SPQuery();
  16. public SPQuery() {
  17. string url = ConfigurationManager.AppSettings["url"];
  18. string user = ConfigurationManager.AppSettings["user"];
  19. string password = ConfigurationManager.AppSettings["password"];
  20.  
  21. SecureString securePassword = new SecureString();
  22. foreach(char c in password.ToCharArray()) securePassword.AppendChar(c);
  23.  
  24. clientContext = new ClientContext(url);
  25. clientContext.Credentials = new SharePointOnlineCredentials(user, securePassword);
  26. site = clientContext.Web;
  27.  
  28. itemCreateInfo = new ListItemCreationInformation();
  29. }
  30.  
  31. public ListItemCollection queryList(string list, string queryString)
  32. {
  33.  
  34. List queriedList = clientContext.Web.Lists.GetByTitle(list);
  35. CamlQuery query = new CamlQuery();
  36. query.ViewXml = queryString;
  37.  
  38. ListItemCollection items = queriedList.GetItems(query);
  39. clientContext.Load(items);
  40. clientContext.ExecuteQuery();
  41. return items;
  42. }
  43.  
  44. public bool createItem(string List, ListItem newListItem)
  45. {
  46. Clientes inCartera = new Clientes();
  47. List targetList = site.Lists.GetByTitle(List);
  48.  
  49. newListItem.Update();
  50. clientContext.Load(newListItem);
  51.  
  52. try {
  53. clientContext.ExecuteQuery();
  54. return true;
  55.  
  56. }
  57. catch (Exception e) {
  58. Console.WriteLine("error creando item: " + e.Message);
  59. return false;
  60. }
  61. }
  62.  
  63. public void getClientes()
  64. {
  65.  
  66. List clientesGet = clientContext.Web.Lists.GetByTitle("Clientes");
  67. CamlQuery query = new CamlQuery();
  68. query.ViewXml = "<View><ViewFields><FieldRef Name='ID' /><FieldRef Name='Title' /><FieldRef Name='FechaSolicitud' /><FieldRef Name='FechaAsignacionCodigo' /></ViewFields></View>";
  69. ;
  70. ListItemCollection ToDoClientes = clientesGet.GetItems(query);
  71. clientContext.Load(ToDoClientes);
  72. clientContext.ExecuteQuery();
  73.  
  74. List indicadorCarteraGet = clientContext.Web.Lists.GetByTitle("IndicadorCartera");
  75. CamlQuery query2 = new CamlQuery();
  76. query2.ViewXml = "<View><ViewFields><FieldRef Name='ID' /><FieldRef Name='Title' /></ViewFields></View>";
  77. ListItemCollection ToDoCartera = indicadorCarteraGet.GetItems(query);
  78. clientContext.Load(ToDoCartera);
  79. clientContext.ExecuteQuery();
  80.  
  81. foreach(var cl in ToDoClientes.ToList())
  82. {
  83.  
  84. if (ToDoCartera.ToList().Count != 0) {
  85. foreach(var car in ToDoCartera.ToList())
  86. {
  87. var cl2 = Convert.ToString(cl["ID"]);
  88. var car2 = Convert.ToString(car["Title"]);
  89. if (cl2 != car2) {
  90. if (cl["Title"] != null && cl["FechaAsignacionCodigo"] != null && cl["FechaSolicitud"] != null) {
  91. List targetList = queryService.site.Lists.GetByTitle("IndicadorCartera");
  92. ListItem inCartera = targetList.AddItem(queryService.itemCreateInfo);
  93. Console.WriteLine("Creando indicadores: ID: {0} Codigo: {1} FechaSolicitud: {2} Fecha: {3}", cl.Id, cl["Title"], cl["FechaSolicitud"], cl["FechaAsignacionCodigo"]);
  94. inCartera["Title"] = cl.Id;
  95. inCartera["Codigo"] = cl["Title"];
  96. inCartera["FechaSolicitud"] = cl["FechaSolicitud"];
  97. inCartera["FechaAsignacionCodigo"] = cl["FechaAsignacionCodigo"];
  98.  
  99. queryService.createItem("IndicadorCartera", inCartera);
  100. }
  101. }
  102. }
  103. }
  104. else {
  105. if (cl["Title"] != null && cl["FechaAsignacionCodigo"] != null && cl["FechaSolicitud"] != null) {
  106. List targetList = queryService.site.Lists.GetByTitle("IndicadorCartera");
  107. ListItem inCartera = targetList.AddItem(queryService.itemCreateInfo);
  108. Console.WriteLine("Creando indicadores: ID: {0} Codigo: {1} FechaSolicitud: {2} Fecha: {3}", cl.Id, cl["Title"], cl["FechaSolicitud"], cl["FechaAsignacionCodigo"]);
  109. inCartera["Title"] = cl.Id;
  110. inCartera["Codigo"] = cl["Title"];
  111. inCartera["FechaSolicitud"] = cl["FechaSolicitud"];
  112. inCartera["FechaAsignacionCodigo"] = cl["FechaAsignacionCodigo"];
  113.  
  114. queryService.createItem("IndicadorCartera", inCartera);
  115. }
  116. }
  117. }
  118.  
  119. }
  120. }
Add Comment
Please, Sign In to add comment