Example #1
0
            IEnumerator <SqlDataRecord> IEnumerable <SqlDataRecord> .GetEnumerator()
            {
                var sqlDataRecord = new SqlDataRecord(new SqlMetaData("CodCeCo", SqlDbType.Text),
                                                      new SqlMetaData("CodProyecto", SqlDbType.Text), new SqlMetaData("NomProyecto", SqlDbType.Text), new SqlMetaData("TipoCapex", SqlDbType.Text), new SqlMetaData("TipoActivo", SqlDbType.Text),
                                                      new SqlMetaData("NroOI", SqlDbType.Text), new SqlMetaData("DescOI", SqlDbType.Text), new SqlMetaData("MontoBase", SqlDbType.Text),
                                                      new SqlMetaData("CodSociedad", SqlDbType.Text), new SqlMetaData("DescSociedad", SqlDbType.Text), new SqlMetaData("CodSector", SqlDbType.Text),
                                                      new SqlMetaData("DescSector", SqlDbType.Text), new SqlMetaData("CodMacroservicio", SqlDbType.Text),
                                                      new SqlMetaData("DescMacroservicio", SqlDbType.Text), new SqlMetaData("IdEsquema", SqlDbType.UniqueIdentifier),
                                                      new SqlMetaData("IdCreator", SqlDbType.UniqueIdentifier), new SqlMetaData("EstadoFlujo", SqlDbType.Text),
                                                      new SqlMetaData("IdCanal", SqlDbType.UniqueIdentifier));

                foreach (ListaPlanBaseTemp ListaMaestroTempitem in this)
                {
                    sqlDataRecord.SetString(0, ListaMaestroTempitem.CodCeCo);
                    sqlDataRecord.SetString(1, ListaMaestroTempitem.CodProyecto);
                    sqlDataRecord.SetString(2, ListaMaestroTempitem.NomProyecto);
                    sqlDataRecord.SetString(3, ListaMaestroTempitem.TipoCapex);
                    sqlDataRecord.SetString(4, ListaMaestroTempitem.TipoActivo);
                    sqlDataRecord.SetString(5, ListaMaestroTempitem.NroOI);
                    sqlDataRecord.SetString(6, ListaMaestroTempitem.DescOI);
                    sqlDataRecord.SetString(7, ListaMaestroTempitem.MontoBase);
                    sqlDataRecord.SetString(8, ListaMaestroTempitem.CodSociedad);
                    sqlDataRecord.SetString(9, ListaMaestroTempitem.DescSociedad);
                    sqlDataRecord.SetString(10, ListaMaestroTempitem.CodSector);
                    sqlDataRecord.SetString(11, ListaMaestroTempitem.DescSector);
                    sqlDataRecord.SetString(12, ListaMaestroTempitem.CodMacroservicio);
                    sqlDataRecord.SetString(13, ListaMaestroTempitem.DescMacroservicio);
                    sqlDataRecord.SetGuid(14, ListaMaestroTempitem.IdEsquema);
                    sqlDataRecord.SetGuid(15, ListaMaestroTempitem.IdCreator);
                    sqlDataRecord.SetString(16, ListaMaestroTempitem.EstadoFlujo);
                    sqlDataRecord.SetGuid(17, ListaMaestroTempitem.IdCanal);
                    yield return(sqlDataRecord);
                }
            }
