Beispiel #1
1
        /// <summary>
        /// Loads the entity from a <b>SqlDataReader</b> object.
        /// </summary>
        /// <param name="dr">The data reader to read from.</param>
        /// <returns>Returns the number of columns read.</returns>
        /// <remarks>
        /// Always reads at the current cursor position, doesn't calls the <b>Read</b> function
        /// on the <b>SqlDataReader</b> object. Reads data columns by their ordinal position in
        /// the query and not by their names.
        /// </remarks>
        internal override int LoadFromDataReader(SqlDataReader dr)
        {
            int o = base.LoadFromDataReader(dr);

            ++o;    // skip guid
            this.workflowTypeName = dr.GetString(++o);
            this.dateStarted = dr.IsDBNull(++o) ? DateTime.MinValue : dr.GetDateTime(o);
            this.dateFinished = dr.IsDBNull(++o) ? DateTime.MinValue : dr.GetDateTime(o);
            this.jobExecutionStatus = (JobExecutionState)dr.GetInt32(++o);
            this.suspendTimeout = dr.IsDBNull(++o) ? DateTime.MinValue : dr.GetDateTime(o);
            this.scheduleType = (ScheduleType)dr.GetInt32(++o);
            this.scheduleTime = dr.IsDBNull(++o) ? DateTime.MinValue : dr.GetDateTime(o);
            this.recurringPeriod = (RecurringPeriod)dr.GetInt32(++o);
            this.recurringInterval = dr.GetInt32(++o);
            this.recurringMask = dr.GetInt64(++o);
            this.workflowInstanceId = dr.IsDBNull(++o) ? Guid.Empty : dr.GetGuid(o);
            this.adminRequestTime = dr.IsDBNull(++o) ? DateTime.MinValue : dr.GetDateTime(o);
            if (!dr.IsDBNull(++o))
            {
                XmlSerializer ser = new XmlSerializer(typeof(JobAdminRequestData));
                StringReader sr = new StringReader(dr.GetString(o));
                this.adminRequestData = (JobAdminRequestData)ser.Deserialize(sr);
            }
            else
            {
                this.adminRequestData = null;
            }
            this.adminRequestResult = dr.GetInt32(++o);
            this.exceptionMessage = dr.IsDBNull(++o) ? null : dr.GetString(o);

            return o;
        }
        protected override string getItemKey(SqlDataReader reader)
        {
            var userId = reader.GetInt64(0);
            var friendId = reader.GetInt64(1);

            return String.Format("{0}_{1}", userId, friendId);
        }
Beispiel #3
0
 public LoginDB(System.Data.SqlClient.SqlDataReader reader)
 {
     this.reader = reader;
     this.ID     = reader.GetInt64(reader.GetOrdinal("Id"));
     this.Login  = reader.GetString(reader.GetOrdinal("Login"));
     this.Senha  = reader.GetString(reader.GetOrdinal("Senha"));
 }
Beispiel #4
0
        public Dictionary <Tuple <long, DateTime>, DERMSCommon.SCADACommon.MonthItem> ReadFromDayTable(string connectionString)
        {
            DERMSCommon.SCADACommon.MonthItem itemMonth = null;
            Dictionary <Tuple <long, DateTime>, DERMSCommon.SCADACommon.MonthItem> monthItems = new Dictionary <Tuple <long, DateTime>, DERMSCommon.SCADACommon.MonthItem>();
            Tuple <long, DateTime> key  = null;
            Tuple <long, DateTime> keyM = null;
            Dictionary <Tuple <long, DateTime>, DERMSCommon.SCADACommon.DayItem> dayItemsData = new Dictionary <Tuple <long, DateTime>, DERMSCommon.SCADACommon.DayItem>();

            using (System.Data.SqlClient.SqlConnection _con = new System.Data.SqlClient.SqlConnection(connectionString))
            {
                using (System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("SELECT Timestamp, Gid, E, PMax, PMin, PAvg FROM dbo.Day", _con))
                {
                    _con.Open();
                    using (System.Data.SqlClient.SqlDataReader reader = cmd.ExecuteReader())
                    {
                        // Check is the reader has any rows at all before starting to read.
                        if (reader.HasRows)
                        {
                            // Read advances to the next row.
                            while (reader.Read())
                            {
                                DERMSCommon.SCADACommon.DayItem c = new DERMSCommon.SCADACommon.DayItem();
                                // To avoid unexpected bugs access columns by name.
                                try
                                {
                                    c.E         = reader.GetDouble(reader.GetOrdinal("E"));
                                    c.PAvg      = reader.GetDouble(reader.GetOrdinal("PAvg"));
                                    c.PMax      = reader.GetDouble(reader.GetOrdinal("PMax"));
                                    c.PMin      = reader.GetDouble(reader.GetOrdinal("PMin"));
                                    c.Timestamp = reader.GetDateTime(reader.GetOrdinal("Timestamp"));
                                    c.Gid       = reader.GetInt64(reader.GetOrdinal("Gid"));
                                    //c.P = reader.GetDouble(reader.GetOrdinal("P"));

                                    key = new Tuple <long, DateTime>(c.Gid, c.Timestamp);
                                    dayItemsData.Add(key, c);
                                }
                                catch (Exception e)
                                { }
                            }
                        }
                    }

                    _con.Close();
                }
            }

            foreach (var d in dayItemsData)
            {
                //itemDay = new DERMSCommon.SCADACommon.DayItem(d.Key.Item1, d.Key.Item2.Date.AddHours(d.Key.Item2.Hour), MinProductionPerHour(d.Key.Item2.Hour, d.Key.Item2.DayOfYear, collectItemsData), MaxProductionPerHour(d.Key.Item2.Hour, d.Key.Item2.DayOfYear, collectItemsData), AvgProductionPerHour(d.Key.Item2.Hour, d.Key.Item2.DayOfYear, collectItemsData), 0, 0);
                itemMonth = new DERMSCommon.SCADACommon.MonthItem(d.Key.Item1, d.Key.Item2.Date, MinProductionPerDay(d.Key.Item2.DayOfYear, d.Key.Item2.Month, dayItemsData, d.Key.Item1), MaxProductionPerDay(d.Key.Item2.DayOfYear, d.Key.Item2.Month, dayItemsData, d.Key.Item1), AvgProductionPerDay(d.Key.Item2.DayOfYear, d.Key.Item2.Month, dayItemsData, d.Key.Item1), 0, d.Value.P);
                keyM      = new Tuple <long, DateTime>(itemMonth.Gid, itemMonth.Timestamp);
                if (!monthItems.ContainsKey(keyM))
                {
                    monthItems.Add(keyM, itemMonth);
                }
            }

            return(monthItems);
        }
        public LoginDB(System.Data.SqlClient.SqlDataReader reader)
        {
            this.reader = reader;
            this.ID = reader.GetInt64(reader.GetOrdinal("Id"));
            this.Login = reader.GetString(reader.GetOrdinal("Login"));
            this.Senha = reader.GetString(reader.GetOrdinal("Senha"));

        }
 private static void FillModelFrom(SqlDataReader reader, DeliveryAddressModel obj)
 {
     #region
     if (reader != null && !reader.IsClosed)
     {
         obj.DeliveryAddressID = reader.IsDBNull(reader.GetOrdinal("DeliveryAddressID")) ? 0 : reader.GetInt64(reader.GetOrdinal("DeliveryAddressID"));
         obj.UserID = reader.IsDBNull(reader.GetOrdinal("UserID")) ? 0 : reader.GetInt64(reader.GetOrdinal("UserID"));
         obj.Consignee = reader.IsDBNull(reader.GetOrdinal("Consignee")) ? String.Empty : reader.GetString(reader.GetOrdinal("Consignee"));
         obj.AreaID = reader.IsDBNull(reader.GetOrdinal("AreaID")) ? 0 : reader.GetInt32(reader.GetOrdinal("AreaID"));
         obj.CityID = reader.IsDBNull(reader.GetOrdinal("CityID")) ? 0 : reader.GetInt32(reader.GetOrdinal("CityID"));
         obj.Address = reader.IsDBNull(reader.GetOrdinal("Address")) ? String.Empty : reader.GetString(reader.GetOrdinal("Address"));
         obj.Postcode = reader.IsDBNull(reader.GetOrdinal("Postcode")) ? String.Empty : reader.GetString(reader.GetOrdinal("Postcode"));
         obj.Phone = reader.IsDBNull(reader.GetOrdinal("Phone")) ? String.Empty : reader.GetString(reader.GetOrdinal("Phone"));
         obj.Mobile = reader.IsDBNull(reader.GetOrdinal("Mobile")) ? String.Empty : reader.GetString(reader.GetOrdinal("Mobile"));
         obj.IsDefault = reader.IsDBNull(reader.GetOrdinal("IsDefault")) ? false : reader.GetBoolean(reader.GetOrdinal("IsDefault"));
     }
     #endregion
 }
