Beispiel #1
0
        // Add MyCart Command //

        public MyCart AddMyCart(CreateMyCartRequest createRequest)
        {
            createRequest.Loose = System.Convert.ToDecimal(createRequest.Loose);
            using (var db = new SqlConnection(ConnectionString))
            {
                var newMyCart = db.QueryFirstOrDefault <MyCart>(@"
                    Insert into myCarts (userId, cartsId, ImageUrl, name, genre, releaseDate, loose, productId)
                    Output inserted.*
                    Values(@userId, @cartsId, @imageUrl, @name, @genre, @releaseDate, @loose, @productId)",
                                                                new
                {
                    createRequest.UserId,
                    createRequest.CartsId,
                    createRequest.ImageUrl,
                    createRequest.Name,
                    createRequest.Genre,
                    createRequest.ReleaseDate,
                    createRequest.Loose,
                    createRequest.ProductId,
                });

                if (newMyCart != null)
                {
                    return(newMyCart);
                }
            }

            throw new Exception("Sorry. No NESVault Cart Was Created.");
        }
 public bool Validate(CreateMyCartRequest requestToValidate)
 {
     return(!(string.IsNullOrEmpty(requestToValidate.Name) ||
              string.IsNullOrEmpty(requestToValidate.Genre) ||
              string.IsNullOrEmpty(requestToValidate.ReleaseDate.ToString()) ||
              string.IsNullOrEmpty(requestToValidate.Loose.ToString())
              ));
 }
        public ActionResult AddMyCart(CreateMyCartRequest createRequest)
        {
            if (!_validator.Validate(createRequest))
            {
                return(BadRequest(new { error = "NESVault Requests You Fill All Necessary Fields." }));
            }

            var newMyCart = _myCartRepository.AddMyCart(createRequest);

            return(Created($"api/mycart/{newMyCart.Id}", newMyCart));
        }