Cool Code - Assembly.FindType

June 4th, 2008

Here's an extension to Assembly that I found useful for finding a type. I recommend doing
typeof(TypeInAssembly).Assembly.FindType("typename");

    public static class AssemblyExtensions

    {

        public static Type FindType(this Assembly assembly, string typename)

        {

            return assembly.FindTypes(typename).FirstOrDefault();

        }

 

        public static Type[] FindTypes(this Assembly assembly, string typename)

        {

            Type[] types = assembly.GetExportedTypes();

            List<Type> found = new List<Type>();

            foreach(Type type in types)

            {

                if(type.Name == typename)

                {

                    found.Add(type);

                }

            }

            return found.ToArray();

        }

    }

Liked this post? Subscribe to my feed.

I may need a new ringtone

May 20th, 2008

A GUI Interface in VB to Track an IP Address?

Liked this post? Subscribe to my feed.

Internal SQL Server Error

April 24th, 2008

internalservererror.png

Thanks for the ohhh so useful error message SQL server team.

Ass.

Liked this post? Subscribe to my feed.

Contributing to NHibernate

April 22nd, 2008

Having successfully submitted a few patches to NHibernate [NH-1280][NH-1260][NH-1259], Ayende Rahien asked me to comment on the difficulty of adding a totally new feature, and provide some hints for others. I am by no means an expert on NHibernate, just a regular user so here goes...

My most recent change set was updating the Criteria Query API to allow for queries involving HAVING clauses. In performing this change I also discovered a bug whereby complicated queries would get parameters out of order. In this post I will cover:

  • The feature added (need and implementation)
  • Determining problem need
  • Hints for getting your patch accepted

The Feature

The Criteria Query API provides some valuable tools for creating dynamic queries without doing crazy string manipulation (yuck). I had a situation where I wanted to validate entities to check for duplicates prior to the transaction being committed. Because of the temporal nature of the project I'm working on, I can't do it with a table constraint or other simple means and need to check valid dates.

To solve it with HQL would involved about 10 lines of messy reflection and string concats where solving it with the criteria API took about 4. Here's the code:

ICriteria criteria = session.CreateCriteria(typeof(Person));
criteria.SetProjection(Projections.ProjectionList()
  .Add(Projections.Max("Id"))
  .Add(Projections.GroupProperty("Name")))
  .ProjectionCriteria.Add(Restrictions.Gt(Projections.Count("Name"), 1));

The resulting SQL for this code should be:

"SELECT MAX(Id), Name FROM Person GROUP BY Name HAVING COUNT(Name) > 1"

Imagine my surprise when this relatively simple Criteria Query failed while the same HQL query succeeded. After examining the SQL it produced I determined that there was no HAVING clause being produced.

Fearing that I was doing something wrong I opened up the source code for NHibernate and performed a textual search for "having" as I knew that at some point it must be produced by the SQL generator. I was unable to locate anything in the Criteria API that was even remotely related to HAVING queries.

Having exhausted that possibility I posted to the google nhusers group to make sure that I wasn't missing something. After some discussion it was obvious that this was indeed a lacking feature and that it would be appreciated by the community.

Quick Review

  1. Confirm that the problem is with the codebase not with your use of it.
    1. Review the code to determine if it is possible to produce the desired result.
    2. Post to the nhusers group to make sure you're using the API correctly.
  2. Confirm the problem isn't solved in the JAVA version. (If it is, import that fix.)
  3. Migrate the discussion to the NHibernate developer list for help.

After determining that it was indeed a problem with the codebase I launched into patching it. I wrote test cases to be able to debug into the code in the Criteria interface. I recommend adding the folder for your tests as:
\src\NHibernate.Test\NHSpecificTest\NH1999
Then migrating it to the specific issue number after you've made progress enough to report the issue. This prevents nasty collision problems if someone else takes the next number.
\src\NHibernate.Test\NHSpecificTest\NH1280
I've also recently taken to adding a description after the folder such as "NH1291AnonExample" in my latest patch. This makes it easier to determine which set of tests has failed for other developers.

The patch itself is rather complicated and out of the scope of this post as it contained changes to almost 50 files. In writing the patch I tried a couple of different methods for adding my features and even had to revert a couple of files from the source. I worked from the output to the input, backing out from the SQL generator to the individual Criteria and Criterion classes.

As I wrote the patch I made sure that I didn't negatively impact other use cases. If your patch breaks other tests it won't be accepted even if it implements "teh best featre evar"! For added tests I merged my changes into both my active work project and the Linq to NHibernate project. Doing so revealed cases that I hadn't considered in my initial tests and allowed me to add in those tests and deliver a more solid patch.

Quick Review

  1. Write a small set of failing tests first. Step-Into these tests while debugging for where to start coding.
  2. Don't fear changing the source, you can always revert!
  3. Start at the interface points and work toward the center where actual work is performed.
  4. Make sure all unit tests, including those in other projects are passing.