Beispiel #7
0
    private string GetObjectValue(System.Data.SqlClient.SqlDataReader reader, int i)
    {
        string fieldType  = reader.GetFieldType(i).ToString();
        object FieldValue = null;;

        if (fieldType.Contains("Int32"))
        {
            FieldValue = reader.GetInt32(i);
        }
        else if (fieldType.Contains("Int64"))
        {
            FieldValue = reader.GetInt64(i);
        }
        else if (fieldType.Contains("Decimal"))
        {
            FieldValue = reader.GetDecimal(i);
        }
        else if (fieldType.Contains("Double"))
        {
            FieldValue = reader.GetDouble(i);
        }
        else if (fieldType.Contains("DateTime"))
        {
            FieldValue = reader.GetDateTime(i);
        }
        else if (fieldType.Contains("String"))
        {
            FieldValue = reader.GetString(i);
        }
        else if (fieldType.Contains("Boolean"))
        {
            FieldValue = reader.GetBoolean(i);
        }
        else if (fieldType.Contains("Byte"))
        {
            FieldValue = reader.GetByte(i);
        }
        else if (fieldType.Contains("Guid"))
        {
            FieldValue = reader.GetGuid(i);
        }
        else
        {
            FieldValue = reader.GetString(i);
        }

        if (FieldValue != null)
        {
            return(FieldValue.ToString());
        }
        else
        {
            return("");
        }
    }
Beispiel #8
0
 internal static Message Load(SqlDataReader reader) {
     var message = new Message
                       {
                           ConversationGroupId = reader.GetGuid(0),
                           ConversationHandle = reader.GetGuid(1),
                           MessageSequenceNumber = reader.GetInt64(2),
                           ServiceName = reader.GetString(3),
                           ServiceContractName = reader.GetString(4),
                           MessageTypeName = reader.GetString(5),
                           Body = reader.IsDBNull(7) ? new byte[0] : reader.GetSqlBytes(7).Buffer
                       };
     return message;
 }
 private static void FillModelFrom(SqlDataReader reader, UserInfoModel obj)
 {
     #region
     if (reader != null && !reader.IsClosed)
     {
         obj.UserID = reader.IsDBNull(reader.GetOrdinal("UserID")) ? 0 : reader.GetInt64(reader.GetOrdinal("UserID"));
         obj.Email = reader.IsDBNull(reader.GetOrdinal("Email")) ? String.Empty : reader.GetString(reader.GetOrdinal("Email"));
         obj.LoginName = reader.IsDBNull(reader.GetOrdinal("LoginName")) ? String.Empty : reader.GetString(reader.GetOrdinal("LoginName"));
         obj.Password = reader.IsDBNull(reader.GetOrdinal("Password")) ? String.Empty : reader.GetString(reader.GetOrdinal("Password"));
         obj.Sex = reader.IsDBNull(reader.GetOrdinal("Sex")) ? false : reader.GetBoolean(reader.GetOrdinal("Sex"));
         obj.Mobile = reader.IsDBNull(reader.GetOrdinal("Mobile")) ? String.Empty : reader.GetString(reader.GetOrdinal("Mobile"));
         obj.RealName = reader.IsDBNull(reader.GetOrdinal("RealName")) ? String.Empty : reader.GetString(reader.GetOrdinal("RealName"));
     }
     #endregion
 }
