Beispiel #1
0
        public IActionResult Create(CreateListingViewModel model)
        {
            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            if (ModelState.IsValid)
            {
                var newListing = new Listing
                {
                    Name              = model.Name,
                    Description       = model.Description,
                    Price             = model.Price,
                    PricingTypeId     = model.PricingType,
                    ListingCategoryId = model.ListingCategory,
                    CityId            = model.City,
                    UserId            = userId,
                };
                _context.Add(newListing);
                _context.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }

            model.listingCategories = _context.ListingCategory.ToList();
            model.cities            = _context.Cities.ToList();
            model.pricingTypes      = _context.PricingTypes.ToList();
            return(View("Create", model));
        }
        [InlineData("Normal Length Title", "Normal Author, Second Author", "9780746062760", "9780201655555554", -4.99, Condition.Fair)] // Should fail cause ISBN13 not valid
        public async Task Create_InvalidListingDetail_Return400(string title, string authors, string isbn10, string isbn13, decimal price,
                                                                Condition condition)
        {
            string url    = "/api/listings/";
            var    client = _factory.CreateClient();

            await client.PostAsJsonAsync <LoginViewModel>("/api/users/", new LoginViewModel()
            {
                Email    = "*****@*****.**",
                Password = "******"
            });

            var newListing = new CreateListingViewModel()
            {
                Authors   = authors,
                Title     = title,
                ISBN10    = isbn10,
                ISBN13    = isbn13,
                Price     = price,
                Condition = condition
            };
            var response = await client.PostAsJsonAsync <CreateListingViewModel>(url, newListing);

            var errorMessage = await response.Content.ReadAsAsync <ValidationResultModel>();

            Assert.Equal(HttpStatusCode.UnprocessableEntity, response.StatusCode);
            Assert.NotNull(errorMessage);
        }
Beispiel #3
0
 public IActionResult CreateListing(CreateListingViewModel model)
 {
     if (ModelState.IsValid)
     {
         var message = listingRepo.CreateListing(model);
         return(RedirectToAction(nameof(Listings)));
     }
     return(View());
 }
Beispiel #4
0
        public IActionResult CreateListing()
        {
            CreateListingViewModel model = new CreateListingViewModel
            {
                Realtors = realtorRepo.GetRealtors()
            };

            return(View(model));
        }
Beispiel #5
0
        public IActionResult Create()
        {
            CreateListingViewModel model = new CreateListingViewModel();

            model.listingCategories = _context.ListingCategory.ToList();
            model.cities            = _context.Cities.ToList();
            model.pricingTypes      = _context.PricingTypes.ToList();


            return(View(model));
        }
Beispiel #6
0
        public string CreateListing(CreateListingViewModel model)
        {
            var uniqueFileName  = UploadedFile(model.PhotoMain);
            var uniqueFileName1 = UploadedFile(model.Photo1);
            var uniqueFileName2 = UploadedFile(model.Photo2);
            var uniqueFileName3 = UploadedFile(model.Photo3);
            var uniqueFileName4 = UploadedFile(model.Photo4);
            var uniqueFileName5 = UploadedFile(model.Photo5);
            var uniqueFileName6 = UploadedFile(model.Photo6);

            using (SqlConnection con = new SqlConnection(_connectionString))
            {
                SqlCommand cmd = new SqlCommand("sp_AddListing", con);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.AddWithValue("@Title", model.Title);
                cmd.Parameters.AddWithValue("@Address", model.Address);
                cmd.Parameters.AddWithValue("@City", model.City);
                cmd.Parameters.AddWithValue("@State", model.State);
                cmd.Parameters.AddWithValue("@ZipCode", model.ZipCode);
                cmd.Parameters.AddWithValue("@Description", model.Description);
                cmd.Parameters.AddWithValue("@Price", model.Price);
                cmd.Parameters.AddWithValue("@Bedrooms", model.Bedrooms);
                cmd.Parameters.AddWithValue("@Bathrooms", model.Bathrooms);
                cmd.Parameters.AddWithValue("@Garage", model.Garage);
                cmd.Parameters.AddWithValue("@Sqft", model.Sqft);
                cmd.Parameters.AddWithValue("@LotSize", model.LotSize);
                cmd.Parameters.AddWithValue("@PhotoMain", uniqueFileName);
                cmd.Parameters.AddWithValue("@Photo1", uniqueFileName1);
                cmd.Parameters.AddWithValue("@Photo2", uniqueFileName2);
                cmd.Parameters.AddWithValue("@Photo3", uniqueFileName3);
                cmd.Parameters.AddWithValue("@Photo4", uniqueFileName4);
                cmd.Parameters.AddWithValue("@Photo5", uniqueFileName5);
                cmd.Parameters.AddWithValue("@Photo6", uniqueFileName6);
                cmd.Parameters.AddWithValue("@IsPublished", model.IsPublished);
                cmd.Parameters.AddWithValue("@RealtorId", model.RealtorId);
                cmd.Parameters.AddWithValue("@ListDate", DateTime.Now);

                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }
            return("Successfully Created");
        }
        public async Task <string> CreateListing(CreateListingViewModel model)
        {
            var uniqueFileName  = UploadedFile(model.PhotoMain);
            var uniqueFileName1 = UploadedFile(model.Photo1);
            var uniqueFileName2 = UploadedFile(model.Photo2);
            var uniqueFileName3 = UploadedFile(model.Photo3);
            var uniqueFileName4 = UploadedFile(model.Photo4);
            var uniqueFileName5 = UploadedFile(model.Photo5);
            var uniqueFileName6 = UploadedFile(model.Photo6);

            Listing listing = new Listing
            {
                Title       = model.Title,
                Address     = model.Address,
                City        = model.City,
                State       = model.State,
                ZipCode     = model.ZipCode,
                Description = model.Description,
                Price       = model.Price,
                Bedrooms    = model.Bedrooms,
                Bathrooms   = model.Bathrooms,
                Garage      = model.Garage,
                Sqft        = model.Sqft,
                LotSize     = model.LotSize,
                PhotoMain   = uniqueFileName,
                Photo1      = uniqueFileName1,
                Photo2      = uniqueFileName2,
                Photo3      = uniqueFileName3,
                Photo4      = uniqueFileName4,
                Photo5      = uniqueFileName5,
                Photo6      = uniqueFileName6,
                IsPublished = model.IsPublished,
                RealtorId   = model.RealtorId
            };

            await _context.Listings.AddAsync(listing);

            await _context.SaveChangesAsync();

            return("Successfully Created");
        }
        public async Task <IActionResult> Create([FromBody] CreateListingViewModel createListingViewModel)
        {
            var book    = _mapper.Map <Book>(createListingViewModel);
            var listing = _mapper.Map <Listing>(createListingViewModel);

            if (!await _iBookRepo.Exist(x => x.ISBN10 == book.ISBN10))
            {
                await _iBookRepo.Create(book);
            }
            else
            {
                book = await _iBookRepo.Find(x => x.ISBN10 == book.ISBN10);
            }

            listing.BookId = book.Id;
            var user = await _userManager.GetUserAsync(User);

            listing.UserId = user.Id;
            await _iListingRepo.Create(listing);

            return(Created("GetListing", new { id = listing.Id }));
        }