Example #2
0
            IEnumerator <SqlDataRecord> IEnumerable <SqlDataRecord> .GetEnumerator()
            {
                var sqlDataRecord = new SqlDataRecord(new SqlMetaData("NroAPI", SqlDbType.Text),
                                                      new SqlMetaData("TipoActivo", SqlDbType.Text), new SqlMetaData("NroOI", SqlDbType.Text),
                                                      new SqlMetaData("DescripcionOI", SqlDbType.Text), new SqlMetaData("Monto", SqlDbType.Text),
                                                      new SqlMetaData("CodProyecto", SqlDbType.Text), new SqlMetaData("IdSolicitudInversion", SqlDbType.Text),
                                                      new SqlMetaData("IdEsquema", SqlDbType.UniqueIdentifier), new SqlMetaData("IdCreator", SqlDbType.UniqueIdentifier),
                                                      new SqlMetaData("EstadoFlujo", SqlDbType.Text), new SqlMetaData("IdCanal", SqlDbType.UniqueIdentifier));

                foreach (ListaOrdenInversion ListaMaestroTempitem in this)
                {
                    sqlDataRecord.SetString(0, ListaMaestroTempitem.NroAPI);
                    sqlDataRecord.SetString(1, ListaMaestroTempitem.TipoActivo);
                    sqlDataRecord.SetString(2, ListaMaestroTempitem.NroOI);
                    sqlDataRecord.SetString(3, ListaMaestroTempitem.DescripcionOI);
                    sqlDataRecord.SetString(4, ListaMaestroTempitem.Monto);
                    sqlDataRecord.SetString(5, ListaMaestroTempitem.CodProyecto);
                    sqlDataRecord.SetString(6, ListaMaestroTempitem.IdSolicitudInversion);
                    sqlDataRecord.SetGuid(7, ListaMaestroTempitem.IdEsquema);
                    sqlDataRecord.SetGuid(8, ListaMaestroTempitem.IdCreator);
                    sqlDataRecord.SetString(9, ListaMaestroTempitem.EstadoFlujo);
                    sqlDataRecord.SetGuid(10, ListaMaestroTempitem.IdCanal);

                    yield return(sqlDataRecord);
                }
            }
        public static void PushLeaseBlobResponse(Responses.LeaseBlobResponse lbr)
        {
            SqlDataRecord record = new SqlDataRecord(new SqlMetaData[] {
                new SqlMetaData("LeaseId", System.Data.SqlDbType.UniqueIdentifier),
                new SqlMetaData("Date", System.Data.SqlDbType.DateTime),
                new SqlMetaData("LeaseBreakTimeSeconds", System.Data.SqlDbType.Int),
                new SqlMetaData("RequestId", System.Data.SqlDbType.UniqueIdentifier),
                new SqlMetaData("Version", System.Data.SqlDbType.NVarChar, 4000)
            });

            if (lbr.LeaseId.HasValue)
            {
                record.SetGuid(0, lbr.LeaseId.Value);
            }
            record.SetDateTime(1, lbr.Date);

            if (lbr.LeaseTimeSeconds.HasValue)
            {
                record.SetInt32(2, lbr.LeaseTimeSeconds.Value);
            }
            record.SetGuid(3, lbr.RequestID);
            record.SetString(4, lbr.Version);

            SqlContext.Pipe.SendResultsStart(record);
            SqlContext.Pipe.SendResultsRow(record);
            SqlContext.Pipe.SendResultsEnd();
        }
        public void AddParameters(IDbCommand command, SqlMapper.Identity identity)
        {
            var sqlCommand = (SqlCommand)command;

            sqlCommand.CommandType = CommandType.StoredProcedure;
            var items = new List <SqlDataRecord>();

            foreach (var param in _transfers)
            {
                var rec = new SqlDataRecord(_transferIdMetaData, _senderAccountIdMetaData, _receiverAccountIdMetaData, _requiredPaymentId, _commitmentId, _amount, _type, _collectionPeriodName);
                rec.SetInt64(0, param.TransferId);
                rec.SetInt64(1, param.SenderAccountId);
                rec.SetInt64(2, param.ReceiverAccountId);
                rec.SetGuid(3, param.RequiredPaymentId);
                rec.SetInt64(4, param.CommitmentId);
                rec.SetDecimal(5, param.Amount);
                rec.SetString(6, param.Type.ToString());
                rec.SetString(7, param.CollectionPeriodName);

                items.Add(rec);
            }

            var p = sqlCommand.Parameters.Add("@transfers", SqlDbType.Structured);

            p.Direction = ParameterDirection.Input;
            p.TypeName  = "[Data_Load].[TransferEntity]";
            p.Value     = items;
        }
Example #5
0
        private static IEnumerable <SqlDataRecord> BindDishRows(IEnumerable <DishEntity> dishesToUpdate)
        {
            foreach (var dish in dishesToUpdate)
            {
                SqlDataRecord record = new SqlDataRecord(typ_DishTable);

                record.SetInt64(0, dish.DishId);
                record.SetInt64(1, dish.ProviderId);
                record.SetInt32(2, (int)dish.DishType);
                record.SetString(3, dish.DishName);
                record.SetString(4, dish.Description);
                record.SetString(5, dish.Ingredients);
                record.SetDecimal(6, dish.Price);
                record.SetInt32(7, dish.WaitingTimeInMins);
                if (!dish.ThumbNailPictureKey.HasValue)
                {
                    record.SetDBNull(8);
                }
                else
                {
                    record.SetGuid(8, dish.ThumbNailPictureKey.Value);
                }
                record.SetBoolean(9, dish.Available);

                yield return(record);
            }
        }