Beispiel #10
0
 internal static Message Load(SqlDataReader reader) {
     var message = new Message();
     //			RECEIVE conversation_group_id, conversation_handle, 
     //				message_sequence_number, service_name, service_contract_name, 
     //				message_type_name, validation, message_body
     //			FROM Queue
     message.ConversationGroupId = reader.GetGuid(0);
     message.ConversationHandle = reader.GetGuid(1);
     message.MessageSequenceNumber = reader.GetInt64(2);
     message.ServiceName = reader.GetString(3);
     message.ServiceContractName = reader.GetString(4);
     message.MessageTypeName = reader.GetString(5);
     //m_validation = reader.GetString(6);
     if (!reader.IsDBNull(7)) {
         message.Body = reader.GetSqlBytes(7).Buffer;
     } else
         message.Body = new byte[0];
     return message;
 }
 private EventDataRow ReadDataRow(SqlDataReader eventReader)
 {
     return new EventDataRow
            {
                EventJson = eventReader.GetString(1),
                EventType = eventReader.GetInt32(0),
                AggregateRootId = eventReader.GetGuid(2),
                AggregateRootVersion = eventReader[3] as int? ?? eventReader.GetInt32(10),
                EventId = eventReader.GetGuid(4),
                UtcTimeStamp = DateTime.SpecifyKind(eventReader.GetDateTime(5), DateTimeKind.Utc),
                //Without this the datetime will be DateTimeKind.Unspecified and will not convert correctly into Local time....
                InsertionOrder = eventReader.GetInt64(6),
                InsertAfter = eventReader[7] as long?,
                InsertBefore = eventReader[8] as long?,
                Replaces = eventReader[9] as long?,
                InsertedVersion = eventReader.GetInt32(10),
                ManualVersion = eventReader[11] as int?,
                EffectiveVersion = eventReader[3] as int?
     };
 }
 protected override Exception ProcessSqlResult(SqlDataReader reader)
 {
     Exception nextResultSet = StoreUtilities.GetNextResultSet(base.InstancePersistenceCommand.Name, reader);
     if (nextResultSet == null)
     {
         Guid instanceId = reader.GetGuid(1);
         reader.GetInt64(2);
         byte[] primitiveDataProperties = reader.IsDBNull(3) ? null : ((byte[]) reader.GetValue(3));
         byte[] complexDataProperties = reader.IsDBNull(4) ? null : ((byte[]) reader.GetValue(4));
         byte[] serializedMetadataProperties = reader.IsDBNull(5) ? null : ((byte[]) reader.GetValue(5));
         InstanceEncodingOption @byte = (InstanceEncodingOption) reader.GetByte(6);
         InstanceEncodingOption instanceEncodingOption = (InstanceEncodingOption) reader.GetByte(7);
         long instanceVersion = reader.GetInt64(8);
         bool boolean = reader.GetBoolean(9);
         bool flag2 = reader.GetBoolean(10);
         InstancePersistenceCommand instancePersistenceCommand = base.InstancePersistenceCommand;
         LoadWorkflowByInstanceKeyCommand command = base.InstancePersistenceCommand as LoadWorkflowByInstanceKeyCommand;
         if (!base.InstancePersistenceContext.InstanceView.IsBoundToInstance)
         {
             base.InstancePersistenceContext.BindInstance(instanceId);
         }
         if (!base.InstancePersistenceContext.InstanceView.IsBoundToInstanceOwner)
         {
             base.InstancePersistenceContext.BindInstanceOwner(base.StoreLock.LockOwnerId, base.StoreLock.LockOwnerId);
         }
         if (!base.InstancePersistenceContext.InstanceView.IsBoundToLock)
         {
             ((InstanceLockTracking) base.InstancePersistenceContext.UserContext).TrackStoreLock(instanceId, instanceVersion, base.DependentTransaction);
             base.InstancePersistenceContext.BindAcquiredLock(instanceVersion);
         }
         this.instanceData = SerializationUtilities.DeserializePropertyBag(primitiveDataProperties, complexDataProperties, @byte);
         this.instanceMetadata = SerializationUtilities.DeserializeMetadataPropertyBag(serializedMetadataProperties, instanceEncodingOption);
         if (!flag2)
         {
             this.ReadInstanceMetadataChanges(reader, this.instanceMetadata);
             this.ReadKeyData(reader, this.associatedInstanceKeys, this.completedInstanceKeys);
         }
         else if (command != null)
         {
             foreach (KeyValuePair<Guid, IDictionary<XName, InstanceValue>> pair in command.InstanceKeysToAssociate)
             {
                 this.associatedInstanceKeys.Add(pair.Key, pair.Value);
             }
             if (!this.associatedInstanceKeys.ContainsKey(command.LookupInstanceKey))
             {
                 base.InstancePersistenceContext.AssociatedInstanceKey(command.LookupInstanceKey);
                 this.associatedInstanceKeys.Add(command.LookupInstanceKey, new Dictionary<XName, InstanceValue>());
             }
         }
         if (command != null)
         {
             foreach (KeyValuePair<Guid, IDictionary<XName, InstanceValue>> pair2 in command.InstanceKeysToAssociate)
             {
                 base.InstancePersistenceContext.AssociatedInstanceKey(pair2.Key);
                 if (pair2.Value != null)
                 {
                     foreach (KeyValuePair<XName, InstanceValue> pair3 in pair2.Value)
                     {
                         base.InstancePersistenceContext.WroteInstanceKeyMetadataValue(pair2.Key, pair3.Key, pair3.Value);
                     }
                 }
             }
         }
         base.InstancePersistenceContext.LoadedInstance(boolean ? InstanceState.Initialized : InstanceState.Uninitialized, this.instanceData, this.instanceMetadata, this.associatedInstanceKeys, this.completedInstanceKeys);
         return nextResultSet;
     }
     if (nextResultSet is InstanceLockLostException)
     {
         base.InstancePersistenceContext.InstanceHandle.Free();
     }
     return nextResultSet;
 }
        protected override Exception ProcessSqlResult(SqlDataReader reader)
        {
            Exception exception = StoreUtilities.GetNextResultSet(this.InstancePersistenceCommand.Name, reader);

            if (exception == null)
            {
                base.InstancePersistenceContext.BindInstanceOwner(this.lockOwnerId, this.lockOwnerId);
                long surrogateLockOwnerId = reader.GetInt64(1);

                // Activatable takes precendence over Runnable.  (Activation owners cannot run instances.)
                if (this.fireActivatableInstancesEvent)
                {
                    base.InstancePersistenceContext.BindEvent(HasActivatableWorkflowEvent.Value);
                }
                else if (this.fireRunnableInstancesEvent)
                {
                    base.InstancePersistenceContext.BindEvent(HasRunnableWorkflowEvent.Value);
                }

                base.StoreLock.MarkInstanceOwnerCreated(this.lockOwnerId, surrogateLockOwnerId, base.InstancePersistenceContext.InstanceHandle, this.fireRunnableInstancesEvent, this.fireActivatableInstancesEvent);
            }

            return exception;
        }
        private static void ReadLookupTableRows(LookupTable ratingTable, SqlDataReader reader)
        {
            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    var LookupTableRow = new LookupTableRow();
                    var index = 0;
                    LookupTableRow.RowId = reader.GetInt64(index++).ToString();
                    LookupTableRow.ChangeId = reader.GetGuid(index++).ToString();
                    LookupTableRow.EffectiveDate = reader.GetDateTime(index++);
                    LookupTableRow.Active = reader.GetBoolean(index++);

                    foreach (var key in ratingTable.Keys)
                    {
                        var value = reader.GetString(index);
                        if (value.Contains("::"))
                        {
                            var lhValues = value.Split("::".ToCharArray(),
                                                       StringSplitOptions.RemoveEmptyEntries);
                            LookupTableRow.KeyValues.Add(new LookupTableKey(lhValues[0],
                                                                            lhValues[1]));
                        }
                        else
                        {
                            LookupTableRow.KeyValues.Add(new LookupTableKey(value, null));
                        }

                        index++;
                    }
                    foreach (var column in ratingTable.Columns)
                    {
                        LookupTableRow.ColumnValues.Add(column.Name, reader.GetString(index));
                        index++;
                    }
                    ratingTable.Rows.Add(LookupTableRow);
                }
            }
        }
 internal static void FillCompatibleITypedSettersFromReader(SmiEventSink_Default sink, ITypedSettersV3 setters, SmiMetaData[] metaData, SqlDataReader reader)
 {
     for (int i = 0; i < metaData.Length; i++)
     {
         if (reader.IsDBNull(i))
         {
             SetDBNull_Unchecked(sink, setters, i);
             continue;
         }
         switch (metaData[i].SqlDbType)
         {
             case SqlDbType.BigInt:
             {
                 SetInt64_Unchecked(sink, setters, i, reader.GetInt64(i));
                 continue;
             }
             case SqlDbType.Binary:
             {
                 SetSqlBytes_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0);
                 continue;
             }
             case SqlDbType.Bit:
             {
                 SetBoolean_Unchecked(sink, setters, i, reader.GetBoolean(i));
                 continue;
             }
             case SqlDbType.Char:
             {
                 SetSqlChars_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlChars(i), 0);
                 continue;
             }
             case SqlDbType.DateTime:
             {
                 SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i));
                 continue;
             }
             case SqlDbType.Decimal:
             {
                 SetSqlDecimal_Unchecked(sink, setters, i, reader.GetSqlDecimal(i));
                 continue;
             }
             case SqlDbType.Float:
             {
                 SetDouble_Unchecked(sink, setters, i, reader.GetDouble(i));
                 continue;
             }
             case SqlDbType.Image:
             {
                 SetSqlBytes_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0);
                 continue;
             }
             case SqlDbType.Int:
             {
                 SetInt32_Unchecked(sink, setters, i, reader.GetInt32(i));
                 continue;
             }
             case SqlDbType.Money:
             {
                 SetSqlMoney_Unchecked(sink, setters, i, metaData[i], reader.GetSqlMoney(i));
                 continue;
             }
             case SqlDbType.NChar:
             case SqlDbType.NText:
             case SqlDbType.NVarChar:
             {
                 SetSqlChars_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlChars(i), 0);
                 continue;
             }
             case SqlDbType.Real:
             {
                 SetSingle_Unchecked(sink, setters, i, reader.GetFloat(i));
                 continue;
             }
             case SqlDbType.UniqueIdentifier:
             {
                 SetGuid_Unchecked(sink, setters, i, reader.GetGuid(i));
                 continue;
             }
             case SqlDbType.SmallDateTime:
             {
                 SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i));
                 continue;
             }
             case SqlDbType.SmallInt:
             {
                 SetInt16_Unchecked(sink, setters, i, reader.GetInt16(i));
                 continue;
             }
             case SqlDbType.SmallMoney:
             {
                 SetSqlMoney_Checked(sink, setters, i, metaData[i], reader.GetSqlMoney(i));
                 continue;
             }
             case SqlDbType.Text:
             {
                 SetSqlChars_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlChars(i), 0);
                 continue;
             }
             case SqlDbType.Timestamp:
             {
                 SetSqlBytes_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0);
                 continue;
             }
             case SqlDbType.TinyInt:
             {
                 SetByte_Unchecked(sink, setters, i, reader.GetByte(i));
                 continue;
             }
             case SqlDbType.VarBinary:
             {
                 SetSqlBytes_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0);
                 continue;
             }
             case SqlDbType.VarChar:
             {
                 SetSqlChars_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlChars(i), 0);
                 continue;
             }
             case SqlDbType.Variant:
             {
                 object sqlValue = reader.GetSqlValue(i);
                 ExtendedClrTypeCode typeCode = MetaDataUtilsSmi.DetermineExtendedTypeCode(sqlValue);
                 SetCompatibleValue(sink, setters, i, metaData[i], sqlValue, typeCode, 0);
                 continue;
             }
             case SqlDbType.Xml:
             {
                 SetSqlXml_Unchecked(sink, setters, i, reader.GetSqlXml(i));
                 continue;
             }
             case SqlDbType.Udt:
             {
                 SetSqlBytes_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0);
                 continue;
             }
         }
         throw ADP.NotSupported();
     }
 }
        private void LoadUserEventsFromReader(SqlDataReader reader, object parameter)
        {
            if (null == reader)
                throw new ArgumentNullException("reader");

            //
            // There should always be 4 recordsets in this reader!
            //

            BinaryFormatter formatter = new BinaryFormatter();
            Dictionary<long, UserTrackingRecord> userEvents = new Dictionary<long, UserTrackingRecord>();
            //
            // Build a dictionary of activity records so that we can match 
            // annotation and artifact records from subsequent recordsets
            DateTime tmpMin = SqlDateTime.MinValue.Value;
            while (reader.Read())
            {
                string qId = reader.GetString(0);
                DateTime dt = reader.GetDateTime(1);
                Guid context = reader.GetGuid(2), parentContext = reader.GetGuid(3);
                int order = reader.GetInt32(4);
                string key = null;
                if (!reader.IsDBNull(5))
                    key = reader.GetString(5);
                //
                // Get the user data from the serialized column if we can
                // Try the string column if serialized column is null
                // If both are null the user data was null originally
                object userData = null;
                if (!reader.IsDBNull(7))
                    userData = formatter.Deserialize(new MemoryStream((Byte[])reader[7]));
                else if (!reader.IsDBNull(6))
                    userData = reader.GetString(6);

                if (reader.IsDBNull(8) || reader.IsDBNull(9))
                    throw new InvalidOperationException(String.Format(System.Globalization.CultureInfo.CurrentCulture, ExecutionStringManager.SqlTrackingTypeNotFound, qId));

                Type type = Type.GetType(reader.GetString(8) + ", " + reader.GetString(9), true, false);
                long eventId = reader.GetInt64(10);

                DateTime dbDt = reader.GetDateTime(11);

                userEvents.Add(eventId, new UserTrackingRecord(type, qId, context, parentContext, dt, order, key, userData));

                if (dbDt > tmpMin)
                    tmpMin = dbDt;
            }

            if (!reader.NextResult())
                throw new ArgumentException(ExecutionStringManager.InvalidUserEventReader);

            //
            // If we have annotations on the event itself, add them
            while (reader.Read())
            {
                long eventId = reader.GetInt64(0);
                string annotation = null;

                if (!reader.IsDBNull(1))
                    annotation = reader.GetString(1);

                UserTrackingRecord user = null;
                if (userEvents.TryGetValue(eventId, out user))
                {
                    if (null != user)
                        user.Annotations.Add(annotation);
                }
            }

            if (!reader.NextResult())
                throw new ArgumentException(ExecutionStringManager.InvalidUserEventReader);

            //
            // Build a dictionary of artifact records so that we can match 
            // annotation records from subsequent recordsets
            Dictionary<long, TrackingDataItem> artifacts = new Dictionary<long, TrackingDataItem>();
            while (reader.Read())
            {
                long eventId = reader.GetInt64(0);
                long artId = reader.GetInt64(1);
                string name = reader.GetString(2), strData = null;
                object data = null;
                //
                // These may both be null
                if (!reader.IsDBNull(3))
                    strData = reader.GetString(3);

                if (!reader.IsDBNull(4))
                    data = formatter.Deserialize(new MemoryStream((Byte[])reader[4]));

                TrackingDataItem item = new TrackingDataItem();
                item.FieldName = name;
                if (null != data)
                    item.Data = data;
                else
                    item.Data = strData;

                artifacts.Add(artId, item);
                //
                // Find the event to which this artifact belongs and add it to the record
                UserTrackingRecord user = null;
                if (userEvents.TryGetValue(eventId, out user))
                {
                    if (null != user)
                        user.Body.Add(item);
                }
            }

            if (!reader.NextResult())
                throw new ArgumentException(ExecutionStringManager.InvalidUserEventReader);

            //
            // If we have annotations add them to the appropriate artifact
            while (reader.Read())
            {
                long artId = reader.GetInt64(0);
                string annotation = null;

                if (!reader.IsDBNull(1))
                    annotation = reader.GetString(1);
                //
                // Find the right artifact and give it the annotation
                TrackingDataItem item = null;
                if (artifacts.TryGetValue(artId, out item))
                {
                    if (null != item)
                        item.Annotations.Add(annotation);
                }
            }

            _userEvents.AddRange(userEvents.Values);
            //
            // Set the min dt to query for next time to the most recent event we got for this query.
            // Don't overwrite the previous min if nothing came back for this query
            if (tmpMin > SqlDateTime.MinValue.Value)
                _userMinDT = tmpMin;
            return;
        }
