コード例 #1
0
        public static void UpdatePackage(Package package)
        {
            PersonDataAccess.UpdatePerson(package.Sender);
            PersonDataAccess.UpdatePerson(package.Recipient);

            using (SqlConnection dbConnection = new SqlConnection(GetConnectionString()))
            {
                string sql = @"UPDATE PackageTable SET SenderUniqueId = @SenderUniqueId, DestinationUniqueId = @DestinationUniqueId, 
                               Weight = @weight, CostPerOunce = @costPerOunce
                               WHERE UniqueId = @UniqueId";

                string packageType = Package.getType(package);

                dbConnection.Open();

                using (SqlCommand command = new SqlCommand(sql, dbConnection))
                {
                    //fill up the parameters with the values from the person properties
                    command.Parameters.Add(new SqlParameter("@SenderUniqueId", package.Sender.UniqueId));
                    command.Parameters.Add(new SqlParameter("@DestinationUniqueId", package.Recipient.UniqueId));
                    command.Parameters.Add(new SqlParameter("@CostPerOunce", package.costPerOunce));
                    command.Parameters.Add(new SqlParameter("@Weight", package.weight));
                    command.Parameters.Add(new SqlParameter("@UniqueId", package.uniqueId));

                    //PersonDataAccess.UpdatePerson(package.Sender);
                    //PersonDataAccess.UpdatePerson(package.Recipient);

                    int rowsEffected = command.ExecuteNonQuery();
                }

                //Close the database
                dbConnection.Close();
            }
        }
コード例 #2
0
        public static void DeletePackage(Package package)
        {
            using (SqlConnection dbConnection = new SqlConnection(GetConnectionString()))
            {
                string sql = @"DELETE FROM PackageTable
                               WHERE UniqueId = @UniqueId";

                dbConnection.Open();

                using (SqlCommand command = new SqlCommand(sql, dbConnection))
                {
                    //string senderId = null;
                    //string recipientId = null;

                    command.Parameters.Add(new SqlParameter("@UniqueId", package.uniqueId));
                    //command.Parameters.Add(new SqlParameter("@SenderUniqueId", senderId));
                    //command.Parameters.Add(new SqlParameter("@DestinationUniqueId", recipientId));

                    PersonDataAccess.DeletePerson(package.Sender.UniqueId);
                    PersonDataAccess.DeletePerson(package.Recipient.UniqueId);

                    int rowsEffected = command.ExecuteNonQuery();
                }

                dbConnection.Close();
            }
        }
コード例 #3
0
        public static void InsertPackage(Package package)
        {
            PersonDataAccess.InsertPerson(package.Sender);
            PersonDataAccess.InsertPerson(package.Recipient);

            using (SqlConnection dbConnection = new SqlConnection(GetConnectionString()))
            {
                string sql = @"INSERT INTO PackageTable(UniqueId, SenderUniqueId, DestinationUniqueId, Weight, CostPerOunce, PackageType)
                               VALUES(@UniqueId, @SenderUniqueId, @DestinationUniqueId, @Weight, @CostPerOunce, @PackageType)";

                string packageType = Package.getType(package);

                //Open the database
                dbConnection.Open();

                //Get a Sql Command object to hold the SQL query we want to run
                using (SqlCommand command = new SqlCommand(sql, dbConnection))
                {
                    //fill up the parameters with the values from the person properties
                    command.Parameters.Add(new SqlParameter("@UniqueId", package.uniqueId));
                    command.Parameters.Add(new SqlParameter("@SenderUniqueId", package.Sender.UniqueId));
                    command.Parameters.Add(new SqlParameter("@DestinationUniqueId", package.Recipient.UniqueId));
                    command.Parameters.Add(new SqlParameter("@Weight", package.weight));
                    command.Parameters.Add(new SqlParameter("@CostPerOunce", package.costPerOunce));
                    command.Parameters.Add(new SqlParameter("@PackageType", packageType));

                    int rowsEffected = command.ExecuteNonQuery();
                }
            }
        }
コード例 #4
0
        private static void MapPackage(Package package, SqlDataReader reader)
        {
            //convert and map from sql server types and names to C# types and names
            package.uniqueId = reader.GetGuid(reader.GetOrdinal("UniqueId")).ToString();

            string senderId = reader.GetGuid(reader.GetOrdinal("SenderUniqueId")).ToString();

            package.Sender = PersonDataAccess.GetPerson(senderId);

            string recipientId = reader.GetGuid(reader.GetOrdinal("DestinationUniqueId")).ToString();

            package.Recipient = PersonDataAccess.GetPerson(recipientId);

            package.weight       = reader.GetDecimal(reader.GetOrdinal("Weight"));
            package.costPerOunce = reader.GetDecimal(reader.GetOrdinal("CostPerOunce"));

            //package.Sender = PersonDataAccess.GetPerson(package.Sender.UniqueId);
            //package.Recipient = PersonDataAccess.GetPerson(package.Recipient.UniqueId);
        }