Example #6
0
        /// <summary>
        /// Add all the parameters needed to the command just before it executes.
        /// </summary>
        /// <param name="command">The raw command prior to execution.</param>
        /// <param name="identity">Information about the query.</param>
        public void AddParameters(IDbCommand command, Dapper.SqlMapper.Identity identity)
        {
            var sqlCommand = (SqlCommand)command;

            sqlCommand.CommandType = CommandType.StoredProcedure;

            var armIdList = new List <SqlDataRecord>();

            var tvp_definition = new SqlMetaData[]
            {
                new SqlMetaData("ArmId", SqlDbType.UniqueIdentifier)
            };

            foreach (Guid elem in _armIds)
            {
                var record = new SqlDataRecord(tvp_definition);
                record.SetGuid(0, elem);
                armIdList.Add(record);
            }

            var p = sqlCommand.Parameters.Add("@ArmIdList", SqlDbType.Structured);

            p.Direction = ParameterDirection.Input;
            p.TypeName  = "ArmIdList";
            p.Value     = armIdList.Any() ? armIdList : null;
        }
Example #7
0
        private static SqlDataRecord CreateGuidIdRecord(Guid id)
        {
            var record = new SqlDataRecord(new SqlMetaData("Id", SqlDbType.UniqueIdentifier));

            record.SetGuid(0, id);

            return(record);
        }
Example #8
0
        private SqlDataRecord[] CreateSqlDataRecords(IList <EventDescriptor> events)
        {
            var sqlDataRecords = events.Select(ev =>
            {
                var record = new SqlDataRecord(_appendEventsMetadata);
                record.SetGuid(1, ev.EventId);
                record.SetString(2, ev.EventData);
                record.SetString(3, ev.EventType);
                if (ev.CorrelationId.HasValue)
                {
                    record.SetGuid(4, ev.CorrelationId.Value);
                }

                return(record);
            }).ToArray();

            return(sqlDataRecords);
        }
Example #9
0
        IEnumerator <SqlDataRecord> IEnumerable <SqlDataRecord> .GetEnumerator()
        {
            var sqlRow = new SqlDataRecord(
                new SqlMetaData("ProductGuid", SqlDbType.UniqueIdentifier),
                new SqlMetaData("InstanceGuid", SqlDbType.UniqueIdentifier),
                new SqlMetaData("FileName", SqlDbType.NVarChar, 128),
                new SqlMetaData("FileProductName", SqlDbType.NVarChar, 256)
                );

            foreach (SearchParameter cust in this)
            {
                sqlRow.SetGuid(0, cust.ProductGuid);
                sqlRow.SetGuid(1, cust.InstanceGuid);
                sqlRow.SetString(2, cust.FileName ?? "");
                sqlRow.SetString(3, cust.FileProductName ?? "");
                yield return(sqlRow);
            }
        }
        /// <summary>
        /// Sets the unique identifier.
        /// </summary>
        /// <param name="record">The record.</param>
        /// <param name="fieldName">Name of the field.</param>
        /// <param name="value">The value.</param>
        public static void SetGuid(this SqlDataRecord record, string fieldName, Guid?value)
        {
            int ordinal = GetOrdinal(record, fieldName);

            if (value.HasValue)
            {
                record.SetGuid(ordinal, value.Value);
            }
        }
Example #11
0
        internal static SqlDataRecord MapToTvp(this LogAdditionalDataKVP addlData)
        {
            var record = new SqlDataRecord(Constants.AddlDataMetaData);

            record.SetGuid(0, addlData.LogUUID);
            record.SetString(1, addlData.Key);
            record.SetString(2, addlData.Value);

            return(record);
        }
Example #12
0
 internal override void SetDataRecordValue(SqlDataRecord record, int ordinal)
 {
     if (InputValue == null)
     {
         record.SetDBNull(ordinal);
     }
     else
     {
         record.SetGuid(ordinal, InputValue.Value);
     }
 }
