/// <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);
        }
    }
예제 #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="collection"></param>
 public DS_DataRowCollection(DataRowCollection collection)
 {
     _dataRowCollection = collection;
 }
예제 #3
0
 public AuthenticateUserSteps(IWebDriver driver)
 {
     Login = new LoginPage(driver);
     data  = azureParams.GetParams("76");
 }
예제 #4
0
        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);
            }
        }
예제 #5
0
        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);
            }
        }
예제 #7
0
        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;
        }
예제 #8
0
 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);
            }
            
        }
예제 #10
0
        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);
            }
        }
예제 #11
0
 /// <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));
 }
예제 #12
0
 /// <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));
 }
예제 #13
0
        /// <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);
        }
예제 #14
0
        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);
            }
        }
예제 #16
0
        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();
        }
예제 #17
0
 public static void ReleasesHelp(DataRowCollection dataRows, Help help)
 {
     ReleasesHelp(dataRows.Cast <DataRow>(), help);
 }
예제 #18
0
 internal WorkSheet()
 {
     _Columns = new DataColumnCollection();
     _Rows = new DataRowCollection();
 }
예제 #19
0
        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)
                {
                }
            }
        }