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));
        }
 public ActionResult Contact(EmailViewModel model)
 {
     if (ModelState.IsValid)
     {
         var bodyTemplate = "<p>Email From: {0} ({1})</p><p>Message:</p><p>{2}</p>";
         var body         = string.Format(bodyTemplate, model.FromName, model.FromEmail, model.Message);
         MessagSender.SendEmail("*****@*****.**", "A message from the Contact Form", body);
         return(RedirectToAction("Index", "Home"));
     }
     return(View(model));
 }
        public ActionResult Edit([Bind(Include = "Id,SendingMemberId,ReceivingMemberId,SendingBeerId,ReceiverBeerId,IsApproved,SendingComments,ReceivingComments")] Trade trade)
        {
            if (ModelState.IsValid)
            {//var trade = new trade
                db.Entry(trade).State = EntityState.Modified;
                if (trade.IsApproved.HasValue && trade.IsApproved.Value)
                {
                    Cellar offertradecellar     = db.Cellars.Find(trade.SendingMemberId);
                    Cellar recievingtradecellar = db.Cellars.Find(trade.ReceivingMemberId);
                    Beer   offeretradebeer      = db.Beers.Find(trade.SendingBeerId);
                    Beer   recievingtradebeer   = db.Beers.Find(trade.ReceiverBeerId);

                    offertradecellar.Beers.Remove(offeretradebeer);
                    offertradecellar.Beers.Add(recievingtradebeer);
                    recievingtradecellar.Beers.Add(offeretradebeer);
                    recievingtradecellar.Beers.Remove(recievingtradebeer);

                    var recievingmember = recievingtradecellar.Member;
                    //  var recievingembername = recievingtradecellar.CellarName;
                    var sendingmember = offertradecellar.Member;
                    //  var sendingmembername = recievingtradecellar.CellarName,
                    var bodyTemplate  = "<p>Hi {0}</p><p>Your CraftX trade has been accepted,Enjoy!</p>";
                    var recievingbody = string.Format(bodyTemplate, recievingmember.FirstName);
                    var sendingbody   = string.Format(bodyTemplate, sendingmember.FirstName);
                    MessagSender.SendEmail(recievingmember.Email, "CraftX Acepted Trade Offer", recievingbody);
                    MessagSender.SendEmail(sendingmember.Email, "Acepted Trade Offer", sendingbody);
                }


                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            else
            {
                IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors);
                var error = string.Join("\n", allErrors.Select(e => e.ErrorMessage));
            }
            ViewBag.ReceiverBeerId    = new SelectList(db.Beers, "Id", "Style", trade.ReceiverBeerId);
            ViewBag.SendingBeerId     = new SelectList(db.Beers, "Id", "Style", trade.SendingBeerId);
            ViewBag.ReceivingMemberId = new SelectList(db.Cellars, "Id", "MemberId", trade.ReceivingMemberId);
            ViewBag.SendingMemberId   = new SelectList(db.Cellars, "Id", "MemberId", trade.SendingMemberId);
            return(View(trade));
        }