Been in the bodybuilding game for a bit, and have done some personal training. Most important thing in gaining muscle are, in my experience --
1) Compound movements -- Don't do single joint excersizes, and if you do, limit them to %10 or less of a your workout.
2) Consistency -- You will never, ever get results in any workout plan without consistency. By this I mean working out on a consistent routine and not deviating from that plan unless something catastrophic happens -- illness beyond a common cold, injury, or an emergency. This means sacrificing things - not going out drinking with your friends the night before, etc. Do not let yourself lose sight of your goal. Write down a workout plan, record your results in a journal, chart your progress. Work out on the same days of the week, and at the same time of day, if you can.
3) Calories -- Calories are the end all, be all of weight and muscle gain. Don't focus too much on protein. Protein is definitely essential, but without eating more calories than you burn, you will NOT gain weight. During a weight gain phase, your diet doesn't need to be extremely tight. You want to focus on nutritious foods, of course, but eating a cup of rice with a side of steamed broccoli and fish is TOO FEW CALORIES to work for your goal. Focus on red meat, whole milk, pasta, and even the occasional Ice Cream Shake. Yes, I said it. Shakes can have as much as 20G of protein and tons of calories, which is what you need most.
4) Rest -- If you're not allowing your body to heal and adapt, you will not get results, period. This is as important as anything else in putting on quality weight. 8-9 hours of sleep a night is %100 essential for muscle gain. And also make sure to schedule a MINIMUM of 2 days off a week, possibly more. Many people I see who aren't gaining muscle are in the gym 6-7 days a week. It's too much, your body won't respond to it.
If you have specific questions about anything I've said here, don't hesitate to ask. You can PM me, or ask right here and I'll do my best to answer.