Example #13
0
        internal static SqlDataRecord MapToTvp(this LogCallingMethodParameter message)
        {
            var recrod = new SqlDataRecord(Constants.CallingMethodIOData);

            recrod.SetGuid(0, message.OwnerLog.LogUUID);
            recrod.SetBoolean(1, message.IsInput);
            recrod.SetString(2, message.ParameterName);
            recrod.SetString(3, message.Value);

            return(recrod);
        }
        IEnumerator <SqlDataRecord> IEnumerable <SqlDataRecord> .GetEnumerator()
        {
            var row = new SqlDataRecord(new SqlMetaData("value", SqlDbType.UniqueIdentifier), new SqlMetaData("order_id", SqlDbType.Int));

            int ordinal = 0;

            foreach (string val in this)
            {
                row.SetGuid(0, new Guid(val));
                row.SetInt32(1, ordinal++);
                yield return(row);
            }
        }
        public void Map_Object_Successful()
        {
            var id   = Guid.NewGuid();
            var name = "Frank";

            SqlDataRecord.SetGuid(0, id);
            SqlDataRecord.SetString(1, name);

            var cat = SqlDataRecord.Map <Cat>();

            cat.Id.Should().Be(id);
            cat.Name.Should().Be(name);
        }
Example #16
0
            IEnumerator <SqlDataRecord> IEnumerable <SqlDataRecord> .GetEnumerator()
            {
                var sqlDataRecord = new SqlDataRecord(new SqlMetaData("CodCeCo", SqlDbType.Text),
                                                      new SqlMetaData("DescCeCo", SqlDbType.Text), new SqlMetaData("IdCeCo", SqlDbType.Text),
                                                      new SqlMetaData("Coordinador", SqlDbType.Text), new SqlMetaData("Nombre", SqlDbType.Text),
                                                      new SqlMetaData("IdEsquema", SqlDbType.UniqueIdentifier), new SqlMetaData("IdCreator", SqlDbType.UniqueIdentifier),
                                                      new SqlMetaData("EstadoFlujo", SqlDbType.Text), new SqlMetaData("IdCanal", SqlDbType.UniqueIdentifier));

                foreach (ListaCoordinadorTemp ListaMaestroTempitem in this)
                {
                    sqlDataRecord.SetString(0, ListaMaestroTempitem.CodCeCo);
                    sqlDataRecord.SetString(1, ListaMaestroTempitem.DescCeCo);
                    sqlDataRecord.SetString(2, ListaMaestroTempitem.IdCeCo);
                    sqlDataRecord.SetString(3, ListaMaestroTempitem.Coordinador);
                    sqlDataRecord.SetString(4, ListaMaestroTempitem.Nombre);
                    sqlDataRecord.SetGuid(5, ListaMaestroTempitem.IdEsquema);
                    sqlDataRecord.SetGuid(6, ListaMaestroTempitem.IdCreator);
                    sqlDataRecord.SetString(7, ListaMaestroTempitem.EstadoFlujo);
                    sqlDataRecord.SetGuid(8, ListaMaestroTempitem.IdCanal);

                    yield return(sqlDataRecord);
                }
            }
        private SqlDataRecord[] CreateSqlDataRecords(NewStreamEvent[] events)
        {
            var sqlDataRecords = events.Select(@event =>
            {
                var record = new SqlDataRecord(_appendToStreamSqlMetadata);
                record.SetGuid(1, @event.EventId);
                record.SetString(3, @event.Type);
                record.SetString(4, @event.JsonData);
                record.SetString(5, @event.JsonMetadata);
                return(record);
            }).ToArray();

            return(sqlDataRecords);
        }
Example #18
0
        private static SqlDataRecord CreateGuidRecord(Guid?value)
        {
            var record = new SqlDataRecord(new SqlMetaData("Value", SqlDbType.UniqueIdentifier));

            if (value.HasValue)
            {
                record.SetGuid(0, value.Value);
            }
            else
            {
                record.SetDBNull(0);
            }

            return(record);
        }
Example #19
0
        public static IEnumerable <SqlDataRecord> CreateSqlDataRecords(IEnumerable <Guid> ids)
        {
            var metaData = new SqlMetaData[1];

            metaData[0] = new SqlMetaData("Id", SqlDbType.UniqueIdentifier);

            var record = new SqlDataRecord(metaData);

            foreach (var id in ids)
            {
                record.SetGuid(0, id);

                yield return(record);
            }
        }