Beispiel #17
0
 private IndexBackup GetBackupFromReader(SqlDataReader reader)
 {
     var result = new IndexBackup();
     result.IndexBackupId = reader.GetInt32(0);              // IndexBackupId
     result.BackupNumber = reader.GetInt32(1);               // BackupNumber
     result.BackupDate = reader.GetDateTime(2);              // BackupDate
     result.ComputerName = reader.GetSafeString(3);          // ComputerName
     result.AppDomainName = reader.GetSafeString(4);         // AppDomain
     result.BackupFileLength = reader.GetInt64(5);           // BackupFileLength
     result.RowGuid = reader.GetGuid(6);                     // RowGuid
     result.Timestamp = GetLongFromBytes((byte[])reader[7]); // Timestamp
     return result;
 }
        protected override string getItemKey(SqlDataReader reader)
        {
            var id = reader.GetInt64(0);

            return id.ToString();
        }
 protected Int64 getRsInt64(SqlDataReader cReader, int idx)
 {
     try
     {
         if (cReader[idx] != null)
         {
             return cReader.GetInt64(idx);
         }
         else
         {
             return 0;
         }
     }
     catch
     {
         return 0;
     }
 }
Beispiel #20
0
        private static MembershipEntry ConvertFromRow(SqlDataReader results, out string eTag, out int tableVersion, out string versionETag)
        {
            var entry = new MembershipEntry();

            int port = results.GetInt32(PortIdx);
            int gen = results.GetInt32(GenerationIdx);
            entry.SiloAddress = SiloAddress.New(new IPEndPoint(IPAddress.Parse(results.GetString(AddressIdx)), port), gen);

            entry.HostName = results.GetString(HostNameIdx);
            entry.Status = (SiloStatus)results.GetInt32(StatusIdx);
            if (!results.GetSqlInt32(ProxyPortIdx).IsNull)
                entry.ProxyPort = results.GetInt32(ProxyPortIdx);
            if (!results.GetSqlBoolean(PrimaryIdx).IsNull)
                entry.IsPrimary = results.GetBoolean(PrimaryIdx);

            entry.RoleName = results.GetString(RoleNameIdx);
            entry.InstanceName = results.GetString(InstanceNameIdx);
            if (!results.GetSqlInt32(UpdateZoneIdx).IsNull)
                entry.UpdateZone = results.GetInt32(UpdateZoneIdx);
            if (!results.GetSqlInt32(FaultZoneIdx).IsNull)
                entry.FaultZone = results.GetInt32(FaultZoneIdx);

            if (!results.GetSqlDateTime(StartTimeIdx).IsNull)
                entry.StartTime = results.GetDateTime(StartTimeIdx);
            if (!results.GetSqlDateTime(IAmAliveTimeIdx).IsNull)
                entry.IAmAliveTime = results.GetDateTime(IAmAliveTimeIdx);
            eTag = results.GetString(ETagIdx);
            tableVersion = (int)results.GetInt64(VersionIdx);
            versionETag = results.GetString(VersionETagIdx);

            var suspectingSilosString = results.GetSqlString(SuspectingSilosIdx);
            var suspectingTimesString = results.GetSqlString(SuspectingTimesIdx);

            List<SiloAddress> suspectingSilos = new List<SiloAddress>();
            List<DateTime> suspectingTimes = new List<DateTime>();
            if (!suspectingSilosString.IsNull && !string.IsNullOrEmpty(suspectingSilosString.Value))
            {
                string[] silos = suspectingSilosString.Value.Split('|');
                foreach (string silo in silos)
                {
                    suspectingSilos.Add(SiloAddress.FromParsableString(silo));
                }
            }

            if (!suspectingTimesString.IsNull && !string.IsNullOrEmpty(suspectingTimesString.Value))
            {
                string[] times = suspectingTimesString.Value.Split('|');
                foreach (string time in times)
                {
                    suspectingTimes.Add(TraceLogger.ParseDate(time));
                }
            }

            if (suspectingSilos.Count != suspectingTimes.Count)
                throw new OrleansException(String.Format("SuspectingSilos.Length of {0} as read from SQL table is not eqaul to SuspectingTimes.Length of {1}", suspectingSilos.Count, suspectingTimes.Count));

            for (int i = 0; i < suspectingSilos.Count; i++)
            {
                entry.AddSuspector(suspectingSilos[i], suspectingTimes[i]);
            }
            return entry;
        }
 public static long?GetNullableInt64(this SqlDataReader reader, int i)
 {
     return(reader.IsDBNull(i) ? (long?)null : reader.GetInt64(i));
 }