Before submitting any patch I always go through a cleanup of my changed code. This involved going through my patch file by file making sure that I'm only submitting code that pertains to the patch and only changes things that need to be changed. (Using TortoiseSVN this is quite simple, folder menu -> check for modifications)

I try and keep my formatting changes to a minimum. Resist the urge to re-arrange existing code, convert tabs to spaces etc. While NHibernate and many other open source projects could use some cleanup work, that should be performed by dedicated committers. In our case the organization is loosely tied to the Hibernate project and would make it more difficult to port newer features if the NHibernate code is re-arranged.

Submit the patch and leave a clear explanation of the problem it solves and how it solves it. Best of luck and thanks for contributing to the project!

Quick Review

  1. Clean up your code before you commit by reviewing the changes.
  2. Add your patch the JIRA, documenting the change need and usage.

Liked this post? Subscribe to my feed.

Hiding Your hbm.xml files in Visual Studio (or not)

April 8th, 2008

I had this cool idea. What if I could hide my NHibernate Entity.hbm.xml files behind their respective c# files in the Solution Explorer. This would tidy things up a bit as I'm getting a bit overloaded in my project at work.

It turns out that this is pretty easy to accomplish... visually. Here's what we're trying to accomplish:

Standard
Behind
Hidden

Busting out the .csproj file I can edit the file to go from:


<ItemGroup>
<EmbeddedResource Include="Class1.hbm.xml" />
</ItemGroup>

To:


<ItemGroup>
<EmbeddedResource Include="Class1.hbm.xml">
<DependentUpon>Class1.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>

I even found a macro that does it for you rather than having to hack the visual studio project file directly.

Unfortunately it suddenly broke all my unit tests. Turns out that when adding "dependent upon" it does more than just the visual but actually changes the name (and type?) of the file. Here's what it looks like in Reflector before:
Plain Old XML

Here's what it looks like after:
Compiled XML

I spent an hour or so on the MSDN trying to figure out how to solve this problem, but I can't seem to figure out how to do it. It looks like someone else had this EXACT idea and problem.

Anyone have any ideas on how to solve this?

Liked this post? Subscribe to my feed.

Adobe PDF Printer {Sucks}

April 2nd, 2008

Gaaa

Once again my machine is brought to a complete halt because of Adobe PDF printer. Canceling a print job shouldn't kill an entire browser process and cripple the rest of the system. Just in case you were confused.

Liked this post? Subscribe to my feed.

Microsoft’s Marketing Department {Cut}

March 27th, 2008

Your Advertising {Lame}

Liked this post? Subscribe to my feed.

MVC UnitTestingFramework to MvcContrib

February 20th, 2008

The Unit Testing Framework I posted a couple of days ago has now been moved into the MvcContrib project, making me an official Developer. Woo Hoo. You can check out the updated documentation.

Liked this post? Subscribe to my feed.

IParseable Interface

February 20th, 2008