Example #20
0
        private SqlDataRecord[] CreateSqlDataRecords(NewStreamMessage[] messages)
        {
            var dateTime       = GetUtcNow();
            var sqlDataRecords = messages.Select(message =>
            {
                var record = new SqlDataRecord(_appendToStreamSqlMetadata);
                record.SetGuid(1, message.MessageId);
                record.SetDateTime(2, dateTime);
                record.SetString(3, message.Type);
                record.SetString(4, message.JsonData);
                record.SetString(5, message.JsonMetadata);
                return(record);
            }).ToArray();

            return(sqlDataRecords);
        }
Example #21
0
        internal static SqlDataRecord MapToTvp(this LogMessage message)
        {
            var record = new SqlDataRecord(Constants.MessageMetadata);

            record.SetGuid(0, message.OwnerLog.LogUUID);
            record.SetString(1, message.LogMessageText.LogMessageHash);
            record.SetInt32(2, message.Depth);

            if (message.LogStackTrace == null)
            {
                record.SetDBNull(3);
            }
            else
            {
                record.SetString(3, message.LogStackTrace.StackHash);
            }

            return(record);
        }
        /// <summary>
        /// Create a [Brimborium].[TVP_Uid] parameter from a list
        /// </summary>
        /// <param name="name">the name of the parameter.</param>
        /// <param name="e">the list</param>
        /// <returns>the parameter</returns>
        public static SqlParameter CreateTVP_UidParameter(string name, IEnumerable <Guid> e)
        {
            var lst      = new List <SqlDataRecord>();
            var sdrValue = new SqlMetaData("Item", SqlDbType.UniqueIdentifier);

            foreach (var item in e)
            {
                var sdr = new SqlDataRecord(sdrValue);
                sdr.SetGuid(0, item);
                lst.Add(sdr);
            }
            var parameter = new SqlParameter(name, SqlDbType.Structured)
            {
                Direction = ParameterDirection.Input,
                TypeName  = "[Brimborium].[TVP_Uid]",
                Value     = ((lst.Count == 0) ? null : lst)
            };

            return(parameter);
        }
Example #23
0
            public void AddParameter(IDbCommand command, string name)
            {
                var sqlCommand = (SqlCommand)command;

                var number_list = new List <SqlDataRecord>();

                var tvp_definition = new[] { new SqlMetaData("Value", SqlDbType.UniqueIdentifier) };

                foreach (Guid n in _ids)
                {
                    var rec = new SqlDataRecord(tvp_definition);
                    rec.SetGuid(0, n);
                    number_list.Add(rec);
                }

                var p = sqlCommand.Parameters.Add(name, SqlDbType.Structured);

                p.Direction = ParameterDirection.Input;
                p.TypeName  = "[work].IdList";
                p.Value     = number_list;
            }
        /// <summary>
        /// Retrieves master page zone element type records.
        /// </summary>
        /// <returns>Enumerable SQL data records.</returns>
        IEnumerator <SqlDataRecord> IEnumerable <SqlDataRecord> .GetEnumerator()
        {
            var sdr = new SqlDataRecord(
                new SqlMetaData("MasterPageZoneId", SqlDbType.BigInt),
                new SqlMetaData("MasterPageZoneSortOrder", SqlDbType.Int),
                new SqlMetaData("ElementTypeId", SqlDbType.UniqueIdentifier)
                );

            foreach (MasterPageZoneElementType masterPageZoneElementType in this)
            {
                if (masterPageZoneElementType.MasterPageZoneId != 0)
                {
                    sdr.SetInt64(0, masterPageZoneElementType.MasterPageZoneId);
                }
                else
                {
                    sdr.SetDBNull(0);
                }
                sdr.SetInt32(1, masterPageZoneElementType.MasterPageZoneSortOrder);
                sdr.SetGuid(2, masterPageZoneElementType.ElementTypeId);
                yield return(sdr);
            }
        }
        void SetValue(SqlDataRecord record, int position, Type type, object value)
        {
            switch (type.Name)
            {
            case "Int16":
                record.SetInt16(position, (short)value);
                break;

            case "Int32":
                record.SetInt32(position, (int)value);
                break;

            case "Int64":
                record.SetInt64(position, (long)value);
                break;

            case "Boolean":
                record.SetBoolean(position, (bool)value);
                break;

            case "Byte":
                record.SetByte(position, (byte)value);
                break;

            case "Bytes[]":
                record.SetBytes(position, 0, (byte[])value, 0, ((byte[])value).Length);
                break;

            case "Char":
                record.SetChar(position, (char)value);
                break;

            case "Char[]":
                record.SetChars(position, 0, (char[])value, 0, ((char[])value).Length);
                break;

            case "DateTime":
                record.SetDateTime(position, (DateTime)value);
                break;

            case "Decimal":
                record.SetDecimal(position, (decimal)value);
                break;

            case "Double":
                record.SetDouble(position, (double)value);
                break;

            case "Guid":
                record.SetGuid(position, (Guid)value);
                break;

            case "String":
                record.SetSqlString(position, (string)value);
                break;

            default:
                record.SetValue(position, value);
                break;
            }
        }