Beispiel #22
0
        public int LoadFromDataReader(SqlDataReader dr)
        {
            int o = -1;

            this.eventId = dr.GetInt64(++o);
            this.userGuid = dr.GetGuid(++o);
            this.jobGuid = dr.GetGuid(++o);
            this.contextGuid = dr.GetGuid(++o);
            this.eventSource = (EventSource)dr.GetInt32(++o);
            this.eventSeverity = (EventSeverity)dr.GetInt32(++o);
            this.eventDateTime = dr.GetDateTime(++o);
            this.eventOrder = dr.GetInt64(++o);
            this.executionStatus = (ExecutionStatus)dr.GetInt32(++o);
            this.operation = dr.GetString(++o);
            this.entityGuid = dr.GetGuid(++o);
            this.entityGuidFrom = dr.GetGuid(++o);
            this.entityGuidTo = dr.GetGuid(++o);
            this.exceptionType = dr.IsDBNull(++o) ? null : dr.GetString(o);
            this.message = dr.IsDBNull(++o) ? null : dr.GetString(o);
            this.site = dr.IsDBNull(++o) ? null : dr.GetString(o);
            this.stackTrace = dr.IsDBNull(++o) ? null : dr.GetString(o);
            this.exception = null;

            return o;
        }
Beispiel #23
0
 public static string getFieldValue(SqlDataReader dr, int ind, string def)
 {
     string val = def;
     if (!dr.IsDBNull(ind))
     {
         switch (System.Type.GetTypeCode(dr.GetFieldType(ind)))
         {
             case System.TypeCode.Boolean:
                 val = (dr.GetBoolean(ind) ? "1" : "0");
                 break;
             case System.TypeCode.Int16:
                 val = dr.GetInt16(ind).ToString();
                 break;
             case System.TypeCode.Int32:
                 val = dr.GetInt32(ind).ToString();
                 break;
             case System.TypeCode.Int64:
                 val = dr.GetInt64(ind).ToString();
                 break;
             case System.TypeCode.Single:
                 val = dr.GetFloat(ind).ToString();
                 break;
             case System.TypeCode.Double:
                 val = dr.GetDouble(ind).ToString();
                 break;
             case System.TypeCode.Decimal:
                 val = dr.GetDecimal(ind).ToString();
                 break;
             case System.TypeCode.DateTime:
                 val = DBManagerSQL.DBDateToFormatedDate(dr.GetDateTime(ind));
                 break;
             case System.TypeCode.String:
                 val = dr.GetString(ind);
                 break;
         }
     }
     return val;
 }
        private void LoadWorkflowEventsFromReader(SqlDataReader reader, object parameter)
        {
            if (null == reader)
                throw new ArgumentNullException("reader");

            //
            // There should always be 2 recordsets in this reader!
            //

            DateTime tmpMin = SqlDateTime.MinValue.Value;

            Dictionary<long, WorkflowTrackingRecord> inst = new Dictionary<long, WorkflowTrackingRecord>();
            while (reader.Read())
            {
                TrackingWorkflowEvent evt = (TrackingWorkflowEvent)reader[0];
                DateTime dt = reader.GetDateTime(1);
                int order = reader.GetInt32(2);

                object tmp = null;
                EventArgs args = null;
                if (!reader.IsDBNull(3))
                {
                    BinaryFormatter formatter = new BinaryFormatter();
                    tmp = formatter.Deserialize(new MemoryStream((Byte[])reader[3]));
                    if (tmp is EventArgs)
                        args = (EventArgs)tmp;
                }
                long eventId = reader.GetInt64(4);

                DateTime dbDt = reader.GetDateTime(5);

                inst.Add(eventId, new WorkflowTrackingRecord(evt, dt, order, args));

                if (dbDt > tmpMin)
                    tmpMin = dbDt;
            }

            if (!reader.NextResult())
                throw new ArgumentException(ExecutionStringManager.InvalidWorkflowInstanceEventReader);

            //
            // Add any annotations
            while (reader.Read())
            {
                long eventId = reader.GetInt64(0);
                string annotation = null;

                if (!reader.IsDBNull(1))
                    annotation = reader.GetString(1);

                WorkflowTrackingRecord rec = null;
                if (inst.TryGetValue(eventId, out rec))
                {
                    if (null != rec)
                        rec.Annotations.Add(annotation);
                }
            }

            if (!reader.IsClosed)
                reader.Close();
            //
            // Check if we have any WorkflowChange events in this list
            // If so pull back the change actions and reconstruct the args property
            foreach (KeyValuePair<long, WorkflowTrackingRecord> kvp in inst)
            {
                WorkflowTrackingRecord rec = kvp.Value;
                if (TrackingWorkflowEvent.Changed != rec.TrackingWorkflowEvent)
                    continue;

                SqlCommand cmd = new SqlCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "[dbo].[GetWorkflowChangeEventArgs]";
                cmd.Parameters.Add(new SqlParameter("@WorkflowInstanceInternalId", _internalId));
                cmd.Parameters.Add(new SqlParameter("@BeginDateTime", SqlDateTime.MinValue.Value));
                cmd.Parameters.Add(new SqlParameter("@WorkflowInstanceEventId", kvp.Key));

                ExecuteRetried(cmd, LoadWorkflowChangeEventArgsFromReader, rec);
            }

            _workflowEvents.AddRange(inst.Values);
            //
            // set the min for the next query to the most recent event from this query
            // Don't overwrite the previous min if nothing came back for this query
            if (tmpMin > SqlDateTime.MinValue.Value)
                _instMinDT = tmpMin;
        }
Beispiel #25
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////
        // Character listening packet
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////
        public static byte[] CharacterListing(string name)
        {
            
            Systems.MsSQL ms    = new Systems.MsSQL("SELECT TOP 4 * FROM character WHERE account='" + name + "'");
            PacketWriter Writer = new PacketWriter();

            Writer.Create(Systems.SERVER_CHARACTERSCREEN);      // Select opcode
            Writer.Byte(2);                                     // Static byte 2
            Writer.Byte(1);                                     // Static byte 1
            Writer.Byte(ms.Count());                            // Byte Character Count

            using (System.Data.SqlClient.SqlDataReader reader = ms.Read())
            {
                while (reader.Read())
                {
                    Writer.DWord(reader.GetInt32(3));           // DWord Skin Model
                    Writer.Text(reader.GetString(2));           // String Name
 
                    Writer.Byte(reader.GetByte(4));             // Byte Skin Volume
                    Writer.Byte(reader.GetByte(5));             // Byte Level

                    Writer.LWord(reader.GetInt64(12));          // Long Experience

                    Writer.Word(reader.GetInt16(6));            // Word STR
                    Writer.Word(reader.GetInt16(7));            // Word INT
                    Writer.Word(reader.GetInt16(8));            // Attribute points
                    
                    Writer.DWord(reader.GetInt32(9));           // HP
                    Writer.DWord(reader.GetInt32(10));          // MP

                    TimeSpan ts = Convert.ToDateTime(reader.GetDateTime(43)) - DateTime.Now;
                    double time = ts.TotalMinutes;

                    if (Math.Round(time) > 0)
                    {
                        Writer.Byte(1);
                        Writer.DWord(Math.Round(time));
                    }
                    else
                    {
                        Writer.Byte(0);
                    }

                    if (Math.Round(time) < 0 && DateTime.Now != reader.GetDateTime(43))
                    {
                        Systems.MsSQL.UpdateData("UPDATE character SET deleted='1' Where id='" + reader.GetInt32(0) + "'");
                    }

                    Writer.Word(0);
                    Writer.Byte(0);

                    Function.Items.PrivateItemPacket(Writer, reader.GetInt32(0), 8, 0,false);
                    Function.Items.PrivateItemPacket(Writer, reader.GetInt32(0), 5, 1,false);
                }
                //Jobtype information
                int jobinfo = Systems.MsSQL.GetDataInt("SELECT * FROM users WHERE id='"+ name +"'", "jobtype");
                Writer.Byte(Convert.ToByte(jobinfo));
            }
            ms.Close();

            return Writer.GetBytes();
        }
        protected override string getItemKey(SqlDataReader reader)
        {
            var id = reader.GetInt64(0);
            var ownerId = reader.GetInt64(1);

            return String.Format("{0}_{1}", id, ownerId);
        }