[Note: I was reminded by my roommate after posting this that static methods aren't allowed in interfaces....]

Today I was working on a JSON to NHibernate bridge when I came across something quite frustrating when trying to convert strings to other types. In this bridge object I'm persisting an object out of the database with NHibernate, then assigning the new values from the JSON string to that object. (Or list of objects.)

This seemed simple enough. I was thinking that it should be easy enough to write a loop that looks at the javascript keys {"Key":"Value"} and matches them up with the PropertyInfo of the target object. This is trivial when both are strings, but what if the target type is a float, int, bool, date, enum etc?

Most base types have a Parse method of some kind that looks like Parse(string) or Parse(string, IFormatProvider). Here's a couple of types that implement some variant of the Parse method.

  • System.Boolean
  • System.Byte
  • System.Char
  • System.Data.SqlTypes.SqlBoolean
  • System.Data.SqlTypes.SqlByte
  • System.Data.SqlTypes.SqlDateTime
  • System.Data.SqlTypes.SqlDecimal
  • System.Data.SqlTypes.SqlDouble
  • System.Data.SqlTypes.SqlGuid
  • System.Data.SqlTypes.SqlInt16
  • System.Data.SqlTypes.SqlInt32
  • System.Data.SqlTypes.SqlInt64
  • System.Data.SqlTypes.SqlMoney
  • System.Data.SqlTypes.SqlSingle
  • System.DateTime
  • System.DateTimeOffset
  • System.Decimal
  • System.Double
  • System.Int16
  • System.Int32
  • System.Int64
  • System.SByte
  • System.Single
  • System.TimeSpan
  • System.UInt16
  • System.UInt32
  • System.UInt64
  • System.Windows.Int32Rect
  • System.Windows.Point
  • System.Windows.Rect
  • System.Windows.Size
  • System.Windows.Vector
  • System.Net.NetworkInformation.PhysicalAddress


This leaves me with only one question?

Where's my Interface?

I can't do a test for IParseable on the object, I can't even search for the parse method by name and parameters because each object implements them differently. I could go with only the string parameter which they all implement, but I've learned from Civ4 that culture is important, and besides I wouldn't want to fail the Turkey test.

Of course there's a reason for this seemingly lazy design - interfaces can't be declared as static. (That's a conversation for a different day.) Ok, so given that they can't, where do we go from here? Lets pretend that we still wanted to use an Interface for these classes.

interface IParseable { }

So now we've got an Empty Interface. Perhaps this would be better as a custom attribute, and if so please explain to me how to accomplish this next part with said custom attribute.

We then assign our interface to the DataType and implement a number of Parse methods

    class DataType : IParseable

    {

        public static DataType Parse(string s)

        {

            //blah blah, use the string to create a new DataType

            return new DataType();

        }

    }

Then in the System.Convert class we'd implement some function like this:

    public static T Parse<T>(string s) where T : IParseable

    {

        MethodInfo mInfo = typeof(T).GetMethod("Parse", BindingFlags.Public | BindingFlags.Static);

        if (mInfo != null)

        {

            T obj = (T) mInfo.Invoke(null, new object[] { s });

            return obj;

        }

        return default(T);

    }

Other methods could accept CultureInfo, FormatProviders and other params. Someone have a better way of doing this?

Liked this post? Subscribe to my feed.

Unit Testing Framework for MS MVC.NET

February 7th, 2008

The Pain - A Brief History of MVC.NET

Files: MvcTestingFramework.rar - or - MvcTestingFramework.zip

Back in November, ScottGu gave us some great examples on how to use the (then unreleased) MVC Framework. A major advantage of this framework is to be in the ease of testing. One of the classes used in that demo was a TestViewEngine that was implemented to determine what variables were passed to RenderView and RedirectToAction.

Since then we've learned that it was some private class that wasn't in the framework. In December, Phil Hack recommended subclassing as a means to get at the RenderView which he admits leaves a certain bad taste in some people's mouths.

I'm one of those people.

He also went on to explain that it can be done through mocking with RhinoMocks but then changed his mind saying that it wouldn't build against the actual CTP version of the framework. (Thanks, you tease.) Then there was the concept of putting it in an extension method, but that prevents us from properly setting the stage for our tests.

There is also an issue with testing TempData in controllers even if you manage to get around the RenderView problems via subclassing. Ben Scheirman recommended doing this through mocking using SetupResult. Justice Gray then chimes in that something similar can be done for mocking Request.Form.

Seeing all this chaos, and knowing that there had to be a better way, I've combined a number of these recommendations into a framework that allows for easy and effective testing of ControllerActions.

It uses a bunch of Mocking, Reflection, and Dynamic Proxies to get the job done.

Sample Uses of the Framework

If you're like me you've already downloaded the rar file at the top of the page. Please direct your attention to the MvcTestingFramework.Sample.Test project in the StarsControllerTest.cs file. Here's you'll find some simple uses of the framework.

Using RenderView


        [Test]

        public void ListControllerSelectsListView()

        {

            MvcTestHandler handler = new MvcTestHandler();

            StarsController controller = handler.CreateController<StarsController>();

            controller.List();

            Assert.AreEqual("List", handler.RenderViewData.ViewName);

        }

Note that we're creating an instance of MvcTestHandler in this and every other test case in this class. This handler performs several functions, namely creating our Controllers and populating them correctly. We're also able to get at the parameters used in the RenderView method call by our ControllerAction via the RenderViewData class.

Using Redirect To Action


        [Test]

        public void AddFormStarShouldRedirectToList()

        {

            MvcTestHandler handler = new MvcTestHandler();

            StarsController controller = handler.CreateController<StarsController>();

            controller.AddFormStar();

            Assert.AreEqual("List", handler.RedirectToActionData.ActionName);

        }

Again, we're able to access the ActionName from the handler's RedirectToActionData class.

Using Request.Form and TempData


        [Test]

        public void AddFormStarShouldSaveFormToTempData()

        {

            MvcTestHandler handler = new MvcTestHandler();

            StarsController controller = handler.CreateController<StarsController>();

            handler.Form["NewStarName"] = "alpha c";

            controller.AddFormStar();

            Assert.AreEqual("alpha c", controller.TempData["NewStarName"]);

        }

We simulate a form request, then read it back in from the controller's TempData member. Do that with a controller that you make via a standard constructor and you won't have such good results.

Comments on this Framework

The MvcTestingFramework relies on two great frameworks, the Castle DynamicProxy framework and the aforementioned RhinoMocks framework.

After establishing a proxy of the given controller, the existing RedirectToAction and RenderView methods are changed so that they save the parameters and don't actually redirect or render a view.

One particular annoying part (and there were several, saved only by The Reflector) was that a couple of objects types used by RedirectToAction are marked as internal, so I was forced to iterate over the properties looking for the Action and Controller properties. MS... Please, no more hoops and lions.

The one area that I don't have working is Session variables. (You'll note those unit tests fail.) Hopefully someone more familiar with Rhino Mocks will be able to get this working.

Liked this post? Subscribe to my feed.

cialis propecia viagra xenical and meridia dreampharmaceuticals order propecia online viagra errection viagra efffects when used by women order tadalafil capsule pain whilst using xenical tadalafil manufacturing viagra doses prices com net org clonezepam versus xanax xanax uk xanax alprazolam zanax xanax safer than ssri's panic didorder phentermine cheap diet pills order online phentermine buy 2mg xanax without prescription soma sonic crazy moon lyrics alcohol and valium wet the bed tramadol urinalysis testing coming off valium medical information ambien klonopin ultram affect side herbal viagra alternative viagra us drugs stors fosamax dental bone loss ultram in 9 panel drug test florida in phentermine phentermine under $125.00 fioricet fioricet cost low ery ambien wellbutrin withdrawal help how to come off ativan phentermine online from miami cialis pils tramadol and pregnancy hair loss with wellbutrin adhd paxil effexor ambien cr extended-release tablets doses tramadol anxiety propecia hair loss ht blue sildenafil paxil price dosage amoxicillin for lyme disease propecia and dietary supplements tramadol cod saturday geometric structures of amoxicillin cat valium withdrawal distributions sp cialis es alli xenical diet pill 65 90 ultram trazadone xanax interaction phentermine cod delivery paypal can you drink alcohol with paxil zoloft tramadol interactions valtrex nasonex tramadol ativan and smoking cessation u 2241 viagra worldwide phentermine india pharmacy zyban phentermine blue yellow cooper pharma sildenafil active ingredients in amoxicillin phentermine blue clear capos ambien pregnancy buy xenical propecia viagra egypt soma rc crane viagra kamagra cialis c o d adipex ultram and osteoporosis ativan during pregnancy edinburgh uk viagra tid news moo viagra dosage paxil cr sex xanax alprazolam side affects cialis discount coupon amoxicillin tropical fish fosamax irregular heart rhythms insomnia ambien studies rheumatoid arthritis and tramadol order phentermine overnight valium safe in pregnancy non medical use viagra 1buy generic cialis buy viagra professional adipex affiliate paxil generic available how long before ultram begins working diet plan for xenical amoxicillin allergy migrane how many ambien can kill ambien and trazadone how viagra works in the body ultram and multiple myeloma serious side effects avinza wellbutrin adipex and drug testing moteur de recherche sp cialis side effects xenical finding phentermine 90tabs ship compare phentermine xanax and buspirone hydrochloride phentermine no prescription us pharmacy phentermine yellow 6hair loss shen min rogaine propecia us pharmacies for wholesale phentermine we to buy phentermine viagra next day shipping cheap tadalafil 36 hour cialis gooding fast delivery cialis case law regarding viagra xanax shapes colors buy valium in tijuana buy adipex c o d gain weight from wellbutrin fioricet cheap fioricet birth defects phentermine free shipping no prescription needed viagra plus cialis no prescriptions needed adipex paxil advertising viagra mode of action zithromax for broncitis ambien used as a sedative tramadol images propecia adverse paxil and leg pain i want to purchase phentermine weight loss with paxil zenegra sildenafil natural is mexican viagra real viagra for animals viagra alternative ne propecia rogaine finasteride minoxodil strep amoxicillin dosage who makes ambien bontril protonix evista evista fosamax miacalcin osteopenia treatment alprazolam counter indications sildenafil 50mg kamagra tablets evista manufacturer wellbutrin missed dose how works clomiphene sales ultram who invented the soma cubes paxil use and genetic testing phentermine mg tablets us licensed pharmacies cock s on viagra consultation xanax alprazolam order anxiety wellbutrin sr with duradrin phentermine ingredients pharmacy discounter tramadol blood preasure zyban breggin alzheimers and ambien zithromax and breastfeeding generic viagra sildenafil phentermine hci ingredien viagra college roomate stories order tadalafil by mail paxil and breast feeding what is xenical medicine data sheet tramadol generic viagra levitra and tadalafil dreampharmaceuticalscom levitra online order amoxicillin picture of tablet low price tramadol purchase ambien online with a prescription compare price tramadol paxil long term effect cheap propecia 5mg propecia discount vitamin amoxicillin max dose diarrhea amoxicillin 500 mg no phentermine rx online levitra online cheap phentermine 37.5 no rx viagra cyalis 2mg green xanax ativan morphine interaction ambien interaction alcolhol ambien 1275 phone call viagra vendor paxil drug information phentermine norvasc fedex delivery cod tramadol phentermine without contacting your doctor xanax abuse effects and dangers amoxicillin and cold medicine phentermine 37.5 90 sale heart disease celecoxib xenical co uk tadalafil clinical trials and study overnight xanax alprazolam delivery phentermine cheap no prescription arkansas adipex fastin ativan drip mcdonough georgia phentermine soma mandal md rush limbaugh viagra adipex p addiction tadalafil money order online vertigo from adipex hydrocodone and tramadol effects clomiphene ovolation ultram from pain in knees with tramadol free trail of cialis g3721 xanax picture us pharmacy no prescription ambien pfizer viagra generic anxiety disorder and wellbutrin difference between xenical and alli symptoms which valiums may help ativan inj info on the drug diazepam valium lethal dosage ativan sd soma difference in blue and yellow phentermine discount for cialis viagra in women adipex phentramine who is the levitra woman actress women does viagra work zenegra sildenafil rectal fissure amoxicillin suppliments interaction supplement of propecia fioricet and migraine increased appetite on generic wellbutrin xl wellbutrin medicine dosage ups delivered tramadol alternative for paxil tramadol without prescription overnight delivery propecia does it work tramadol computer cheap cialis viagra actavis phentermine smoking while taking wellbutrin pills cialis euphoria tramadol symptoms of weaning from paxil fosamax 5mg funny viagra pictures 5 how to make sildenafil valium no prescription needed is evista abelha rainha cheap phentermine 37.5 online md amoxicillin buy online no prescription zithromax for chlamydia cialis online all information about tramadol headache ultrams pharmacology business and finance adipex diet pill wellbutrin generic vs tabletki zyban order tramadol next day shipping canada online pharmacy viagra six co uk buy prescription propecia soma club boulder co cheapest phentermine no rx online viagra reviews phentermine canada 37.5 levitra prescription on line generic viagra pill tramadol hcl 50 mg description medication my dog ate a viagra phentermine on-line doctor zithromax allergic symptoms purchase phentermine get it online vasoderm better than viagra phentermine sustained release ambien coma buy zyban uk phentermine 37.5 free shipping doctor online do not take zithromax with prilosec viagra logo items alprazolam in italy starting paxil after quitting paxil and high colesteral phentermine pay with cod amoxicillin vs ampicillin viagra generic ordering good service buy phentermine with discount effect of cialis on women glucophage and dieting wellbutrin effect if not depressed ativan no rx female levitra tramadol hydrochloride contraindications loratadine levitra and nancy bryan viagra san luis colorado tamoxifen wellbutrin interaction german pharmacies that sell xanax tramadol with cymbalta zenegra generic sildenafil tramadol use for pets soma product valium vicodin prescription no rx phentermine ship fast alcohol xanax addiction taking ambien for a month diet pill adipex cause death ovarian cysts and glucophage buy cheap valium buy evista versus fosomax 6buy cheap propecia online structure of levitra 3g amoxicillin oral dose ambien cr 7 days free cialis pharmacology soma intimates free shipping codes viagra s sibutramine sildenafil buy brand adipex online xenical getpharma the real pharmacy tramadol valium combination xanax graffiti phentermine in mexico levitra and price list buying propecia in japan pcos and glucophage success stories kentucky valium cod lupus and paxil cialis levitra free sample viagra falls southern rock ativan insomnia paxil sexual dysfunction viagra pinup ambien online pharmacy without prescription the viagra myth argento soma ultram er dosages tramadol breastfeeding evista art pro alprazolam 0.5 256 muscle relaxer soma soma pregnancy category drugs similiar to viagra wellbutrin delay orgasm german viagra substitutes zithromax and marijuana phentermine discretion fedex overnight ambien viagra 50mg uk buy viagra uk soma strokes phentermine on sale purchase amoxicillin tramadol 25mg amitriptyline phentermine 37.5 online rx wellbutrin sideeffects cheap us phentermine amoxicillin no rx dr charles soma phentermine through body building phentermine tablets no rx sex viagra xanax phentermine without prescription c o d order c o d fioricet canadian prices for viagra wellbutrin affects male fertility tramadol saturday delivery drug interactions between chantix and wellbutrin zyban manufacturer interaction with ultram er list generic brands of valium more pill sildenafil sperm phentermine no prescription usa pharmacy cheapest viagra online in the uk prozac and wellbutrin cocktail inject xanax how too discount generic zyban aura soma oracle wellbutrin norco interactions dictionnaire sp cialis en mercatique akane soma photo phentermine delivered next day soma sniffing phentermine getmeds online generic ultram dream pharmaceutical comprar viagra brasil xenical and flabby skin fosamax in gastric bypass surgery generic ultram picture ambien anaphalyxis snorting valium ultram sensitivity screen test viagra and pulmonary edema zantax anxiety what is fioricet fioricet saturday fedex delivery soma prices levitra diarrea soma hernandez pictures evista online buy canin valium first generation of ativan valium dosage amount buy phentermine online wothout rx discount online phentermine fda approved medications soma experience pharmacy xenical colors of valium drugstore phentermine online phentermine w o perscription wellbutrin cranky wein from xanax to klonipin amoxicillin no prescription required wellbutrin xl overdose wellbutrin causes osteoporosis 193 web levitra 278 buy phentermine viagra meridia ultr fake phentermine save generics side effects of levitra jh solutions buy ultram online ordering propecia how do you feel taking zyban ambien drug information xanax alcohol peripheral neuropathy works viagra valium wisdom tooth description and pictures of viagra levitra play split cialis zithromax and birth control clomiphene rx phentermine without a precription xanax how many mg to overdose viagra online rss feed adipex at cost preparing alprazolam for injection xanax and ritalin combination order ultram pill tablets brand fioricet generic viagra in neonates paxil generic teva online generic cialis sildenafil oral jelly paypal find tadalafil online getting soma online cash on delivery high dose ambien at bedtime tadalafil kaufen paxil side effects chest pain bupropion xl vs wellbutrin xl street value viagra viagra free viagra find charles edinburgh tramadol c o d only cialis lead investigator wellbutrin side effects increased appetite alprazolam birth defect free consult phentermine us 5 sildenafil citrate prices valium waltz paxil cr 37 5mg ativan overnight in canada online mexican pharmacy phentermine tenuate street value of ativan free glucophage buy prescription online zyban retin-a ordering valium citrate generic name sildenafil viagra cialis blues wellbutrin eating disorder canadian phentermine without prescription stopping ambien during pregnancy cialis drug appearance tadalafil tadalafil bialis india overnight fedex phentermine canadian cheap adipex tramadol online rx chief overdose on glucophage buy ambien overnight delivery fosamax plus cmi incidence of sweating in tramadol er phentermine diet plans dangerous effects side zyban reviews on taking phentermine genetic viagra generic cialis pills for women adipex click here viagra online shop in uk viagra amp the red meat connection buying phentermine blue white 37.5mg ativan compare xanax paxil and its side effects wellbutrin no prescription needed ultram weight pill cutter propecia dosage cheap phentermine 15mg 3 months 180 xanax birth defects alprazolam vs xanax xanax logo mix xanax and clonozopam xanax prolactin medical use of viagra discount viagra and cialis order clomiphene xanax performance anxiety sildenafil drug interations order phentermine online phentermine phentermine saturday kennedy ambien wellbutrin adipec generic ambien internet pharmacies adipex no prescription no doctor authorization what is tramadol 377 viagra 100 pic ultram itching 7buy ambien buy phentermine no prior rx reid finn valium adipex interactions fosamax and teeth and jaw bone online phentermine 37.5mg prices xenical or orlistat fedex overnight delivery codeine ultram tramadol low price zyban rx soma metallic body odor paxil is zithromax safe for pregnant women i love tramadol free xenical weight loss information online buy fioricet 3 dangers of generic cialis pills potassium gates of neurons function valium order phentermine online uk cialis symptoms ativan life span ambien cr long term use phentermine hydrochloride a 167 klonopin and ativan soma lotus xanax 10 mg zyban bupropion hci propecia and feminine ambien tox screen online drug purchase levitra safe alternatives to paxil ambien tattoo xanax overnight delivery no prescription buy no script phentermine adipex discount online pharmacy soma bringer buy soma wellbutrin with herbs 1333 info levitra 1920 chemicals tramadol hydrocloride zithromax liquid dosage the truth about fosamax aura soma sale phentermine sale ambien effects long side term use false positives with amoxicillin tp lecturer soma can you mix amoxicillin with milk paxil and erections sex cialis buy valium on line pharmacy online phentermine no prescrition lexipro and xanax valium dose for anxiety evista ad soma company how to wein off tramadol levitra blood urine phentermine fed ex overnight delivery pay pal order soma cheapest phentermine 100 37.5 adipex predinsone buy clomiphene levitra cooper buy drug satellite tv buy xenical flexeril ultram buy ambien cr no rx fioricet during pregrancy valium allergy 4 buy tramadol does xanax show on drug test fosamax tooth extractions soma compound with codeine soma no prescription needed drug effects paxil side buy zyban cheap information drug viagra phentermine pill slimming uk action attack celecoxib class heart weaning from ambien feline's and valium pharmacy online phentermine combined alcohol and valium withdrawal symptoms cheap phentermine online free prescription cheap viagra online pharmacy online how much pseudoephedrine in phentermine left facial pain in wellbutrin withdrawal no prescription cheap tramadol fda celecoxib wellbutrin cause of ulcers order fioricet overnight saturday delivery overnight tramadol wellbutrin vitamin b 6 gained weight back after phentermine steve soma portland or order oklahoma ambien cod prescribing information valium phentermine online get it here difference between phendimetrazine phentermine zithromax fdog cialis after priapism english to soma online dictionary coumadin statin glucophage followup labs regalis prices generic tadalafil tramadol cat medication wellbutrin antidepressant xanax mylan 477 xanax for tobacco cessation effects paxil positive what is wellbutrin prescribed for chlorpromazine lexapro wellbutrin ambien dosing amoxicillin is it penicillin paxil for premature attorney celecoxib effects side pain reliever tramal search tramadol capsules buy cialis onli ne phentermine horny buy phentermine cheap without prescription net cialis can amoxicillin causing yeast infection evista side effecfts generic levitra online low blood pressure viagra warning ativan facts c20 viagra paxil paxton phentermine fed-ex cost of clomiphene citrate soma watson brand picture better deal tadalafil ic amoxicillin adipex using american express what is alprazolam used for cheap phentermine free shipping free consultation propecia claims cialis for seniors side effect propecia alprazolam allergic reaction canine how to get off xanax amoxicillin price ambien online scams reviews over the counter xenical diet medicine zenegra glina tadalafil sildenafil sex medicine welcome phentermine buy cheap phentermine online online phentermine with no prescription proper tapering from wellbutrin pravachol ketamine foradil paxil christine brooklyn xanax generic name for xenical buying levitra in mexico fosamax renal cheapest priced propecia phentermine mail order no prescription viagra for doggies what is alprazolam taken for valium highs price levitra tramadol fedex overnight shipping adipex online descriptive adipex online details phentermine without prescribtion non-generic phentermine no adverse effects with paxil cry thou blessing cialis cty anti anxiety valium phentermine low cost online soma muscle clomiphene citrate information sildenafil price any tried phentermine phentermine illegally order cheap viagra xanax or klonipin viagra single dose tadalafil or cialis valium calming effect of nervous system better discount tadalafil drug testing tramadol viagra makes you blind tablets free brand consultation fioricet facts viagra tylenol amoxicillin dosage for puppy xanax natural fioricet side effects when did wellbutrin go generic viagra pay with paypal casm you snort ativan xanax placebo viagra email offers gardnerella zithromax treatment xanax online pharmacy free consultation zithromax urinary tract cialis home page mechanism of death due to fosamax alprazolam schedule tadalafil faq what kind of medicine is alprazolam buy phentermine without doctor xenical available overcounter htp paxil fosamax 12 zyban smoking depression wean cat off valium buy phentermine on-line physician substitute for viagra tramadol florida pharmacy add treatment wellbutrin can amoxicillin help bronchitis soma hotels zyban hormonal reactions tramadol 3f xanax ekg changes online pharmacy ambien levitra brunette photos get tadalafil when does ambien cr become generic frontal hair loss propecia mirtazapine alprazolam fioricet 3 with codeine fosamax 10mg long term effects and ultram buy xenical without prescrption deal good propecia aquafish amoxicillin antibiotic wholesale phentermine information from order valium with a doctor consultation soma style hot cup phentermine a159 mp273 instructions zyban the truth about adipex symptoms of phentermine withdrawal levitra longevity buy phentermine with no prescription cod find cheap on line phentermine pills order by 2pm get phentermine overnight zithromax image depression and viagra buy phentermine 15mg tramidol and paxil interaction cialis dreampharmaceuticals online prescription ultram personal testimonies soma ambien cr and acetameniphen 10-day treatment with amoxicillin bronchitis advantage with viagra adipex drug phentermine vs soma purchase discount ultram order online effectiveness of ultram ambien and e d 30 mg ultram cheap soma no rx cod accepted wellbutrin and clenbuterol effects valium withdrawl symptoms ads for cialis ultram suppliers cheapest phentermine 37.5 what drug class is tramadol levitra alpha blockers buy viagra online in cash phentermine citrate generic sildenafil celecoxib und tumor adipex overnight fedex blood pressure and valium can you take adipex and synthyroid evista tude core memory wife ambien effects last 3generic propecia viagra propecia discount order cialis silagra penegra cumwithuscom eths soma review ativan and cognitive problems valium half-life propecia hair restoration cialis sideaffects drug interaction cialis benedryl sildenafil il egal how to withdraw from phentermine evista sideefects alprazolam 6 mg ml glucotrol and glucophage buy ultram on line what is zyban used for the town that viagra built buy valium no prescriptio wellbutrin xl pregnancy giving cialis to wife 180 phentermine pills sildenafil citrate meltabs aff phentermine and caffeine tramadol maximim dosage kingwood tc phentermine fioricet buy fioricet online how long can i take fosamax fosamax research wellbutrin xl withdrawal symptoms phentermine online no prescription order generic ambien soma records artists alex smoke biography bleeding while taking phentermine bleeding while on clomiphene phentermine leaking urine aur soma tramadol in dog low cost cialis pharmacy propecia online canine paxil dosage adipex cheap diet pill adipex hcg false negative pregnancy test xanax upjohn beat blockers xanax tadalafil dosage in pulmonary hypertension zenegra sildenafil free shopping mall online tadalafil generic ciales metronidazole and amoxicillin combined ultram in pregnant women ambien 10 pill is soma a benzo zyprexa zydis and ambien drug interaction wellbutrin xl dosage how to order xanax online ativan gg how to order tramadol online cialis denavir alesse prevacid buy phentermine no docotor needed tramadol hcl w acetaminophen wellbutrin xl com stopping lexapro and starting wellbutrin buying ambien on the internet what is the drug ultram addicted to soma heart what class of drug is adipex no prescription united states pharmacies xanax healthy living phentermine diet pill compare viagra home viagra zithromax and hives tramadol info warnings cialis drug soma 27 bicycle will an ambien overdose kill you cheap xanax and phendimetrazine osteoporosis evista actonel priapism viagra purchase drug soma perscription discounts on ambien and generic any problems taking adderall with wellbutrin viagra in monterey mexico pharmacia adipex without presciptions levitra and eye problems viagra cialis london kamagra evista tv commercial weight gain wellbutrin lexapro what is the structure of viagra soma mandal smoking zyban generic cialis 20x20 req soma phentermine diet pills di 5 sildenafil rectal fissure kava xanax benzo side effects clarithromycin and cialis fda announces warning for ambien san francisco soma clubs online generic phentermine lexapro and ambien phentermine free consultation viagra love feelings how does phentermine generic paxil vs brand paxil watermalon viagra plavix cialis taken together who should take cialis 5mg part d covers levitra phentermine american express interactions and precautions with glucophage can amoxicillin be used for trichimonias effexor used with wellbutrin phentermine 37.5mg no prescripton required phentermine no script treating fosamax side effects ambien and prozac phentermine drug info cialis class sildenafil citrate without prescription citrate mail order sildenafil zenegra efa supplement paxil interactions paxil for treatment of ibs ativan lorazipan clomiphene from mexico low cholesterol diet tramadol on line gg 256 xanax viagra hearing loss suboxone and xanax cheap phentermine from fda approved wellbutrin side effects dry eyes phentermine weight loss medicine discount levitra cialis viagra tramadol vs vicodin viagra erection quality fake ambien from outside us zithromax and diarrhea cheap ativan online order now cheapest alprazolam us cod propecia in europe a soma dos muito doidos adipex cheap order medical soma girl takes cialis celebrex celecoxib arkansas amoxicillin and daily dosage wellbutrin erectile dysfunction viagra for kidney transplant patients affect side zyban paxil and newborns alprazolam 25g clomiphene citratre information ultram fda xenical contraindications with paxil cod fioricet overnight delivery viagra and cataracts use of viagra for premature ejaculation bph cialis paxil 20 mg tablet paxil cr available xanax effectiveness ativan withdrawal instructions bupropion hci zyban generic for ultram generic online phentermine pharmacy online amoxicillin herpes can i mix alcohol and viagra canadian sildenafil citrate paxil stories tramadol ejaculation treatment celecoxib price adverse effects of paxil trigeminal neuralgia fosamax soma fm secret agent fosamax law suite topamax wellbutrin side effects dosage soma generic ultram is used for what ativan suicide cheap phentermine cheap phentermine phentermine picture sildenafil citrate online pharmacy phentermine hcl generic correct dosage of amoxicillin sleep apnea phentermine propecia testomonials reviews canine dosage valium is viagra used in masturbation capsule phentermine clonazepam xanax long term danger of ultram buy fisher soma f9000 phentermine overnight to california diets xenical xanax cheap without a prescription order adipex free consultation viagra pill on line pwdered adipex dangers of wellbutrin bupropion expired cialis still safe soma getty list of paxil cr side effects celecoxib synthesis zithromax phlegm what is ambien product contraindications oxycontin xanax ara chang soma fosamax and jaw rot adipex without previous prescription liver disease ambien maine heart defect paxil valium street value order xanax overnight shipping failure of cialis to work celexa phentermine asking doctor about viagra soma watson online levitra qu es viagra benifits xanax drug testing immediate release wellbutrin effects vision problems resulting from viagra wellbutrin side effects mean ambien ndc effects of alprazolam if you'are pregnant blue vision viagra msnbc wellbutrin xl generic phentermine fedex buy cheap phentermine online fedex delivery xanax overnite online pharmacies phentermine over night phentermine xanax and mental defect ambien safe nursing prozac wellbutrin anxiety side effects non narcotic pain medications tramadol online adipex paxil and lorazapam viagra belgie cheap online fosamax sildenafil side effects infants free viagra no prescription evista raloxifene maine purchase celecoxib tramadol 600 mg xanax statstics legal issues on ativan buy tadalafil 90 pill glucophage generic buy xanax online overnight shipping nizagara sildenafil online doctor perscription for phentermine viagra versus cialis zyban purchase ambien pill color 12.5 mg package insert for wellbutrin he took viagra and fucked me about valium for anxiety add depression counterfeit viagra identify four orde adipex how to limit wellbutrin side effects viagra multiple myeloma adipex line valium alcool ambien benadryl mix pictures xanax barr alprazolam canine dosage tramadol orlistat xenical phentermine and sibutramine meridia xenical and effectiveness buy leagle phentermine does xanax open bronchial tubes tramadol chlorhydrate ask a patient paxil xanax in drug screen ambien side efffects phentermine in urine drug test heath ledger ambien alprazol