/// <summary> /// Gets user effective permissions HTML content. /// </summary> /// <param name="siteId">Site ID</param> /// <param name="resourceId">ID of particular resource</param> /// <param name="selectedType">Permission type</param> private void GenerateBeforeRowsContent(int siteId, int resourceId, string selectedType) { // Check if selected users exists UserInfo user = SelectedUser; if (user == null) { gridMatrix.ShowContentBeforeRow = false; return; } string columns = "PermissionID"; // Ensure tooltip column if (!String.IsNullOrEmpty(gridMatrix.ItemTooltipColumn)) { columns += ",Matrix." + gridMatrix.ItemTooltipColumn; } // Get permission data DataSet dsPermissions; switch (selectedType) { case "r": dsPermissions = UserInfoProvider.GetUserResourcePermissions(user, siteId, resourceId, true, columns); break; default: dsPermissions = UserInfoProvider.GetUserDataClassPermissions(user, siteId, resourceId, true, columns); break; } if (!DataHelper.DataSourceIsEmpty(dsPermissions)) { // Initialize variables used during rendering DataRowCollection rows = dsPermissions.Tables[0].Rows; string userName = Functions.GetFormattedUserName(user.UserName, user.FullName); var title = GetString("Administration-Permissions_Matrix.NotAdjustable"); // Table header cell with user name var tcHeader = new TableCell { CssClass = "matrix-header", Text = HTMLHelper.HTMLEncode(TextHelper.LimitLength(userName, 50)), ToolTip = HTMLHelper.HTMLEncode(userName) }; var tr = gridMatrix.ContentBeforeRow; tr.Cells.Add(tcHeader); // Process permissions according to matrix order foreach (int index in gridMatrix.ColumnOrderIndex) { DataRow dr = rows[index]; // Table cell for each permission TableCell tc = new TableCell(); var chk = new CMSCheckBox { ID = "chk_perm_" + index, ClientIDMode = ClientIDMode.Static, Enabled = false, Checked = (SelectedUser.CheckPrivilegeLevel(UserPrivilegeLevelEnum.Admin) || Convert.ToInt32(dr["Allowed"]) == 1), ToolTip = title, }; tc.Controls.Add(chk); tr.Cells.Add(tc); } UniMatrix.AddFillingCell <TableCell>(tr); } }
/// <summary> /// /// </summary> /// <param name="collection"></param> public DS_DataRowCollection(DataRowCollection collection) { _dataRowCollection = collection; }
public AuthenticateUserSteps(IWebDriver driver) { Login = new LoginPage(driver); data = azureParams.GetParams("76"); }
public async Task <string> saveDatabase(List <DataPresupuesto> data, DataRowCollection data2) { try { //List<DataPresupuesto> data2 = data.Where(x => x.IdProyecto == 1).ToList(); List <DETALLEMOMENTOS> detallesdb = dbcontex.DETALLEMOMENTOS.ToList(); List <Atuevaluacion_demo> autoevaDetalledb = dbcontex.Atuevaluacion_demo.ToList(); #region file 1 foreach (DataPresupuesto row in data) { if (detallesdb.Where(x => x.ID_PROYECTO == row.IdProyecto && x.CLV_PARTID == row.ClvPartida).Count() == 0) { /*Guarda momento del modificado*/ if (row.Modificado.Count > 0) { DETALLEMOMENTOS dbmoments = new DETALLEMOMENTOS(); dbmoments.ID_PROYECTO = row.IdProyecto; dbmoments.CLV_PARTID = row.ClvPartida; dbmoments.MOMENTO = "MODIFICADO"; foreach (LCalendario momento in row.Modificado) { if (momento.Mes == LCalendario.Meses.Enero) { dbmoments.ENERO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Febrero) { dbmoments.FEBRERO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Marzo) { dbmoments.MARZO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Abril) { dbmoments.ABRIL = momento.Monto; } if (momento.Mes == LCalendario.Meses.Mayo) { dbmoments.MAYO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Junio) { dbmoments.JUNIO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Julio) { dbmoments.JULIO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Agosto) { dbmoments.AGOSTO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Septiembre) { dbmoments.SEPTIEMBRE = momento.Monto; } if (momento.Mes == LCalendario.Meses.Octubre) { dbmoments.OCTUBRE = momento.Monto; } if (momento.Mes == LCalendario.Meses.Noviembre) { dbmoments.NOVIEMBRE = momento.Monto; } if (momento.Mes == LCalendario.Meses.Diciembre) { dbmoments.DICIEMBRE = momento.Monto; } } dbcontex.DETALLEMOMENTOS.Add(dbmoments); await dbcontex.SaveChangesAsync(); } /*Guarda momento del COMPROMETIDO*/ if (row.Comprometido.Count > 0) { DETALLEMOMENTOS dbmoments = new DETALLEMOMENTOS(); dbmoments.ID_PROYECTO = row.IdProyecto; dbmoments.CLV_PARTID = row.ClvPartida; dbmoments.MOMENTO = "COMPROMETIDO"; foreach (LCalendario momento in row.Comprometido) { if (momento.Mes == LCalendario.Meses.Enero) { dbmoments.ENERO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Febrero) { dbmoments.FEBRERO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Marzo) { dbmoments.MARZO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Abril) { dbmoments.ABRIL = momento.Monto; } if (momento.Mes == LCalendario.Meses.Mayo) { dbmoments.MAYO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Junio) { dbmoments.JUNIO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Julio) { dbmoments.JULIO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Agosto) { dbmoments.AGOSTO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Septiembre) { dbmoments.SEPTIEMBRE = momento.Monto; } if (momento.Mes == LCalendario.Meses.Octubre) { dbmoments.OCTUBRE = momento.Monto; } if (momento.Mes == LCalendario.Meses.Noviembre) { dbmoments.NOVIEMBRE = momento.Monto; } if (momento.Mes == LCalendario.Meses.Diciembre) { dbmoments.DICIEMBRE = momento.Monto; } } dbcontex.DETALLEMOMENTOS.Add(dbmoments); await dbcontex.SaveChangesAsync(); } /*Guarda momento del DEVENGADO*/ if (row.Devengado.Count > 0) { DETALLEMOMENTOS dbmoments = new DETALLEMOMENTOS(); dbmoments.ID_PROYECTO = row.IdProyecto; dbmoments.CLV_PARTID = row.ClvPartida; dbmoments.MOMENTO = "DEVENGADO"; foreach (LCalendario momento in row.Devengado) { if (momento.Mes == LCalendario.Meses.Enero) { dbmoments.ENERO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Febrero) { dbmoments.FEBRERO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Marzo) { dbmoments.MARZO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Abril) { dbmoments.ABRIL = momento.Monto; } if (momento.Mes == LCalendario.Meses.Mayo) { dbmoments.MAYO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Junio) { dbmoments.JUNIO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Julio) { dbmoments.JULIO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Agosto) { dbmoments.AGOSTO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Septiembre) { dbmoments.SEPTIEMBRE = momento.Monto; } if (momento.Mes == LCalendario.Meses.Octubre) { dbmoments.OCTUBRE = momento.Monto; } if (momento.Mes == LCalendario.Meses.Noviembre) { dbmoments.NOVIEMBRE = momento.Monto; } if (momento.Mes == LCalendario.Meses.Diciembre) { dbmoments.DICIEMBRE = momento.Monto; } } dbcontex.DETALLEMOMENTOS.Add(dbmoments); await dbcontex.SaveChangesAsync(); } /*Guarda momento del EJERCIDO*/ if (row.Ejercido.Count > 0) { DETALLEMOMENTOS dbmoments = new DETALLEMOMENTOS(); dbmoments.ID_PROYECTO = row.IdProyecto; dbmoments.CLV_PARTID = row.ClvPartida; dbmoments.MOMENTO = "EJERCIDO"; foreach (LCalendario momento in row.Ejercido) { if (momento.Mes == LCalendario.Meses.Enero) { dbmoments.ENERO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Febrero) { dbmoments.FEBRERO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Marzo) { dbmoments.MARZO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Abril) { dbmoments.ABRIL = momento.Monto; } if (momento.Mes == LCalendario.Meses.Mayo) { dbmoments.MAYO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Junio) { dbmoments.JUNIO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Julio) { dbmoments.JULIO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Agosto) { dbmoments.AGOSTO = momento.Monto; } if (momento.Mes == LCalendario.Meses.Septiembre) { dbmoments.SEPTIEMBRE = momento.Monto; } if (momento.Mes == LCalendario.Meses.Octubre) { dbmoments.OCTUBRE = momento.Monto; } if (momento.Mes == LCalendario.Meses.Noviembre) { dbmoments.NOVIEMBRE = momento.Monto; } if (momento.Mes == LCalendario.Meses.Diciembre) { dbmoments.DICIEMBRE = momento.Monto; } } dbcontex.DETALLEMOMENTOS.Add(dbmoments); await dbcontex.SaveChangesAsync(); } } } #endregion file 1 #region file 2 if (data2 != null) { foreach (DataRow row in data2) { if (Int32.TryParse(row[0].ToString(), out int id_dependencia)) { String iddependencia = id_dependencia.ToString(); if (autoevaDetalledb.Where(x => x.ID_PROYECTO.Equals(iddependencia) && x.CLV_PARTIDA.Equals(row[5])).Count() == 0) { Atuevaluacion_demo auto = new Atuevaluacion_demo(); auto.CLV_UNIDADM = row[0].ToString(); auto.UNIDADM = row[1].ToString(); auto.TIPO_GASTO = row[2].ToString(); auto.CLV_CAPITULO = row[3].ToString(); auto.CAPITULO = row[4].ToString(); auto.CLV_PARTIDA = row[5].ToString(); auto.PARTIDA = row[6].ToString(); auto.CLV_LOCALIDAD = row[7].ToString(); auto.LOCALIDAD = row[8].ToString(); auto.CLV_FUENTE = row[9].ToString(); auto.FUENTE = row[10].ToString(); auto.ABR_FUENTE = row[11].ToString(); auto.CLV_RECURSO = row[12].ToString(); auto.RECURSO = row[13].ToString(); auto.ID_PROYECTO = row[14].ToString(); auto.PROYECTO = row[15].ToString(); auto.FECHA_INICIO = row[16].ToString(); auto.FECHA_TERMINO = row[17].ToString(); auto.N_PROGRAMA = row[18].ToString(); auto.PROGRAMA = row[19].ToString(); auto.PROG_PRESUP = row[20].ToString(); auto.CLV_EJE = row[21].ToString(); auto.EJE = row[22].ToString(); auto.CLV_PROG_ALIN = row[23].ToString(); auto.PROG_ALIN = row[24].ToString(); auto.CLV_OBJ_ALIN = row[25].ToString(); auto.OBJ_ALIN = row[26].ToString(); auto.CLV_EST_ALIN = row[27].ToString(); auto.EST_ALIN = row[28].ToString(); auto.CLV_LIN_ACC = row[29].ToString(); auto.LIN_ACC = row[30].ToString(); auto.CLV_IND_ALIN = row[31].ToString(); auto.IND_ALIN = row[32].ToString(); auto.CLV_META_ALIN = row[33].ToString(); auto.META_ALIN = row[34].ToString(); auto.CLV_FIN = row[35].ToString(); auto.FINAL = row[36].ToString(); auto.CLV_FUN = row[37].ToString(); auto.FUNCION = row[38].ToString(); auto.CLV_SUBFUN = row[39].ToString(); auto.SUBFUNCION = row[40].ToString(); auto.CLV_ACTINST = row[41].ToString(); auto.ACTIVIDAD_INST = row[42].ToString(); auto.MODEJECUC = row[43].ToString(); auto.MODAINVE = row[44].ToString(); auto.INICIAL = decimal.Parse(row[45].ToString()); auto.AMPLIADO = decimal.Parse(row[46].ToString()); auto.REDUCIDO = decimal.Parse(row[47].ToString()); auto.PRESUPUESTO = decimal.Parse(row[48].ToString()); auto.COMPROMETIDO = decimal.Parse(row[49].ToString()); auto.DEVENGADO = decimal.Parse(row[50].ToString()); auto.EJERCIDO = decimal.Parse(row[51].ToString()); auto.PAGADO = decimal.Parse(row[52].ToString()); auto.ESTADO = row[53].ToString(); dbcontex.Atuevaluacion_demo.Add(auto); await dbcontex.SaveChangesAsync(); } } } } #endregion file 2 return(""); } catch (Exception e) { throw (e); } }
private void listMessages_AfterSelect(object sender, TreeViewEventArgs e) { // Fetch out the selected message Message message = messages[GetMessageNumberFromSelectedNode(listMessages.SelectedNode)]; // If the selected node contains a MessagePart and we can display the contents - display them if (listMessages.SelectedNode.Tag is MessagePart) { MessagePart selectedMessagePart = (MessagePart)listMessages.SelectedNode.Tag; if (selectedMessagePart.IsText) { // We can show text MessageParts messageTextBox.Text = selectedMessagePart.GetBodyAsText(); } else { // We are not able to show non-text MessageParts (MultiPart messages, images, pdf's ...) messageTextBox.Text = "<<OpenPop>> Cannot show this part of the email. It is not text <<OpenPop>>"; } } else { // If the selected node is not a subnode and therefore does not // have a MessagePart in it's Tag property, we genericly find some content to show // Find the first text/plain version MessagePart plainTextPart = message.FindFirstPlainTextVersion(); if (plainTextPart != null) { // The message had a text/plain version - show that one messageTextBox.Text = plainTextPart.GetBodyAsText(); } else { // Try to find a body to show in some of the other text versions List <MessagePart> textVersions = message.FindAllTextVersions(); if (textVersions.Count >= 1) { messageTextBox.Text = textVersions[0].GetBodyAsText(); } else { messageTextBox.Text = "<<OpenPop>> Cannot find a text version body in this message to show <<OpenPop>>"; } } } // Clear the attachment list from any previus shown attachments listAttachments.Nodes.Clear(); // Build up the attachment list List <MessagePart> attachments = message.FindAllAttachments(); foreach (MessagePart attachment in attachments) { // Add the attachment to the list of attachments TreeNode addedNode = listAttachments.Nodes.Add((attachment.FileName)); // Keep a reference to the attachment in the Tag property addedNode.Tag = attachment; } // Only show that attachmentPanel if there is attachments in the message bool hadAttachments = attachments.Count > 0; //attachmentPanel.Visible = hadAttachments; // Generate header table DataSet dataSet = new DataSet(); DataTable table = dataSet.Tables.Add("Headers"); table.Columns.Add("Header"); table.Columns.Add("Value"); DataRowCollection rows = table.Rows; // Add all known headers rows.Add(new object[] { "Content-Description", message.Headers.ContentDescription }); rows.Add(new object[] { "Content-Id", message.Headers.ContentId }); foreach (string keyword in message.Headers.Keywords) { rows.Add(new object[] { "Keyword", keyword }); } foreach (RfcMailAddress dispositionNotificationTo in message.Headers.DispositionNotificationTo) { rows.Add(new object[] { "Disposition-Notification-To", dispositionNotificationTo }); } foreach (Received received in message.Headers.Received) { rows.Add(new object[] { "Received", received.Raw }); } rows.Add(new object[] { "Importance", message.Headers.Importance }); rows.Add(new object[] { "Content-Transfer-Encoding", message.Headers.ContentTransferEncoding }); foreach (RfcMailAddress cc in message.Headers.Cc) { rows.Add(new object[] { "Cc", cc }); } foreach (RfcMailAddress bcc in message.Headers.Bcc) { rows.Add(new object[] { "Bcc", bcc }); } foreach (RfcMailAddress to in message.Headers.To) { rows.Add(new object[] { "To", to }); } rows.Add(new object[] { "From", message.Headers.From }); rows.Add(new object[] { "Reply-To", message.Headers.ReplyTo }); foreach (string inReplyTo in message.Headers.InReplyTo) { rows.Add(new object[] { "In-Reply-To", inReplyTo }); } foreach (string reference in message.Headers.References) { rows.Add(new object[] { "References", reference }); } rows.Add(new object[] { "Sender", message.Headers.Sender }); rows.Add(new object[] { "Content-Type", message.Headers.ContentType }); rows.Add(new object[] { "Content-Disposition", message.Headers.ContentDisposition }); rows.Add(new object[] { "Date", message.Headers.Date }); rows.Add(new object[] { "Date", message.Headers.DateSent }); rows.Add(new object[] { "Message-Id", message.Headers.MessageId }); rows.Add(new object[] { "Mime-Version", message.Headers.MimeVersion }); rows.Add(new object[] { "Return-Path", message.Headers.ReturnPath }); rows.Add(new object[] { "Subject", message.Headers.Subject }); // Add all unknown headers foreach (string key in message.Headers.UnknownHeaders) { string[] values = message.Headers.UnknownHeaders.GetValues(key); if (values != null) { foreach (string value in values) { rows.Add(new object[] { key, value }); } } } // Now set the headers displayed on the GUI to the header table we just generated gridHeaders.DataMember = table.TableName; gridHeaders.DataSource = dataSet; }
private void setOcupacion (Repeater rptOcupacion, DataRow drTipoHabitacion, Repeater rptDesayuno, Repeater rptDescuento, DataTable dtOccup, DataTable dtRoom, DataTable dtPrice, DataTable dtBoard, DataTable dtDiscount, Label lblPromedio, string sCurrency) { DataRow[] drOcupacionesXTipoHab = drTipoHabitacion.GetChildRows(RELACION_ROOMTYPE_OCCUP); DataTable tblOcupacion = new DataTable("tblRooms"); if (drOcupacionesXTipoHab.Length > 0) { string sIds = String.Empty; foreach (DataRow drOccup_Id in drOcupacionesXTipoHab) { sIds += "," + drOccup_Id["Occup_Id"].ToString(); } sIds = sIds.Substring(1); DataRow[] drRooms = dtRoom.Select("Occup_Id in (" + sIds + ")", "adultNum,childNum ASC"); string occupId = "occupId"; string maxAdult = "maxAdult"; string maxChild = "maxChild"; string price = "price"; string tax = "tax"; string dblBed = "dblBed"; string hotelRoomTypeId = "hotelRoomTypeId"; string RoomType_Id = "RoomType_Id"; DataColumn dcHotelId = new DataColumn(occupId); DataColumn dcname = new DataColumn(maxAdult); DataColumn dcaddress = new DataColumn(maxChild); DataColumn dccategory = new DataColumn(price); DataColumn dcbestVal = new DataColumn(tax); DataColumn dcthumb = new DataColumn(dblBed); DataColumn dcstarsLevel = new DataColumn(hotelRoomTypeId); DataColumn dcminAverPrice = new DataColumn(RoomType_Id); tblOcupacion.Columns.Add(dcHotelId); tblOcupacion.Columns.Add(dcname); tblOcupacion.Columns.Add(dcaddress); tblOcupacion.Columns.Add(dccategory); tblOcupacion.Columns.Add(dcbestVal); tblOcupacion.Columns.Add(dcthumb); tblOcupacion.Columns.Add(dcstarsLevel); tblOcupacion.Columns.Add(dcminAverPrice); List <string> lstrOccup_Id = new List <string>(); foreach (DataRow drRoom in drRooms) { DataRow drOccupXRoom = drRoom.GetParentRow(RELACION_OCCUP_ROOM); string strOccup_Id = drOccupXRoom["Occup_Id"].ToString(); if (!lstrOccup_Id.Contains(strOccup_Id)) { lstrOccup_Id.Add(strOccup_Id); DataRow filaOcupacion = tblOcupacion.NewRow(); filaOcupacion[occupId] = strOccup_Id; string strADT = drRoom["adultNum"].ToString(); string strCNN = drRoom["childNum"].ToString(); int iADT = 0; int iCNN = 0; int iTotal = 0; int.TryParse(strADT, out iADT); int.TryParse(strCNN, out iCNN); iTotal = iADT + iCNN; filaOcupacion[maxAdult] = iTotal.ToString(); lblPromedio.Text = sCurrency + " " + drOccupXRoom["avrNightPrice"].ToString(); filaOcupacion[maxChild] = drOccupXRoom[maxChild]; filaOcupacion[price] = drOccupXRoom[price]; filaOcupacion[tax] = drOccupXRoom[tax]; filaOcupacion[dblBed] = drOccupXRoom[dblBed]; filaOcupacion[RoomType_Id] = drOccupXRoom[RoomType_Id]; tblOcupacion.Rows.Add(filaOcupacion); } } DataRowCollection drcOcupacion = tblOcupacion.Rows; DataRow[] drOcupacionesTotales = new DataRow[drcOcupacion.Count]; drcOcupacion.CopyTo(drOcupacionesTotales, 0); DataTable tblOcupaciones = getAcomodaciones(drOcupacionesTotales); setRepeater(tblOcupaciones, rptOcupacion); int iContadorPlanes = 0; lstrOccup_Id.Clear(); foreach (DataRow drRoom in drRooms) { DataRow drOccup_Room = drRoom.GetParentRow(RELACION_OCCUP_ROOM); string strOccup_Id = drOccup_Room["Occup_Id"].ToString(); if (!lstrOccup_Id.Contains(strOccup_Id)) { lstrOccup_Id.Add(strOccup_Id); Repeater rptPrecios = (Repeater)rptOcupacion.Items[iContadorPlanes].FindControl("rptPrecios"); DataRow[] drPricesXRoom = drOccup_Room.GetChildRows(RELACION_OCCUP_PRICE); setPrecios(rptPrecios, drPricesXRoom); DataRow[] drDesayonosXRoom = drOccup_Room.GetChildRows(RELACION_OCCUP_BOARD); setDesayuno(rptDesayuno, drDesayonosXRoom); iContadorPlanes++; } } } DataRow[] drDiscountXTipoHab = drTipoHabitacion.GetChildRows(RELACION_ROOMTYPE_DISCOUNT); if (drDiscountXTipoHab.Length > 0) { setDescuento(rptDescuento, drDiscountXTipoHab); } }
private void DoLoadSection(object sender, DoWorkEventArgs e) { string[] strArgs = e.Argument as string[]; string strFileName = strArgs[0]; string strSection = strArgs[1]; var dataTable = new DataTable("strings"); dataTable.Columns.Add("English"); dataTable.Columns.Add("Text"); if (strFileName == "books.xml") { dataTable.Columns.Add("English Code"); dataTable.Columns.Add("Code"); } else { dataTable.Columns.Add("Book"); dataTable.Columns.Add("Page"); } dataTable.Columns.Add("Translated?"); if (strSection == "[Show All Sections]") { strSection = "*"; } XmlNodeList xmlBaseList = _objDataDoc.SelectNodes("/chummer/chummer[@file=\"" + strFileName + "\"]/" + strSection); int intSegmentsToProcess = 0; foreach (XmlNode xmlNodeToShow in xmlBaseList) { if (xmlNodeToShow.HasChildNodes) { intSegmentsToProcess += xmlNodeToShow.ChildNodes.Count; } } int intSegmentsProcessed = 0; object intSegmentsProcessedLock = new object(); foreach (XmlNode xmlNodeToShow in xmlBaseList) { XmlNodeList xmlChildNodes = xmlNodeToShow.ChildNodes; var xmlDocument = new XmlDocument(); xmlDocument.Load(Path.Combine(ApplicationPath, "data", strFileName)); object[][] arrayRowsToDisplay = new object[xmlChildNodes.Count][]; object arrayRowsToDisplayLock = new object(); Parallel.For(0, xmlChildNodes.Count, i => { XmlNode xmlChildNode = xmlChildNodes[i]; string strName = string.Empty; string strPage = string.Empty; string strTranslated = string.Empty; string strSource = string.Empty; bool blnTranslated = false; XmlNode xmlChildNameNode = xmlChildNode["name"]; if (xmlChildNameNode == null) { strName = xmlChildNode.InnerText; strTranslated = xmlChildNode.Attributes?["translate"]?.InnerText ?? string.Empty; blnTranslated = strName != strTranslated || xmlChildNode.Attributes?["translated"]?.InnerText == System.Boolean.TrueString; } else { strName = xmlChildNameNode.InnerText; strPage = (strFileName == "books.xml" ? xmlChildNode["altcode"]?.InnerText : xmlChildNode["altpage"]?.InnerText) ?? string.Empty; XmlNode xmlNodeLocal = xmlDocument.SelectSingleNode("/chummer/" + strSection + "/*[name=\"" + strName + "\"]"); strSource = xmlNodeLocal?["source"]?.InnerText ?? string.Empty; strTranslated = xmlChildNode["translate"]?.InnerText ?? string.Empty; blnTranslated = strName != strTranslated || xmlChildNode.Attributes?["translated"]?.InnerText == System.Boolean.TrueString; } if (!blnTranslated || !chkOnlyTranslation.Checked) { object[] objArray = { strName, strTranslated, strSource, strPage, blnTranslated }; lock (arrayRowsToDisplayLock) arrayRowsToDisplay[i] = objArray; } lock (intSegmentsProcessedLock) intSegmentsProcessed += 1; _workerSectionLoader.ReportProgress(intSegmentsProcessed * 100 / intSegmentsToProcess); }); DataRowCollection objDataTableRows = dataTable.Rows; foreach (object[] objArray in arrayRowsToDisplay) { if (objArray != null) { objDataTableRows.Add(objArray); } } } DataSet dataSet = new DataSet("strings"); dataSet.Tables.Add(dataTable); e.Result = dataSet; }
public PersistentClauseNode(DataRowCollection drc, int clauseNo, PredicateDescr pd) : base(null, null) { dataRowCollection = drc; rowNo = clauseNo; rowNoMax = drc.Count-1; nextClause = null; term = DataRowAsTerm (rowNo); predDescr = pd; }
public override void Execute() { int contador = 0; //Get the current Agent artifactID Int32 agentArtifactID = this.AgentID; //Get a dbContext for the EDDS database IDBContext eddsDBContext = this.Helper.GetDBContext(-1); List<int> worksapcesID = new List<int>(); Comment comment = new Comment(); try { using (IRSAPIClient proxy = Helper.GetServicesManager().CreateProxy<IRSAPIClient>(ExecutionIdentity.System)) { RelativityAppCore.BLL.Service.RSAPIService.CommentRSAPIService commentRSAPIService = new CORE.BLL.Service.RSAPIService.CommentRSAPIService(proxy); IDBContext DBContext = this.Helper.GetDBContext(-1); DataRowCollection data = DBContext.ExecuteSqlStatementAsDataTable(Queries.GetWorkspacesWithApp).Rows; RaiseMessage("Find for the workspaces with the application", 1); foreach (var item in data[0].ItemArray) { worksapcesID.Add((int)item); } foreach (var item in worksapcesID) { proxy.APIOptions.WorkspaceID = item; DTOs.Query<DTOs.RDO> query = new DTOs.Query<DTOs.RDO>(); DTOs.QueryResultSet<DTOs.RDO> results = new DTOs.QueryResultSet<DTOs.RDO>(); query.ArtifactTypeGuid = new Guid(comment.ARTIFACT_TYPE); query.Fields = DTOs.FieldValue.AllFields; // query.Condition = new BooleanCondition(new Guid(guidSet), BooleanConditionEnum.EqualTo, false); try { results = proxy.Repositories.RDO.Query(query); foreach (var c in results.Results) { RaiseMessage($"verifying if the comment: {c.Artifact.ArtifactID} already has the thumnails", 1); DTOs.RDO commentDto = new DTOs.RDO(c.Artifact.ArtifactID); commentDto.ArtifactTypeGuids.Add(new Guid(comment.ARTIFACT_TYPE)); commentDto.Fields = DTOs.FieldValue.AllFields; commentDto.Fields.Add(new DTOs.FieldValue(new Guid(guidSet))); commentDto = proxy.Repositories.RDO.ReadSingle(c.Artifact.ArtifactID); //bool fieldValue = (bool)commentDto[new Guid(guidSet)].Value; string image = (string)commentDto[new Guid(Image_guid_field)].Value; if (!string.IsNullOrEmpty(image)) { RaiseMessage($"Creating Thumbnails for the comment {c.Artifact.ArtifactID}", 1); string thumbnail = getImage(c.Artifact.ArtifactID, this.Helper.GetDBContext(proxy.APIOptions.WorkspaceID)); commentDto.Fields.Add(new DTOs.FieldValue(new Guid(thumbnailsImage), thumbnail)); commentDto.Fields.Add(new DTOs.FieldValue(new Guid(guidSet), true)); proxy.Repositories.RDO.UpdateSingle(commentDto); } else { contador = contador + 1; commentDto.Fields.Add(new DTOs.FieldValue(new Guid(guidSet), false)); proxy.Repositories.RDO.UpdateSingle(commentDto); } } } catch (Exception) { throw; } } } RaiseMessage($"There are {contador} comments without thumbnail", 1); } catch (System.Exception ex) { //Your Agent caught an exception this.RaiseError(ex.Message, ex.Message); } }
protected override void ExecuteCmdlet() { if (!System.IO.Path.IsPathRooted(Path)) { Path = System.IO.Path.Combine(SessionState.Path.CurrentFileSystemLocation.Path, Path); } var template = LoadProvisioningTemplate .LoadProvisioningTemplateFromFile(Path, TemplateProviderExtensions); if (template == null) { throw new ApplicationException("Invalid template file!"); } //We will remove a list if it's found so we can get the list ListInstance listInstance = template.Lists.Find(l => l.Title == List.Title); if (listInstance == null) { throw new ApplicationException("List does not exist in the template file!"); } List spList = List.GetList(SelectedWeb); ClientContext.Load(spList, l => l.RootFolder, l => l.HasUniqueRoleAssignments); ClientContext.ExecuteQueryRetry(); CamlQuery query = new CamlQuery(); var viewFieldsStringBuilder = new StringBuilder(); if (Fields != null) { viewFieldsStringBuilder.Append("<ViewFields>"); foreach (var field in Fields) { viewFieldsStringBuilder.AppendFormat("<FieldRef Name='{0}'/>", field); } viewFieldsStringBuilder.Append("</ViewFields>"); } query.ViewXml = string.Format("<View>{0}{1}</View>", Query, viewFieldsStringBuilder); var listItems = spList.GetItems(query); ClientContext.Load(listItems, lI => lI.Include(l => l.HasUniqueRoleAssignments, l => l.ContentType.StringId)); ClientContext.ExecuteQueryRetry(); Microsoft.SharePoint.Client.FieldCollection fieldCollection = spList.Fields; ClientContext.Load(fieldCollection, fs => fs.Include(f => f.InternalName, f => f.FieldTypeKind)); ClientContext.ExecuteQueryRetry(); var rows = new DataRowCollection(template); foreach (var listItem in listItems) { //Make sure we don't pull Folders.. Of course this won't work if (listItem.ServerObjectIsNull == false) { ClientContext.Load(listItem); ClientContext.ExecuteQueryRetry(); if (!(listItem.FileSystemObjectType == FileSystemObjectType.Folder)) { DataRow row = new DataRow(); if (IncludeSecurity && listItem.HasUniqueRoleAssignments) { row.Security.ClearSubscopes = true; row.Security.CopyRoleAssignments = false; var roleAssignments = listItem.RoleAssignments; ClientContext.Load(roleAssignments); ClientContext.ExecuteQueryRetry(); ClientContext.Load(roleAssignments, r => r.Include(a => a.Member.LoginName, a => a.Member, a => a.RoleDefinitionBindings)); ClientContext.ExecuteQueryRetry(); foreach (var roleAssignment in roleAssignments) { var principalName = roleAssignment.Member.LoginName; var roleBindings = roleAssignment.RoleDefinitionBindings; foreach (var roleBinding in roleBindings) { row.Security.RoleAssignments.Add(new OfficeDevPnP.Core.Framework.Provisioning.Model.RoleAssignment() { Principal = principalName, RoleDefinition = roleBinding.Name }); } } } if (Fields != null) { foreach (var field in Fields) { Microsoft.SharePoint.Client.Field dataField = fieldCollection.FirstOrDefault(f => f.InternalName == field); if (dataField != null) { var defaultFieldValue = listItem[field] as string; row.Values.Add(field, defaultFieldValue); } } } else { //All fields are added foreach (var field in fieldCollection) { var fldKey = (from f in listItem.FieldValues.Keys where f == field.InternalName select f).FirstOrDefault(); if (!string.IsNullOrEmpty(fldKey)) { var fieldValue = listItem[field.InternalName] as string; row.Values.Add(field.InternalName, fieldValue); } } } rows.Add(row); } } } template.Lists.Remove(listInstance); listInstance.DataRows.AddRange(rows); template.Lists.Add(listInstance); var outFileName = System.IO.Path.GetFileName(Path); var outPath = new FileInfo(Path).DirectoryName; var fileSystemConnector = new FileSystemConnector(outPath, ""); var formatter = XMLPnPSchemaFormatter.LatestFormatter; var extension = new FileInfo(Path).Extension.ToLowerInvariant(); if (extension == ".pnp") { XMLTemplateProvider provider = new XMLOpenXMLTemplateProvider(new OpenXMLConnector(Path, fileSystemConnector)); var templateFileName = outFileName.Substring(0, outFileName.LastIndexOf(".", StringComparison.Ordinal)) + ".xml"; provider.SaveAs(template, templateFileName, formatter, TemplateProviderExtensions); } else { XMLTemplateProvider provider = new XMLFileSystemTemplateProvider(Path, ""); provider.SaveAs(template, Path, formatter, TemplateProviderExtensions); } }
/// <summary> /// 循环遍历DataRowCollection来获取数据,填充返回对象实例的集合 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <typeparam name="C">实体类型的泛型集合类型,需要继承自ICollection<T></typeparam> /// <param name="rows">读取数据库获得的数据读取器</param> /// <param name="propertyNameIgnoreCase">根据所获取的DataRow数据集中各个列的名字去寻找实体类型中同名属性时,是否区分大小写,true则不区分大小写,默认为true。</param> /// <param name="skipNotExistProperty">当DataRow数据集中某个列的名字在实体类型中找不到对应的同名属性时,是否自动跳过,true则自动跳过,否则抛出异常,默认为true。</param> /// <returns>对象实例的集合,如果没有数据则返回Count=0的集合</returns> public static C GetEntityList <T, C>(DataRowCollection rows, bool propertyNameIgnoreCase, bool skipNotExistProperty, Action <DataRow, T> manualMapper = null) where T : class, new() where C : ICollection <T>, new() { return(GetEntityList <T, C>(rows, propertyNameIgnoreCase, skipNotExistProperty, '.', manualMapper)); }
/// <summary> /// 循环遍历DataRowCollection来获取数据,填充返回对象实例的集合 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <typeparam name="C">实体类型的泛型集合类型,需要继承自ICollection<T></typeparam> /// <param name="rows">读取数据库获得的数据读取器</param> /// <returns>对象实例的集合,如果没有数据则返回Count=0的集合</returns> public static C GetEntityList <T, C>(DataRowCollection rows, Action <DataRow, T> manualMapper = null) where T : class, new() where C : ICollection <T>, new() { return(GetEntityList <T, C>(rows, true, true, manualMapper)); }
/// <summary> /// Processes the <paramref name="export"/> using the current <see cref="DataListener.Data"/>. /// </summary> /// <param name="export"><see cref="Export"/> to be processed.</param> /// <exception cref="ArgumentException"><b>OutputFile</b>, <b>OutputFormat</b> or <b>OutputTimespan</b> setting is missing from the <see cref="Export.Settings"/> of the <paramref name="export"/>.</exception> protected override void ProcessExport(Export export) { // Ensure that required settings are present. ExportSetting outputFileSetting = export.FindSetting("OutputFile"); if (outputFileSetting == null) { throw new ArgumentException("OutputFile setting is missing"); } ExportSetting outputFormatSetting = export.FindSetting("OutputFormat"); if (outputFormatSetting == null) { throw new ArgumentException("OutputFormat setting is missing"); } ExportSetting outputTimespanSetting = export.FindSetting("OutputTimespan"); if (outputTimespanSetting == null) { throw new ArgumentException("OutputTimespan setting is missing"); } // Initialize local variables. DataSet output = null; string[] outputFiles = outputFileSetting.Value.Split(';', ','); DataSet current = GetExportDataAsDataset(export, null); DateTime dataStartDate = DateTime.UtcNow.AddMinutes(-Convert.ToInt32(outputTimespanSetting.Value)); // Make the output filenames absolute. for (int i = 0; i < outputFiles.Length; i++) { outputFiles[i] = FilePath.GetAbsolutePath(outputFiles[i].Trim()); } // Try to read-in data that might have been exported previously. foreach (string outputFile in outputFiles) { if (File.Exists(outputFile)) { // Wait for a lock on the file before reading. FilePath.WaitForReadLock(outputFile, FileLockWaitTime); // Read the file data and keep it in memory to be merged later. output = current.Clone(); switch (outputFormatSetting.Value.ToLower()) { case "xml": output.ReadXml(outputFile); break; case "csv": MergeTables(output.Tables[0], File.ReadAllText(outputFile).ToDataTable(",", true), dataStartDate); break; default: break; } break; // Don't look any further. } } if (output == null) { // Output will be just current data since there is no previously exported data. output = current; } else { // Merge previously exported data loaded from file with the current data for the export. MergeTables(output.Tables[0], current.Tables[0], dataStartDate); } // Delete any old data from the output that don't fall in the export's rolling window. string filterCondition = string.Format("Convert(Time, System.DateTime) < #{0}#", dataStartDate); foreach (DataRow row in output.Tables[0].Select(filterCondition)) { row.Delete(); } // Update the export timestamp, row count and interval. DataRowCollection info = output.Tables[1].Rows; info.Clear(); info.Add(DateTime.UtcNow.ToString("MM/dd/yyyy hh:mm:ss tt"), output.Tables[0].Rows.Count, string.Format("{0} seconds", export.Interval)); // Write the data for the export to the specified files in specified format. FileHelper.WriteToFile(outputFileSetting.Value, outputFormatSetting.Value, output); }
private void LoadExtraData(string name, string type) { try { string dbName = ("T" == type) ? this.Table.Database.Name : this.View.Database.Name; string schema = ("T" == type) ? this.Table.Schema : this.View.Schema; string select = "EXEC [" + dbName + "].dbo.sp_columns '" + name + "', '" + schema + "'"; using (OleDbConnection cn = new OleDbConnection(dbRoot.ConnectionString)) { cn.Open(); cn.ChangeDatabase("[" + dbName + "]"); OleDbDataAdapter adapter = new OleDbDataAdapter(select, cn); DataTable dataTable = new DataTable(); adapter.Fill(dataTable); if (this._array.Count > 0) { Column col = this._array[0] as Column; f_TypeName = new DataColumn("TYPE_NAME", typeof(string)); col._row.Table.Columns.Add(f_TypeName); string typeName = ""; DataRowCollection rows = dataTable.Rows; int count = this._array.Count; Column c = null; for (int index = 0; index < count; index++) { c = (Column)this[index]; typeName = rows[index]["TYPE_NAME"] as string; if (typeName.EndsWith(" identity")) { typeName = typeName.Replace(" identity", ""); typeName = typeName.Replace("()", ""); c._row["TYPE_NAME"] = typeName; } else { c._row["TYPE_NAME"] = typeName; } } } select = @"select COLUMN_NAME, DATA_TYPE from INFORMATION_SCHEMA.COLUMNS where table_schema = '" + schema + @"' and table_catalog='" + dbName + @"' and table_name='" + name + @"' and DATA_TYPE in ('nvarchar', 'varchar', 'varbinary') and character_maximum_length=-1 and character_octet_length=-1;"; adapter = new OleDbDataAdapter(select, cn); dataTable = new DataTable(); adapter.Fill(dataTable); Column colz = null; foreach (DataRow row in dataTable.Rows) { colz = this[row["COLUMN_NAME"] as string] as Column; if (null != colz) { colz._row["TYPE_NAME"] = row["DATA_TYPE"] as string; } } cn.Close(); } } catch {} }
/// <summary> /// 批量提交PDA扫描数据 /// </summary> /// <param name="dt">应包含opType、barCode、scanTime、userName等列</param> /// <returns>返回:包含“成功”,则调用成功,否则返回调用失败原因</returns> public string InsertByBatch(DataTable dt) { if (dt == null || dt.Rows.Count == 0) { return("无任何可保存的数据"); } string[] colNames = { "opType", "barCode", "scanTime", "userName" }; DataColumnCollection cols = dt.Columns; foreach (DataColumn col in cols) { if (!colNames.Contains(col.ColumnName)) { return("检测到提交的数据集中未包含" + col.ColumnName + "列"); } } DataRowCollection rows = dt.Rows; List <PDAOrderScanDetailInfo> osdList = new List <PDAOrderScanDetailInfo>(); //定义非重复的用户名、用户ID Dictionary <string, object> dicUser = new Dictionary <string, object>(); try { SysEnum seBll = new SysEnum(); var seList = seBll.GetList("and t2.EnumCode = 'SendReceiveType'", null); if (seList == null || seList.Count == 0) { return("服务端的操作类型未设定,请先完成设定"); } var firstModel = seList.OrderBy(m => m.Sort).First(); foreach (DataRow row in rows) { string opType = ""; if (row["opType"] != DBNull.Value) { opType = row["opType"].ToString(); } else { return("操作类型不能为空"); } var seModel = seList.Find(m => m.EnumValue.Trim() == opType.Trim()); if (seModel == null) { return("不存在操作类型:" + opType); } string barCode = ""; if (row["barCode"] != DBNull.Value) { barCode = row["barCode"].ToString(); } DateTime scanTime = DateTime.MinValue; if (row["scanTime"] != DBNull.Value) { DateTime.TryParse(row["scanTime"].ToString(), out scanTime); } if (scanTime == DateTime.MinValue) { return("数据集中包含不合法数据:scanTime值格式不正确"); } string userName = ""; if (row["userName"] != DBNull.Value) { userName = row["userName"].ToString(); } if (string.IsNullOrEmpty(userName)) { return("数据集中包含用户名为空"); } if (!dicUser.ContainsKey(userName)) { dicUser.Add(userName, Guid.Empty); } osdList.Add(new PDAOrderScanDetailInfo { OrderCode = barCode, CurrNodeId = seModel.Id, ScanTime = scanTime, Remark = seModel.Remark, Sort = seModel.Sort, LastUpdatedDate = DateTime.Now, UserName = userName, SysEnumValue = opType }); } TyUser tyuBll = new TyUser(); foreach (KeyValuePair <string, object> kvp in dicUser) { MembershipUser user = Membership.GetUser(kvp.Key, false); if (user == null) { return("不存在用户:" + kvp.Key); } TyUserInfo tyuModel = tyuBll.GetModelByUser(user.UserName); var currList = osdList.FindAll(m => m.UserName == kvp.Key); foreach (var item in currList) { item.UserId = user.ProviderUserKey; string sRemark = ""; if (tyuModel != null && !string.IsNullOrWhiteSpace(tyuModel.OrganizationName)) { sRemark = string.Format(item.Remark, tyuModel.OrganizationName); } else { sRemark = item.Remark.Replace(@"{0}", ""); } sRemark = item.SysEnumValue + ":" + sRemark; item.Remark = sRemark; } } PDAOrderScan osBll = new PDAOrderScan(); PDAOrderScanDetail osdBll = new PDAOrderScanDetail(); Order oBll = new Order(); SmsSend smsBll = new SmsSend(); var q = osdList.OrderBy(m => m.Sort); foreach (var item in q) { object nextNodeId = Guid.Empty; var currSeModel = seList.Find(m => m.EnumValue.Trim() == item.SysEnumValue); var nextSeModel = seList.FindAll(m => m.Sort > item.Sort).OrderBy(m => m.Sort).FirstOrDefault(); if (nextSeModel == null) { nextNodeId = item.CurrNodeId; } else { nextNodeId = nextSeModel.Id; } var lastSeModel = seList.OrderByDescending(m => m.Sort).First(); bool isFinish = lastSeModel.EnumValue.Trim() == item.SysEnumValue; bool isOsdExists = false; PDAOrderScanInfo currOsModel = new PDAOrderScanInfo(); currOsModel.OrderCode = item.OrderCode; currOsModel.CurrNodeId = item.CurrNodeId; currOsModel.NextNodeId = nextNodeId; currOsModel.IsFinish = isFinish; currOsModel.LastUpdatedDate = DateTime.Now; PDAOrderScanDetailInfo currOsdModel = new PDAOrderScanDetailInfo(); currOsdModel.OrderCode = item.OrderCode; currOsdModel.CurrNodeId = item.CurrNodeId; currOsdModel.ScanTime = item.ScanTime; currOsdModel.UserId = item.UserId; currOsdModel.LastUpdatedDate = currOsModel.LastUpdatedDate; currOsdModel.Remark = item.Remark; if (item.SysEnumValue == "干线发运" || item.SysEnumValue == "干线到达") { var orders = oBll.GetOrderByCarcode(item.OrderCode); if (orders == null || orders.Count() == 0) { return("操作类型:" + item.SysEnumValue + "找不到订单号,有错误"); } foreach (var currOrderCode in orders) { currOsModel.OrderCode = currOrderCode; currOsdModel.OrderCode = currOrderCode; var oldOsdList = osdBll.GetList(currOrderCode); if (oldOsdList != null) { isOsdExists = oldOsdList.Exists(m => m.CurrNodeId.Equals(item.CurrNodeId)); } if (!isOsdExists) { SmsSendInfo ssiModel = new SmsSendInfo(); ssiModel.OrderCode = currOrderCode; ssiModel.TranNode = currSeModel.EnumCode; ssiModel.TranNodeText = currSeModel.EnumValue; using (TransactionScope scope = new TransactionScope()) { if (osBll.GetModel(currOrderCode) == null) { osBll.Insert(currOsModel); } else { osBll.Update(currOsModel); } osdBll.Insert(currOsdModel); scope.Complete(); } smsBll.InsertByStrategy(ssiModel); } } } else if (item.Sort == firstModel.Sort) { var oldOsModel = osBll.GetModel(item.OrderCode); if (oldOsModel == null) { SmsSendInfo ssiModel = new SmsSendInfo(); ssiModel.OrderCode = item.OrderCode; ssiModel.TranNode = currSeModel.EnumCode; ssiModel.TranNodeText = currSeModel.EnumValue; using (TransactionScope scope = new TransactionScope()) { osBll.Insert(currOsModel); osdBll.Insert(currOsdModel); scope.Complete(); } smsBll.InsertByStrategy(ssiModel); } } else { var oldOsModel = osBll.GetModel(item.OrderCode); if (oldOsModel == null) { return("订单号:" + item.OrderCode + ",操作类型:" + item.SysEnumValue + "未取货,有错误"); } var oldOsdList = osdBll.GetList(item.OrderCode); if (oldOsdList != null) { isOsdExists = oldOsdList.Exists(m => m.CurrNodeId.Equals(item.CurrNodeId)); currOsModel.IsFinish = oldOsdList.Count == 5; } if (currOsModel.IsFinish) { continue; } if (!isOsdExists) { SmsSendInfo ssiModel = new SmsSendInfo(); ssiModel.OrderCode = currOsModel.OrderCode; ssiModel.TranNode = currSeModel.EnumCode; ssiModel.TranNodeText = currSeModel.EnumValue; using (TransactionScope scope = new TransactionScope()) { osBll.Update(currOsModel); osdBll.Insert(currOsdModel); scope.Complete(); } smsBll.InsertByStrategy(ssiModel); } } Console.WriteLine("request: opType:{0},barCode:{1},scanTime:{3},user:{2}", item.SysEnumValue, item.OrderCode, item.ScanTime, item.UserName); } return("保存成功"); } catch (Exception ex) { return(ex.Message); } }
public void Integrate() { con1.Open(); con2.Open(); //con1.BeginTransaction(); DataTable tables = con1.GetSchema("Tables"); //optymistycznie zakładamy // ze tabelki w obu bazach sa takie same, ale easy // zrobie sprawdzanko List <String> namesOfTables = new List <string>(); foreach (DataRow row in tables.Rows) { string tablename = (string)row[2]; Console.WriteLine(tablename); namesOfTables.Add(tablename); } //bierzemy klucze: DataTable dt = con1.GetSchema("IndexColumns"); DataRowCollection wiersze = dt.Rows; foreach (DataRow row in wiersze) { StringBuilder buff = new StringBuilder(); buff.Append(row["table_name"] + " | "); buff.Append(row["column_name"] + " | "); buff.Append(row["ordinal_position"] + " | "); buff.Append(row["KeyType"] + " | "); buff.Append(row["index_name"] + " | "); buff.Append(row["constraint_name"] + " | "); Console.WriteLine(buff.ToString()); } //bierzemy klucze obce: //na razie darujemy sobie to DataSet data1 = new DataSet(); DataSet data2 = new DataSet(); //dobrze działa, spokojnie for (int i = 0; i < namesOfTables.Count; i++) { //bierzemy dane: String command = "Select * from " + namesOfTables[i]; SqlDataAdapter adp1 = new SqlDataAdapter(command, con1); SqlDataAdapter adp2 = new SqlDataAdapter(command, con2); adp1.Fill(data1, namesOfTables[i]); adp2.Fill(data2, namesOfTables[i]); } //dopisanie kluczy do kolumn AddPrimaryKeysToDataSet(wiersze, ref data1); AddPrimaryKeysToDataSet(wiersze, ref data2); /*DropPrimaryKeysFromDataSet(data1); * DropPrimaryKeysFromDataSet(data2);*/ this.ShowData(data1); DataSet new_data1 = new DataSet(); DataSet new_data2 = new DataSet(); //pierwsze przejście foreach (DataTable table in data1.Tables) { new_data1.Tables.Add(table.Copy()); } foreach (DataTable table in data2.Tables) { new_data2.Tables.Add(table.Copy()); } //drugi to już właściwa integracja, na razie jest prostacka //dziala bo wczytywanie jest skopane, nie bedzie dzialac //jak wczytywanie bedzie dobrze //już nie działa :-)) foreach (DataTable table2 in data2.Tables) { foreach (DataTable tab in new_data1.Tables) { if (table2.TableName.Equals(tab.TableName)) { foreach (DataRow row in table2.Rows) { try { tab.Rows.Add(row.ItemArray); } catch (System.Data.ConstraintException e) { } } } } } foreach (DataTable table in data1.Tables) { foreach (DataTable tab in new_data2.Tables) { if (table.TableName.Equals(tab.TableName)) { foreach (DataRow row in table.Rows) { try { tab.Rows.Add(row.ItemArray); } catch (System.Data.ConstraintException e) { } } } } } this.ShowData(new_data1); this.ShowData(new_data2); con1.Close(); con2.Close(); }
public static void ReleasesHelp(DataRowCollection dataRows, Help help) { ReleasesHelp(dataRows.Cast <DataRow>(), help); }
internal WorkSheet() { _Columns = new DataColumnCollection(); _Rows = new DataRowCollection(); }
public void AddListItems(DataRowCollection dataRows, ProvisioningTemplate template, TokenParser parser, PnPMonitoredScope scope) { Microsoft.SharePoint.Client.FieldCollection fields = this.List.Fields; this.Context.Load(fields); this.Context.Load(this.List, l => l.RootFolder.ServerRelativeUrl); this.Context.ExecuteQueryRetry(); ItemPathProvider itemPathProvider = new ItemPathProvider(this.List, this.Web); bool isDocLib = ( this.List.BaseType == BaseType.DocumentLibrary ); var items = new List<ListItemInfo>(); this.Context.ExecuteQueryBatch(dataRows.ToList(), (dataRow) => { scope.LogDebug(CoreResources.Provisioning_ObjectHandlers_ListInstancesDataRows_Creating_list_item__0_, dataRows.IndexOf(dataRow) + 1); var listitem = itemPathProvider.CreateListItem(dataRow, template); if (null != listitem) { foreach (var dataValue in dataRow.Values) { Field dataField = fields.FirstOrDefault( f => f.InternalName == parser.ParseString(dataValue.Key)); if ((dataField != null) && CanFieldContentBeIncluded(dataField, false)) { string fieldValue = parser.ParseString(dataValue.Value); if (!string.IsNullOrEmpty(fieldValue)) { FieldValueProvider valueProvider = GetFieldValueProvider(dataField, this.Web); if (null != valueProvider) { object itemValue = valueProvider.GetFieldValueTyped(fieldValue); if (null != itemValue) { if (dataField.FieldTypeKind == FieldType.Lookup) { FieldLookup lookupField = (FieldLookup)dataField; RegisterLookupReference(lookupField, listitem, itemValue); } else { listitem[dataField.InternalName] = itemValue; } } } } } } listitem.Update(); this.Context.Load(listitem); if (isDocLib) { this.Context.Load(listitem.File); } items.Add(new ListItemInfo() { Item = listitem, Row = dataRow }); } }, (error, dataRow) => { for (var i = items.Count - 1; i >= 0; i--) { if (items[i].Row == dataRow) { items.RemoveAt(i); } } scope.LogError(CoreResources.Provisioning_ObjectHandlers_ListInstancesDataRows_Creating_listitem_failed___0_____1_, error, ""); }, isDocLib ? 1 : BATCH_SIZE); //Ensure files CheckIn if (isDocLib) { this.Context.ExecuteQueryBatch(items, (itemInfo) => { Microsoft.SharePoint.Client.File file = itemInfo.Item.File; if ((null != file.ServerObjectIsNull) && (!(bool)file.ServerObjectIsNull) && (file.CheckOutType != CheckOutType.None)) { file.CheckIn("", CheckinType.MajorCheckIn); } }, BATCH_SIZE); } foreach (ListItemInfo itemInfo in items) { try { var listitem = itemInfo.Item; var dataRow = itemInfo.Row; if (0 < listitem.Id) { AddIDMappingEntry(listitem, dataRow); if (dataRow.Security != null && dataRow.Security.RoleAssignments.Count != 0) { //Should be optimized (run in batch) listitem.SetSecurity(parser, dataRow.Security); } } } catch (Exception ex) { } } }