Beispiel #27
0
        public void LoadPlayerGuildInfo(bool logon)
        {
            try
            {
                MsSQL ms = new MsSQL("SELECT * FROM guild_members WHERE guild_member_id='" + Character.Information.CharacterID + "'");
                using (System.Data.SqlClient.SqlDataReader reader = ms.Read())
                {
                    while (reader.Read())
                    {
                        Character.Network.Guild.Guildid           = reader.GetInt32(1);
                        Character.Network.Guild.GrantName         = reader.GetString(5);
                        Character.Network.Guild.FWrank            = reader.GetByte(6);
                        Character.Network.Guild.DonateGP          = reader.GetInt32(4);
                        Character.Network.Guild.LastDonate        = Character.Network.Guild.DonateGP;
                        Character.Network.Guild.joinRight         = (reader.GetByte(7) == 1);
                        Character.Network.Guild.withdrawRight     = (reader.GetByte(8) == 1);
                        Character.Network.Guild.unionRight        = (reader.GetByte(9) == 1);
                        Character.Network.Guild.guildstorageRight = (reader.GetByte(10) == 1);
                        Character.Network.Guild.noticeeditRight   = (reader.GetByte(11) == 1);
                    }
                }

                ms = new MsSQL("SELECT * FROM guild WHERE id='" + Character.Network.Guild.Guildid + "'");
                using (System.Data.SqlClient.SqlDataReader reader2 = ms.Read())
                {
                    while (reader2.Read())
                    {
                        Character.Network.Guild.Name         = reader2.GetString(1);
                        Character.Network.Guild.Level        = reader2.GetByte(2);
                        Character.Network.Guild.PointsTotal  = reader2.GetInt32(3);
                        Character.Network.Guild.NewsTitle    = reader2.GetString(4);
                        Character.Network.Guild.NewsMessage  = reader2.GetString(5);
                        Character.Network.Guild.StorageSlots = reader2.GetInt32(7);
                        Character.Network.Guild.Wargold      = reader2.GetInt32(8);
                        Character.Network.Guild.StorageGold  = reader2.GetInt64(11);
                        Character.Network.Guild.GuildOwner   = reader2.GetInt32(9);
                    }
                }

                ms = new MsSQL("SELECT * FROM guild_members WHERE guild_id='" + Character.Network.Guild.Guildid + "'");
                Character.Network.Guild.TotalMembers = Convert.ToByte(ms.Count());

                ms.Close();
                //Set max players allowed in guild
                switch (Character.Network.Guild.Level)
                {
                case 1:
                    Character.Network.Guild.MaxMembers = 20;
                    break;

                case 2:
                    Character.Network.Guild.MaxMembers = 25;
                    break;

                case 3:
                    Character.Network.Guild.MaxMembers = 30;
                    break;

                case 4:
                    Character.Network.Guild.MaxMembers = 35;
                    break;

                case 5:
                    Character.Network.Guild.MaxMembers = 50;
                    break;
                }

                //Only load on player login
                if (logon)
                {
                    LoadGuildMembers();
                }
            }
            catch (Exception ex)
            {
                Systems.Debugger.Write(ex);
                Console.WriteLine("LoadPlayerGuildInfo error {0}", ex);
            }
        }
Beispiel #28
0
        // Jika tidak menggunakan constructor
        // hapus pada baris yg di comment
        // ====================================
        // | Alt + Insert untuk meng-generate |
        // | construktor dari class yg dibuat |
        // ====================================
        public string PengecekField(SqlDataReader hasilPembaca, byte kolom)
        {
            string hasil = "";
            if (hasilPembaca.IsDBNull(kolom))
            {
                if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.Byte")
                    hasil = "0";
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.Boolean")
                    hasil = "false";
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.Int32")
                    hasil = "0";
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.Int16")
                    hasil = "0";
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.String")
                    hasil = "";
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.Decimal")
                    hasil = "0";
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.Int64")
                    hasil = "0";
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.DateTime")
                    hasil = "0";
                else
                {
                    MessageBox.Show(Resources.CAlat_PengecekField_Tipe_data_tidak_di_kenali, Resources.CAlat_PengecekField_Infomasi, MessageBoxButtons.OK,
                        MessageBoxIcon.Information);
                }
            }
            else
            {
                if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.Byte")
                    hasil = hasilPembaca.GetByte(kolom).ToString().Trim();
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.Boolean")
                    hasil = hasilPembaca.GetBoolean(kolom).ToString().Trim();
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.Int32")
                    hasil = hasilPembaca.GetInt32(kolom).ToString().Trim();
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.Int16")
                    hasil = hasilPembaca.GetInt16(kolom).ToString().Trim();
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.String")
                    hasil = hasilPembaca.GetString(kolom).ToString().Trim();
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.Decimal")
                    hasil = hasilPembaca.GetDecimal(kolom).ToString().Trim();
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.Int64")
                    hasil = hasilPembaca.GetInt64(kolom).ToString().Trim();
                else if (hasilPembaca.GetFieldType(kolom).ToString().Trim() == "System.DateTime")
                    hasil = string.Format("{0:MM/dd/yyyy}", hasilPembaca.GetDateTime(kolom));
                else
                {
                    MessageBox.Show(Resources.CAlat_PengecekField_Tipe_data_tidak_di_kenali, Resources.CAlat_PengecekField_Infomasi, MessageBoxButtons.OK,
                        MessageBoxIcon.Information);
                }
            }

            return hasil;
        }
Beispiel #29
0
        public Dictionary <Tuple <long, DateTime>, DERMSCommon.SCADACommon.YearItem> ReadFromMonthTable(string connectionString)
        {
            DERMSCommon.SCADACommon.YearItem itemYear = null;
            Dictionary <Tuple <long, DateTime>, DERMSCommon.SCADACommon.YearItem> yearItems = new Dictionary <Tuple <long, DateTime>, DERMSCommon.SCADACommon.YearItem>();
            Tuple <long, DateTime> key  = null;
            Tuple <long, DateTime> keyY = null;
            Dictionary <Tuple <long, DateTime>, DERMSCommon.SCADACommon.MonthItem> monthItemsData = new Dictionary <Tuple <long, DateTime>, DERMSCommon.SCADACommon.MonthItem>();

            using (System.Data.SqlClient.SqlConnection _con = new System.Data.SqlClient.SqlConnection(connectionString))
            {
                using (System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("SELECT Timestamp, Gid, E, PMax, PMin, PAvg FROM dbo.Month", _con))
                {
                    _con.Open();
                    using (System.Data.SqlClient.SqlDataReader reader = cmd.ExecuteReader())
                    {
                        // Check is the reader has any rows at all before starting to read.
                        if (reader.HasRows)
                        {
                            // Read advances to the next row.
                            while (reader.Read())
                            {
                                DERMSCommon.SCADACommon.MonthItem c = new DERMSCommon.SCADACommon.MonthItem();
                                // To avoid unexpected bugs access columns by name.
                                try
                                {
                                    c.E         = reader.GetDouble(reader.GetOrdinal("E"));
                                    c.PAvg      = reader.GetDouble(reader.GetOrdinal("PAvg"));
                                    c.PMax      = reader.GetDouble(reader.GetOrdinal("PMax"));
                                    c.PMin      = reader.GetDouble(reader.GetOrdinal("PMin"));
                                    c.Timestamp = reader.GetDateTime(reader.GetOrdinal("Timestamp"));
                                    c.Gid       = reader.GetInt64(reader.GetOrdinal("Gid"));
                                    //c.P = reader.GetDouble(reader.GetOrdinal("P"));

                                    key = new Tuple <long, DateTime>(c.Gid, c.Timestamp);
                                    monthItemsData.Add(key, c);
                                }
                                catch (Exception e)
                                { }
                            }
                        }
                    }

                    _con.Close();
                }
            }
            bool ok = false;

            foreach (var d in monthItemsData)
            {
                ok = false;
                //itemDay = new DERMSCommon.SCADACommon.DayItem(d.Key.Item1, d.Key.Item2.Date.AddHours(d.Key.Item2.Hour), MinProductionPerHour(d.Key.Item2.Hour, d.Key.Item2.DayOfYear, collectItemsData), MaxProductionPerHour(d.Key.Item2.Hour, d.Key.Item2.DayOfYear, collectItemsData), AvgProductionPerHour(d.Key.Item2.Hour, d.Key.Item2.DayOfYear, collectItemsData), 0, 0);
                itemYear = new DERMSCommon.SCADACommon.YearItem(d.Key.Item1, d.Key.Item2.Date, MinProductionPerMonth(d.Key.Item2.Month, d.Key.Item2.Year, monthItemsData, d.Key.Item1), MaxProductionPerMonth(d.Key.Item2.Month, d.Key.Item2.Year, monthItemsData, d.Key.Item1), AvgProductionPerMonth(d.Key.Item2.Month, d.Key.Item2.Year, monthItemsData, d.Key.Item1), 0, d.Value.P);
                keyY     = new Tuple <long, DateTime>(itemYear.Gid, itemYear.Timestamp);
                if (yearItems.Count > 0)
                {
                    foreach (var y in yearItems)
                    {
                        if (!(y.Key.Item2.Month == keyY.Item2.Month && y.Key.Item1 == keyY.Item1))
                        {
                            ok = true;
                        }
                        else
                        {
                            ok = false;
                            break;
                        }
                    }
                    if (ok)
                    {
                        yearItems.Add(keyY, itemYear);
                    }
                }
                else
                {
                    yearItems.Add(keyY, itemYear);
                }
                //if (!yearItems.ContainsKey(keyY))
                //    yearItems.Add(keyY, itemYear);
            }

            return(yearItems);
        }
        protected override string getItemKey(SqlDataReader reader)
        {
            var ownerId = reader.GetInt64(0);
            var itemId = reader.GetInt64(1);
            var type = reader.GetString(2);
            var userId = reader.GetInt64(3);

            return String.Format("{0}_{1}_{2}_{3}", ownerId, itemId, type, userId);
        }
