public ActionResult Create([Bind(Include = "Id,SendingMemberId,ReceivingMemberId,SendingBeerId,ReceiverBeerId,IsApproved,SendingComments,ReceivingComments")] Trade trade)
        {
            if (ModelState.IsValid)
            {
                db.Trades.Add(trade);
                db.SaveChanges();

                var recievingmember = db.Cellars.Find(trade.ReceivingMemberId).Member;
                var bodyTemplate    = "<p>Hi {0}</p><p>You have a trade offer made to you,please log into your account to see offer.</p>";
                var body            = string.Format(bodyTemplate, recievingmember.FirstName);
                MessagSender.SendEmail(recievingmember.Email, "CraftX Pending Trade Offer", body);

                var tradelisttypeviewmodel = new TradeListTypeViewModel {
                    TradeListType = TradeListType.PendingOffersMade
                };
                return(RedirectToAction("Index", new { model = tradelisttypeviewmodel }));
            }

            var userid        = User.Identity.GetUserId();
            var sendingmember = db.Members.Find(userid);
            var sendingcellar = sendingmember.Cellars.First();

            ViewBag.SendingBeerId = new SelectList(sendingcellar.Beers, "Id", "BeerName");
            return(View(trade));
        }
        // GET: Trades
        public ActionResult Index(TradeListTypeViewModel model)
        {
            IEnumerable <Trade> trades;
            TradeListType       tradelisttype;

            if (model == null)
            {
                tradelisttype = TradeListType.AllOffersRecieved;
            }
            else
            {
                tradelisttype = model.TradeListType;
            }
            var userid         = User.Identity.GetUserId();
            var member         = db.Members.Find(userid);
            var cellar         = member.Cellars.First();
            var senttrades     = cellar.Trades1;
            var recievedtrades = cellar.Trades;
            var alltrades      = senttrades.Union(recievedtrades);


            switch (tradelisttype)
            {
            case TradeListType.AcceptedOffers:
                trades = alltrades.Where(t => t.IsApproved.HasValue && t.IsApproved.Value);
                break;

            case TradeListType.AllOffersMade:
                trades = senttrades;
                break;

            case TradeListType.AllOffersRecieved:
                trades = recievedtrades;
                break;

            case TradeListType.DeniedOffers:
                trades = alltrades.Where(t => t.IsApproved.HasValue && !t.IsApproved.Value);
                break;

            case TradeListType.PendingOffersMade:
                trades = senttrades.Where(t => !t.IsApproved.HasValue);
                break;

            case TradeListType.PendingOffersRecieved:
                trades = recievedtrades.Where(t => !t.IsApproved.HasValue);
                break;

            default: trades = null;
                break;
            }
            ViewBag.listtype = new TradeListTypeViewModel {
                TradeListType = tradelisttype
            };
            return(View(trades.ToList()));
        }