Example #26
0
        public static void GetTable(string connectionString, string tableName)
        {
            var metaCount  = 0;
            var fieldNames = new List <string>();

            //--use: "Provider=Microsoft.SQLSERVER.MOBILE.OLEDB.3.0;OLE DB Services=-4;" for SQL Compact 3.1
            //--use: "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;OLE DB Services=-4;" for SQL Compact 3.5 SP2
            //--use: "Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;OLE DB Services=-4;" for SQL Compact 4.0
            using (var conn = new OleDbConnection(connectionString))
            {
                conn.Open();

                // determine the number of SqlMetadata parameters needed
                using (var cmd = new OleDbCommand())
                {
                    cmd.CommandText = "SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @p1 ORDER BY ORDINAL_POSITION";
                    cmd.Parameters.Add(new OleDbParameter("@p1", OleDbType.VarWChar, 128));
                    cmd.Parameters[0].Value = tableName;
                    cmd.Connection          = conn;
                    using (var rdr = cmd.ExecuteReader())
                    {
                        while (rdr != null && rdr.Read())
                        {
                            //if (SqlContext.Pipe != null) SqlContext.Pipe.Send(rdr[1].ToString());
                            if (rdr[1].ToString() == "ntext" || rdr[1].ToString() == "image")
                            {
                                continue;
                            }
                            metaCount++;
                            fieldNames.Add("[" + rdr[0] + "]");
                        }
                    }
                }
                if (metaCount == 0)
                {
                    if (SqlContext.Pipe != null)
                    {
                        SqlContext.Pipe.Send("No data found, or table does not exist");
                    }
                    return;
                }

                //Get the meta data for the fields
                var metadata = GetMetaData(metaCount, tableName, conn);
                var record   = new SqlDataRecord(metadata);
                var fields   = new System.Text.StringBuilder();
                foreach (var field in fieldNames)
                {
                    fields.Append(field);
                    fields.Append(", ");
                }
                fields.Remove(fields.Length - 2, 2);

                using (var cmd = new OleDbCommand("SELECT " + fields + " FROM [" + tableName + "]", conn))
                {
                    using (var rdr = cmd.ExecuteReader())
                    {
                        if (SqlContext.Pipe != null)
                        {
                            //SqlContext.Pipe.Send(cmd.CommandText);
                            SqlContext.Pipe.SendResultsStart(record);
                            while (rdr != null && rdr.Read())
                            {
                                for (var i = 0; i < rdr.FieldCount; i++)
                                {
                                    if (rdr.IsDBNull(i))
                                    {
                                        record.SetDBNull(i);
                                    }
                                    else
                                    {
                                        if (metadata[i].SqlDbType == SqlDbType.Bit)
                                        {
                                            record.SetBoolean(i, rdr.GetBoolean(i));
                                        }
                                        if (metadata[i].SqlDbType == SqlDbType.TinyInt)
                                        {
                                            record.SetByte(i, rdr.GetByte(i));
                                        }
                                        if (metadata[i].SqlDbType == SqlDbType.SmallInt)
                                        {
                                            record.SetInt16(i, rdr.GetInt16(i));
                                        }
                                        if (metadata[i].SqlDbType == SqlDbType.Int)
                                        {
                                            record.SetInt32(i, rdr.GetInt32(i));
                                        }
                                        if (metadata[i].SqlDbType == SqlDbType.BigInt)
                                        {
                                            record.SetInt64(i, rdr.GetInt64(i));
                                        }
                                        if (metadata[i].SqlDbType == SqlDbType.NVarChar || metadata[i].SqlDbType == SqlDbType.NChar)
                                        {
                                            record.SetString(i, rdr.GetString(i));
                                        }
                                        if (metadata[i].SqlDbType == SqlDbType.UniqueIdentifier)
                                        {
                                            record.SetGuid(i, rdr.GetGuid(i));
                                        }
                                        if (metadata[i].SqlDbType == SqlDbType.Timestamp || metadata[i].SqlDbType == SqlDbType.Binary || metadata[i].SqlDbType == SqlDbType.VarBinary)
                                        {
                                            var tsbuffer = (byte[])rdr[i];
                                            record.SetBytes(i, 0, tsbuffer, 0, tsbuffer.Length);
                                        }
                                        if (metadata[i].SqlDbType == SqlDbType.DateTime)
                                        {
                                            record.SetDateTime(i, rdr.GetDateTime(i));
                                        }
                                        if (metadata[i].SqlDbType == SqlDbType.Money || metadata[i].SqlDbType == SqlDbType.Decimal)
                                        {
                                            record.SetDecimal(i, rdr.GetDecimal(i));
                                        }
                                        if (metadata[i].SqlDbType == SqlDbType.Float)
                                        {
                                            record.SetDouble(i, rdr.GetDouble(i));
                                        }
                                        if (metadata[i].SqlDbType == SqlDbType.Real)
                                        {
                                            record.SetSqlSingle(i, Convert.ToSingle(rdr.GetValue(i)));
                                        }
                                    }
                                }
                                //Send the completed record..
                                SqlContext.Pipe.SendResultsRow(record);
                            }
                            if (rdr != null)
                            {
                                rdr.Close();
                            }
                            SqlContext.Pipe.SendResultsEnd();
                        }
                    }
                }
                conn.Close();
            }
        }