Beispiel #31
0
 public static double getFieldValue(SqlDataReader dr, int ind, double def)
 {
     double val = def;
     if (!dr.IsDBNull(ind))
     {
         switch (System.Type.GetTypeCode(dr.GetFieldType(ind)))
         {
             case System.TypeCode.Boolean:
                 val = (dr.GetBoolean(ind) ? 1.0 : 0.0);
                 break;
             case System.TypeCode.Int16:
                 val = System.Convert.ToDouble(dr.GetInt16(ind));
                 break;
             case System.TypeCode.Int32:
                 val = System.Convert.ToDouble(dr.GetInt32(ind));
                 break;
             case System.TypeCode.Int64:
                 val = System.Convert.ToDouble(dr.GetInt64(ind));
                 break;
             case System.TypeCode.Single:
                 val = System.Convert.ToDouble(dr.GetFloat(ind));
                 break;
             case System.TypeCode.Double:
                 val = dr.GetDouble(ind);
                 break;
             case System.TypeCode.Decimal:
                 val = System.Convert.ToDouble(dr.GetDecimal(ind));
                 break;
         }
     }
     return val;
 }
Beispiel #32
0
        private static List<Timelapse> GetListFromDataReader(SqlDataReader dr)
        {
            List<Timelapse> timelapses = new List<Timelapse>();
            while (dr.Read())
            {
                var timelapse = new Timelapse();
                if (!dr.IsDBNull(dr.GetOrdinal("Id")))
                    timelapse.ID = dr.GetInt32(dr.GetOrdinal("Id"));

                if (!dr.IsDBNull(dr.GetOrdinal("UserId")))
                    timelapse.UserId = dr["UserId"].ToString();
                if (!dr.IsDBNull(dr.GetOrdinal("CameraId")))
                    timelapse.CameraId = dr["CameraId"].ToString();
                if (!dr.IsDBNull(dr.GetOrdinal("OauthToken")))
                    timelapse.OauthToken = dr["OauthToken"].ToString();
                if (!dr.IsDBNull(dr.GetOrdinal("StatusTag")))
                    timelapse.StatusTag = dr["StatusTag"].ToString();

                if (!dr.IsDBNull(dr.GetOrdinal("Code")))
                    timelapse.Code = dr["Code"].ToString();
                if (!dr.IsDBNull(dr.GetOrdinal("Title")))
                    timelapse.Title = dr["Title"].ToString();
                if (!dr.IsDBNull(dr.GetOrdinal("Status")))
                    timelapse.Status = dr.GetInt32(dr.GetOrdinal("Status"));
                if (!dr.IsDBNull(dr.GetOrdinal("Privacy")))
                    timelapse.Privacy = dr.GetInt32(dr.GetOrdinal("Privacy"));
                if (!dr.IsDBNull(dr.GetOrdinal("FromDT")))
                    timelapse.FromDT = dr.GetDateTime(dr.GetOrdinal("FromDT"));
                if (!dr.IsDBNull(dr.GetOrdinal("ToDT")))
                    timelapse.ToDT = dr.GetDateTime(dr.GetOrdinal("ToDT"));
                if (!dr.IsDBNull(dr.GetOrdinal("SnapsInterval")))
                    timelapse.SnapsInterval = dr.GetInt32(dr.GetOrdinal("SnapsInterval"));
                if (!dr.IsDBNull(dr.GetOrdinal("SnapsCount")))
                    timelapse.SnapsCount = dr.GetInt32(dr.GetOrdinal("SnapsCount"));
                if (!dr.IsDBNull(dr.GetOrdinal("FileSize")))
                    timelapse.FileSize = dr.GetInt64(dr.GetOrdinal("FileSize"));
                if (!dr.IsDBNull(dr.GetOrdinal("Duration")))
                    timelapse.Duration = dr["Duration"].ToString();
                if (!dr.IsDBNull(dr.GetOrdinal("Resolution")))
                    timelapse.Resolution = dr["Resolution"].ToString();
                if (!dr.IsDBNull(dr.GetOrdinal("MaxResolution")))
                    timelapse.MaxResolution = dr.GetBoolean(dr.GetOrdinal("MaxResolution"));
                if (!dr.IsDBNull(dr.GetOrdinal("ServerIP")))
                    timelapse.ServerIP = dr["ServerIP"].ToString();
                if (!dr.IsDBNull(dr.GetOrdinal("TzId")))
                    timelapse.TzId = dr["TzId"].ToString();
                if (!dr.IsDBNull(dr.GetOrdinal("TimeZone")))
                    timelapse.TimeZone = dr["TimeZone"].ToString();
                if (!dr.IsDBNull(dr.GetOrdinal("EnableMD")))
                    timelapse.EnableMD = dr.GetBoolean(dr.GetOrdinal("EnableMD"));
                if (!dr.IsDBNull(dr.GetOrdinal("MDThreshold")))
                    timelapse.MDThreshold = dr.GetInt32(dr.GetOrdinal("MDThreshold"));
                if (!dr.IsDBNull(dr.GetOrdinal("ExcludeDark")))
                    timelapse.ExcludeDark = dr.GetBoolean(dr.GetOrdinal("ExcludeDark"));
                if (!dr.IsDBNull(dr.GetOrdinal("DarkThreshold")))
                    timelapse.DarkThreshold = dr.GetInt32(dr.GetOrdinal("DarkThreshold"));
                if (!dr.IsDBNull(dr.GetOrdinal("DateAlways")))
                    timelapse.DateAlways = dr.GetBoolean(dr.GetOrdinal("DateAlways"));
                if (!dr.IsDBNull(dr.GetOrdinal("TimeAlways")))
                    timelapse.TimeAlways = dr.GetBoolean(dr.GetOrdinal("TimeAlways"));
                if (!dr.IsDBNull(dr.GetOrdinal("FPS")))
                    timelapse.FPS = dr.GetInt32(dr.GetOrdinal("FPS"));
                if (!dr.IsDBNull(dr.GetOrdinal("WatermarkImage")))
                    timelapse.WatermarkImage = dr["WatermarkImage"].ToString();
                if (!dr.IsDBNull(dr.GetOrdinal("WatermarkPosition")))
                    timelapse.WatermarkPosition = int.Parse(dr["WatermarkPosition"].ToString());
                if (!dr.IsDBNull(dr.GetOrdinal("IsRecording")))
                    timelapse.IsRecording = dr.GetBoolean(dr.GetOrdinal("IsRecording"));
                if (!dr.IsDBNull(dr.GetOrdinal("IsDeleted")))
                    timelapse.IsDeleted = dr.GetBoolean(dr.GetOrdinal("IsDeleted"));
                if (!dr.IsDBNull(dr.GetOrdinal("LastSnapDT")))
                    timelapse.LastSnapDT = dr.GetDateTime(dr.GetOrdinal("LastSnapDT"));
                if (!dr.IsDBNull(dr.GetOrdinal("ModifiedDT")))
                    timelapse.ModifiedDT = dr.GetDateTime(dr.GetOrdinal("ModifiedDT"));
                if (!dr.IsDBNull(dr.GetOrdinal("CreatedDT")))
                    timelapse.CreatedDT = dr.GetDateTime(dr.GetOrdinal("CreatedDT"));

                timelapses.Add(timelapse);
            }
            dr.Close();
            dr.Dispose();
            return timelapses;
        }
        static bool TryGetInt(SqlDataReader reader, int column, out int result)
        {
            result = 0;
            if (reader.IsDBNull(column))
            {
                return false;
            }

            long value = reader.GetInt64(column);
            if (value < 0 || value > (long)int.MaxValue)
            {
                return false;
            }

            result = (int)value;
            return true;
        }
 internal static SqlTrackingWorkflowInstance BuildInstance(SqlDataReader reader, string connectionString)
 {
     if (reader == null)
     {
         throw new ArgumentNullException("reader");
     }
     if (reader.IsClosed)
     {
         throw new ArgumentException(ExecutionStringManager.InvalidSqlDataReader, "reader");
     }
     SqlTrackingWorkflowInstance instance = new SqlTrackingWorkflowInstance(connectionString) {
         WorkflowInstanceId = reader.GetGuid(1),
         WorkflowInstanceInternalId = reader.GetInt64(2),
         Initialized = reader.GetDateTime(3)
     };
     if (DBNull.Value == reader[4])
     {
         instance.InvokingWorkflowInstanceId = Guid.Empty;
     }
     else
     {
         instance.InvokingWorkflowInstanceId = reader.GetGuid(4);
     }
     instance.Status = (WorkflowStatus) reader.GetInt32(5);
     if (!reader.IsDBNull(6))
     {
         instance.WorkflowType = Type.GetType(reader.GetString(6) + ", " + reader.GetString(7), true, false);
     }
     return instance;
 }
