예제 #1
0
        public void EditAuction(Auction auction, string orderId)
        {
            AuctionValidator validator = AuctionValidator.CreateValidator(auction, true);

            validator.Validate();
            repository.EditAuction(auction, orderId);
        }
예제 #2
0
        public void NewAuction(Auction auction, string orderId)
        {
            AuctionValidator validator = AuctionValidator.CreateValidator(auction, false);

            validator.Validate();
            repository.NewAuction(auction, orderId);
        }
예제 #3
0
 public IActionResult Create(AuctionValidator model)
 {
     if (IsNotLogged())
     {
         return(RedirectToAction("Index"));
     }
     if (ModelState.IsValid)
     {
         if (model.end_date <= DateTime.Today)
         {
             ModelState.AddModelError("end_date", "End date must be in the future.");
         }
         if (Double.Parse(model.starting_bid) < 1.00)
         {
             ModelState.AddModelError("starting_bid", "Starting bid must be at least $1.");
         }
         if (ModelState.IsValid)
         {
             Auction newAuction = new Auction
             {
                 product     = model.product,
                 description = model.description,
                 end_date    = model.end_date,
                 top_bid     = decimal.Parse(model.starting_bid),
                 creator_id  = (int)HttpContext.Session.GetInt32("id"),
             };
             _context.Add(newAuction);
             _context.SaveChanges();
             return(RedirectToAction("Main"));
         }
     }
     return(View("NewAuction"));
 }
예제 #4
0
        private void ValidateAuction(Auction auction)
        {
            AuctionValidator validator = new AuctionValidator();
            ValidationResult results   = validator.Validate(auction);

            bool success = results.IsValid;
            IList <ValidationFailure> failures = results.Errors;

            validator.ValidateAndThrow(auction);

            if (results.IsValid == false)
            {
                foreach (ValidationFailure failure in results.Errors)
                {
                    throw new WebApiException(HttpStatusCode.BadRequest, failure.ErrorMessage);
                }
            }
        }
예제 #5
0
 public IActionResult ProcessNewAuction(AuctionValidator IncomingAuction)
 {
     if (ModelState.IsValid)
     {
         Product NewProduct = new Product
         {
             ProductName = IncomingAuction.ProductName,
             ProductDesc = IncomingAuction.ProductDesc,
             CurrentBid  = IncomingAuction.CurrentBid,
             EndDate     = IncomingAuction.EndDate,
             SellerId    = HttpContext.Session.GetInt32("ActiveUserId").GetValueOrDefault(),
         };
         _context.Add(NewProduct);
         _context.SaveChanges();
         return(RedirectToAction("CurrentAuctions"));
     }
     else
     {
         return(View("NewAuction"));
     }
 }