Example #27
0
        public static SqlDataRecord Convert(RegisterWxUserContext model)
        {
            if (model == null)
            {
                return(null);
            }
            var record = new SqlDataRecord(DAOConstants.RegisterWeChatUserStructure);

            for (var i = 0; i < DAOConstants.RegisterWeChatUserStructure.Length; i++)
            {
                switch (DAOConstants.RegisterWeChatUserStructure[i].Name)
                {
                case "UnionId":
                    record.SetString(i, model.Info.UnionId);
                    break;

                case "AppId":
                    record.SetString(i, model.WxApp.AppId);
                    break;

                case "OpenId":
                    record.SetString(i, model.Info.OpenId);
                    break;

                case "RegistrySource":
                    record.SetInt32(i, (int)model.WxApp.AppType);
                    break;

                case "NickName":
                    if (string.IsNullOrEmpty(model.Info.NickName))
                    {
                        record.SetDBNull(i);
                    }
                    else
                    {
                        record.SetString(i, model.Info.NickName);
                    }
                    break;

                case "Country":
                    if (string.IsNullOrEmpty(model.Info.Country))
                    {
                        record.SetDBNull(i);
                    }
                    else
                    {
                        record.SetString(i, model.Info.Country);
                    }
                    break;

                case "Province":
                    if (string.IsNullOrEmpty(model.Info.Province))
                    {
                        record.SetDBNull(i);
                    }
                    else
                    {
                        record.SetString(i, model.Info.Province);
                    }
                    break;

                case "City":
                    if (string.IsNullOrEmpty(model.Info.City))
                    {
                        record.SetDBNull(i);
                    }
                    else
                    {
                        record.SetString(i, model.Info.City);
                    }
                    break;

                case "AvatarUrl":
                    if (string.IsNullOrEmpty(model.Info.AvatarUrl))
                    {
                        record.SetDBNull(i);
                    }
                    else
                    {
                        record.SetString(i, model.Info.AvatarUrl);
                    }
                    break;

                case "LastUpdatedBy":
                    if (string.IsNullOrEmpty(model.LastUpdateBy))
                    {
                        record.SetDBNull(i);
                    }
                    else
                    {
                        record.SetString(i, model.LastUpdateBy);
                    }
                    break;

                case "ScenarioId":
                    if (model.ScenarioId == null)
                    {
                        record.SetDBNull(i);
                    }
                    else
                    {
                        record.SetGuid(i, model.ScenarioId.Value);
                    }
                    break;

                case "SharedBy":
                    if (string.IsNullOrEmpty(model.SharedBy))
                    {
                        record.SetDBNull(i);
                    }
                    else
                    {
                        record.SetString(i, model.SharedBy);
                    }
                    break;
                }
            }
            return(record);
        }