Beispiel #35
0
        private void ReadRow(SqlDataReader reader, TaskCompletionSource<bool> tcs)
        {
            if (reader.Read())
            {
                var id = reader.GetInt64(0);
                var messages = JsonConvert.DeserializeObject<Message[]>(reader.GetString(1));

                // Update the last payload id
                _lastPayloadId = id;

                _onReceive("0", (ulong)id, messages)
                    .Then((rdr, innerTcs) => ReadRow(rdr, innerTcs), reader, tcs)
                    .Catch();
            }
            else
            {
                tcs.SetResult(true);
            }
        }
Beispiel #36
0
        // Copy multiple fields from reader to ITypedSettersV3
        //  Assumes caller enforces that reader and setter metadata are compatible
        internal static void FillCompatibleITypedSettersFromReader( SmiEventSink_Default sink, ITypedSettersV3 setters, SmiMetaData[] metaData, SqlDataReader reader ) {
            for ( int i = 0; i < metaData.Length; i++ ) {
                if ( reader.IsDBNull(i) ) {
                    ValueUtilsSmi.SetDBNull_Unchecked( sink, setters, i );
                }
                else {
                    switch ( metaData[i].SqlDbType ) {
                        case SqlDbType.BigInt:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Int64 ) );
                            ValueUtilsSmi.SetInt64_Unchecked( sink, setters, i, reader.GetInt64(i) );
                            break;
                        case SqlDbType.Binary:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlBytes ) );
                            ValueUtilsSmi.SetSqlBytes_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0 );
                            break;
                        case SqlDbType.Bit:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Boolean ) );
                            SetBoolean_Unchecked( sink, setters, i, reader.GetBoolean(i) );
                            break;
                        case SqlDbType.Char:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlChars ) );
                            SetSqlChars_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlChars(i), 0 );
                            break;
                        case SqlDbType.DateTime:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.DateTime ) );
                            SetDateTime_Checked( sink, setters, i, metaData[i], reader.GetDateTime(i) );
                            break;
                        case SqlDbType.Decimal:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlDecimal ) );
                            SetSqlDecimal_Unchecked( sink, setters, i, reader.GetSqlDecimal(i) );
                            break;
                        case SqlDbType.Float:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Double ) );
                            SetDouble_Unchecked( sink, setters, i, reader.GetDouble(i) );
                            break;
                        case SqlDbType.Image:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlBytes ) );
                            SetSqlBytes_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0 );
                            break;
                        case SqlDbType.Int:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Int32 ) );
                            SetInt32_Unchecked( sink, setters, i, reader.GetInt32(i) );
                            break;
                        case SqlDbType.Money:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlMoney ) );
                            SetSqlMoney_Unchecked( sink, setters, i, metaData[i], reader.GetSqlMoney(i) );
                            break;
                        case SqlDbType.NChar:
                        case SqlDbType.NText:
                        case SqlDbType.NVarChar:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlChars ) );
                            SetSqlChars_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlChars(i), 0 );
                            break;
                        case SqlDbType.Real:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Single ) );
                            SetSingle_Unchecked( sink, setters, i, reader.GetFloat(i) );
                            break;
                        case SqlDbType.UniqueIdentifier:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Guid ) );
                            SetGuid_Unchecked( sink, setters, i, reader.GetGuid(i) );
                            break;
                        case SqlDbType.SmallDateTime:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.DateTime ) );
                            SetDateTime_Checked( sink, setters, i, metaData[i], reader.GetDateTime(i) );
                            break;
                        case SqlDbType.SmallInt:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Int16 ) );
                            SetInt16_Unchecked( sink, setters, i, reader.GetInt16(i) );
                            break;
                        case SqlDbType.SmallMoney:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlMoney ) );
                            SetSqlMoney_Checked( sink, setters, i, metaData[i], reader.GetSqlMoney(i) );
                            break;
                        case SqlDbType.Text:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlChars ) );
                            SetSqlChars_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlChars(i), 0 );
                            break;
                        case SqlDbType.Timestamp:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlBytes ) );
                            SetSqlBytes_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0 );
                            break;
                        case SqlDbType.TinyInt:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Byte ) );
                            SetByte_Unchecked( sink, setters, i, reader.GetByte(i) );
                            break;
                        case SqlDbType.VarBinary:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlBytes ) );
                            SetSqlBytes_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0 );
                            break;
                        case SqlDbType.VarChar:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.String ) );
                            SetSqlChars_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlChars(i), 0 );
                            break;
                        case SqlDbType.Xml:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlXml ) );
                            SetSqlXml_Unchecked( sink, setters, i, reader.GetSqlXml(i) );
                            break;
                        case SqlDbType.Variant:
                            object o = reader.GetSqlValue(i);
                            ExtendedClrTypeCode typeCode = MetaDataUtilsSmi.DetermineExtendedTypeCode( o );
                            SetCompatibleValue( sink, setters, i, metaData[i], o, typeCode, 0 );
                            break;
                            
                        case SqlDbType.Udt:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlBytes ) );
                            SetSqlBytes_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0 );
                            break;

                        default:
                            // In order for us to get here we would have to have an 
                            // invalid instance of SqlDbType, or one would have to add 
                            // new member to SqlDbType without adding a case in this 
                            // switch, hence the assert - it must be 

                            Debug.Assert( false, "unsupported DbType:" + metaData[i].SqlDbType.ToString() );
                            throw ADP.NotSupported();
                            
                    }
                }
            }
        }
        internal static SqlTrackingWorkflowInstance BuildInstance(SqlDataReader reader, string connectionString)
        {
            if (null == reader)
                throw new ArgumentNullException("reader");
            if (reader.IsClosed)
                throw new ArgumentException(ExecutionStringManager.InvalidSqlDataReader, "reader");

            SqlTrackingWorkflowInstance inst = new SqlTrackingWorkflowInstance(connectionString);
            inst.WorkflowInstanceId = reader.GetGuid(1);
            inst.WorkflowInstanceInternalId = reader.GetInt64(2);
            inst.Initialized = reader.GetDateTime(3);
            if (DBNull.Value == reader[4])
                inst.InvokingWorkflowInstanceId = Guid.Empty;
            else
                inst.InvokingWorkflowInstanceId = reader.GetGuid(4);
            inst.Status = (WorkflowStatus)reader.GetInt32(5);
            //
            // Xaml only workflows do not have types
            if (!reader.IsDBNull(6))
            {
                string fullName = reader.GetString(6), assemblyName = reader.GetString(7);
                inst.WorkflowType = Type.GetType(fullName + ", " + assemblyName, true, false);
            }

            return inst;
        }