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); }
public IActionResult CreateListing(CreateListingViewModel model) { if (ModelState.IsValid) { var message = listingRepo.CreateListing(model); return(RedirectToAction(nameof(Listings))); } return(View()); }
public IActionResult CreateListing() { CreateListingViewModel model = new CreateListingViewModel { Realtors = realtorRepo.GetRealtors() }; return(View(model)); }
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)); }
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 })); }