예제 #1
0
        public ActionResult MakeOffer(MakeOfferCommand command)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var handler = new MakeOfferCommandHandler(_context);

                    command.BuyerUserId = User.Identity.GetUserId();

                    if (!handler.Handle(command))
                    {
                        ModelState.AddModelError("", "You already placed an offer.");
                    }
                    else
                    {
                        return(RedirectToAction("Index"));
                    }
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", "Adding offer failed.");
            }
            var property = _context.Properties.Find(command.PropertyId);

            MakeOfferViewModel model = new MakeOfferViewModel
            {
                PropertyId   = property.Id,
                PropertyType = property.PropertyType,
                StreetName   = property.StreetName,
                Offer        = property.SuggestedAskingPrice
            };

            PropertiesViewModel m = new PropertiesViewModel
            {
                Search     = "",
                Properties = new System.Collections.Generic.List <PropertyViewModel>
                {
                    new PropertyViewModel
                    {
                        Id                   = property.Id,
                        PropertyType         = property.PropertyType,
                        StreetName           = property.StreetName,
                        Description          = property.Description,
                        NumberOfBedrooms     = property.NumberOfBedrooms,
                        IsListedForSale      = property.IsListedForSale,
                        SuggestedAskingPrice = property.SuggestedAskingPrice
                    }
                }
            };

            return(View("Index", m));
        }
예제 #2
0
        public ActionResult MakeOffer(int reference)
        {
            if (reference == 0)
            {
                return(RedirectToAction("Index", "Trades")); //Need to insert proper error message
            }
            MakeOfferViewModel makeOfferForm = tradeManager.CreateOfferList(reference);

            if (makeOfferForm == null)
            {
                return(RedirectToAction("Index", "Trades"));
            }
            return(View(makeOfferForm));
        }
예제 #3
0
        public MakeOfferViewModel CreateOfferList(int reference)
        {
            Item referenceItem = db.Item.Where(i => i.ItemId == reference).FirstOrDefault();

            if (referenceItem != null)
            {
                MakeOfferViewModel offerList = new MakeOfferViewModel();
                offerList.ReferenceId  = referenceItem.ItemId;
                offerList.Name         = referenceItem.Name;
                offerList.Caption      = referenceItem.Caption;
                offerList.Description  = referenceItem.Description;
                offerList.OfferOptions = GetItemList(reference);
                return(offerList);
            }
            return(null);
        }