public ActionResult <Publication> GetPublications([FromQuery(Name = "key")] string key, [FromQuery(Name = "categories")] Categories[] categories, [FromQuery(Name = "address")] string address, [FromQuery(Name = "distance")] int?distancel) { PublicationDAO publicationDao = new PublicationDAO(_connection); List <Publication> resultPublication = publicationDao.GetPublications(key, categories, address, distancel); return(Ok(resultPublication)); }
public IActionResult deleteImage(int post, ImageName image) { //Implementar claim identity do user e levar o id em delete Image if (image == null) { return(BadRequest("Nome de imagem não enviado!")); } try { PublicationDAO pDAO = new PublicationDAO(_connection); bool deleted = pDAO.deleteImage(post, image); if (deleted == true) { return(Ok("Imagem apagada!")); } else { return(BadRequest("Imagem não apagada ou inexistente!")); } } catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task <IActionResult> Create(PuplicationCreate model) { int?uId = ClaimHelper.GetIdFromClaimIdentity((ClaimsIdentity)this.ControllerContext.HttpContext.User.Identity); if (uId == null) { return(Unauthorized(new ErrorExceptionModel("Sem Autorização ou sem sessão inciada"))); } if (model.ImagePath == null) { model.ImagePath = 0; } model.UtilizadorId = (int)uId; PublicationDAO publicationDao = new PublicationDAO(_connection); Publication resultPublication = publicationDao.Create(model); resultPublication.UtilizadorId = (int)uId; resultPublication.Tittle = model.Tittle; resultPublication.Tradable = model.Tradable; resultPublication.UserAddress = model.UserAddress; resultPublication.InstrumentCondition = model.InstrumentCondition; resultPublication.InitialPrice = model.InitialPrice; resultPublication.Category = model.Category; return(Ok(resultPublication)); }
public IActionResult deleteMainPicture(int publicationId, ImageName image) { try { int?id = ClaimHelper.GetIdFromClaimIdentity((ClaimsIdentity)this.ControllerContext.HttpContext.User.Identity); if (id == null) { return(Unauthorized(new ErrorExceptionModel("Sem Autorização ou sem sessão inciada"))); } PublicationDAO pDAO = new PublicationDAO(_connection); bool deleted = pDAO.deleteMainImage(publicationId, image); if (deleted == true) { return(Ok("Imagem apagada!")); } else { return(BadRequest("Imagem não apagada ou inexistente!")); } } catch (Exception e) { return(BadRequest(e.Message)); } }
public IActionResult UploadImagesToPost(int id, [FromForm] IFormFileCollection images, IFormFile mainImage) { try { int?uId = ClaimHelper.GetIdFromClaimIdentity((ClaimsIdentity)this.ControllerContext.HttpContext.User.Identity); if (uId == null) { return(Unauthorized(new ErrorExceptionModel("Sem Autorização ou sem sessão inciada"))); } PublicationDAO pDAO = new PublicationDAO(_connection); Publication p = pDAO.FindById(id); if (p.UtilizadorId != uId) { return(NotFound("Publicação não encontrada!")); } bool result = pDAO.UploadImagesToPost(id, images, mainImage); return(Ok(result)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public void CanUserUpdatePostTest() { UserDAO UserDAO = new UserDAO(_connection); User testUser = new User(); testUser.Email = "*****@*****.**"; testUser.Password = "******"; testUser.FirstName = "Samuel"; testUser.LastName = "Cunha"; testUser.Image = "ImageLocation"; Address adr = new Address(); adr.PostalCode = "4615-423"; adr.Street = "Rua de Real"; adr.StreetNumber = 55; adr.District = "Porto"; adr.Country = "Portugal"; testUser.Localization = adr.ToString(); //User 1 a utilizar User returnedUser = UserDAO.Create(testUser); Publication p = new Publication(); p.Tittle = "Concertina Recanati"; p.Description = "Como nova pouco uso"; p.Tradable = true; p.Category = Categories.Percusao; p.ImagePath = "Image/Path"; p.InitialPrice = 1900; p.InstrumentCondition = Condition.BomEstado; p.UtilizadorId = returnedUser.Id; Address adrP = new Address(); adrP.PostalCode = "4615-423"; adrP.Street = "Rua de Real"; adrP.StreetNumber = 55; adrP.District = "Porto"; adrP.Country = "Portugal"; p.UserAddress = adrP; PublicationDAO pDAO = new PublicationDAO(_connection); Publication returnedP = pDAO.Create(p); Publication afterCreate = pDAO.FindById(returnedP.Id); afterCreate.Description = " Uma nova descricao"; afterCreate.InitialPrice = 1500; Publication updatedPublication = new Publication(); // pDAO.Update(afterCreate); UserDAO.UpdatePublication(afterCreate); Publication afterUpdate = pDAO.FindById(afterCreate.Id); Assert.Equal(afterCreate.Description, afterUpdate.Description); Assert.Equal(afterCreate.InitialPrice, afterUpdate.InitialPrice); }
public void CanSearchPublication_UserId() { UserDAO userDAO = new UserDAO(_connection); User testUser1 = new User(); testUser1.Email = "*****@*****.**"; testUser1.Password = "******"; testUser1.FirstName = "Ema"; testUser1.LastName = "Coelho"; testUser1.Password = "******"; testUser1.Image = "ImageLocation"; Address adr = new Address(); adr.PostalCode = "4615-423"; adr.Street = "Rua de Real"; adr.StreetNumber = 55; adr.District = "Porto"; adr.Country = "Portugal"; testUser1.Localization = adr.ToString(); //User 1 a utilizar User returnedUser = userDAO.Create(testUser1); Publication p = new Publication(); p.Tittle = "Um Piana Novo Novo Novo"; p.Description = "muito muito muito muito muito novo com cordas"; p.Tradable = true; p.Category = Categories.Cordas; p.ImagePath = "Image/Path"; p.InitialPrice = 20; p.InstrumentCondition = Condition.BomEstado; p.UtilizadorId = returnedUser.Id; Address adrP = new Address(); adrP.PostalCode = "4615-423"; adrP.Street = "Rua de Real"; adrP.StreetNumber = 55; adrP.District = "Porto"; adrP.Country = "Portugal"; p.UserAddress = adrP; PublicationDAO pDAO = new PublicationDAO(_connection); Publication returnedP = pDAO.Create(p); List <Publication> searchResult = new List <Publication>(); Categories[] categories = { }; string adrN = "Rua Professor José Lalanda Ribeiro, 30, 2500-884, Leiria, Portugal"; searchResult = pDAO.GetPublications("Piana", categories, adrN, 5000); Assert.True(searchResult.Count > 0); }
public IActionResult getMainPicture(int id) { try { PublicationDAO pDAO = new PublicationDAO(_connection); ImageName image = pDAO.getMainImage(id); return(Ok(image)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IActionResult getPicturesNames(int id) { try { PublicationDAO pDAO = new PublicationDAO(_connection); List <ImageName> images = pDAO.getImages(id); return(Ok(images)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public void CanDeletePublication() { UserDAO userDAO = new UserDAO(_connection); User testUser1 = new User(); testUser1.Email = "*****@*****.**"; testUser1.Password = "******"; testUser1.FirstName = "Samuel"; testUser1.LastName = "Cunha"; testUser1.Password = "******"; testUser1.Image = "ImageLocation"; Address adr = new Address(); adr.PostalCode = "4615-423"; adr.Street = "Rua de Real"; adr.StreetNumber = 55; adr.District = "Porto"; adr.Country = "Portugal"; testUser1.Localization = adr.ToString(); //User 1 a utilizar User returnedUser = userDAO.Create(testUser1); Publication p = new Publication(); p.Tittle = "Um Piana Novo Novo Novo"; p.Description = "muito muito muito muito muito novo com cordas"; p.Tradable = true; p.Category = Categories.Cordas; p.ImagePath = "Image/Path"; p.InitialPrice = 20; p.InstrumentCondition = Condition.BomEstado; p.UtilizadorId = returnedUser.Id; Address adrP = new Address(); adrP.PostalCode = "4615-423"; adrP.Street = "Rua de Real"; adrP.StreetNumber = 55; adrP.District = "Porto"; adrP.Country = "Portugal"; p.UserAddress = adrP; PublicationDAO pDAO = new PublicationDAO(_connection); Publication returnedP = pDAO.Create(p); //bool deleted = pDAO.Delete(returnedP.Id); bool deleted = userDAO.DeletePublication(returnedP.Id); //Publication afterCreate = pDAO.FindById(returnedP.Id); Assert.True(deleted); }
public void CanUserRemoveFavoritePublicationsTest() { UserDAO UserDAO = new UserDAO(_connection); User testUser = new User(); testUser.Email = "*****@*****.**"; testUser.Password = "******"; testUser.FirstName = "Samuel"; testUser.LastName = "Cunha"; testUser.Image = "ImageLocation"; Address adr = new Address(); adr.PostalCode = "4615-423"; adr.Street = "Rua de Real"; adr.StreetNumber = 55; adr.District = "Porto"; adr.Country = "Portugal"; testUser.Localization = adr.ToString(); User returnedUser = UserDAO.Create(testUser); Publication p = new Publication(); p.Tittle = "Um Piana Novo Novo Novo"; p.Description = "muito muito muito muito muito novo com cordas"; p.Tradable = true; p.Category = Categories.Cordas; p.ImagePath = "Image/Path"; p.InitialPrice = 20; p.InstrumentCondition = Condition.BomEstado; p.UtilizadorId = returnedUser.Id; Address adrP = new Address(); adrP.PostalCode = "4615-423"; adrP.Street = "Rua de Real"; adrP.StreetNumber = 55; adrP.District = "Porto"; adrP.Country = "Portugal"; p.UserAddress = adrP; PublicationDAO pDAO = new PublicationDAO(_connection); Publication returnedP = pDAO.Create(p); pDAO.AddPublicationToFavorites(returnedUser.Id, returnedP.Id); bool deletedID = UserDAO.DeletePublicationFromFavorites(returnedUser.Id, returnedP.Id); Assert.True(deletedID); }
public void CanMateGetPendingJobsListTest() { UserDAO UserDAO = new UserDAO(_connection); User testUser = new User(); testUser.Email = "*****@*****.**"; testUser.Password = "******"; testUser.FirstName = "Samuel"; testUser.LastName = "Cunha"; testUser.Image = "ImageLocation"; Address adr = new Address(); adr.PostalCode = "4615-423"; adr.Street = "Rua de Real"; adr.StreetNumber = 55; adr.District = "Porto"; adr.Country = "Portugal"; testUser.Localization = adr.ToString(); User returnedUser = UserDAO.Create(testUser); Publication p = new Publication(); p.Tittle = "Um Piana Novo Novo Novo"; p.Description = "muito muito muito muito muito novo com cordas"; p.Tradable = true; p.Category = Categories.Cordas; p.ImagePath = "Image/Path"; p.InitialPrice = 20; p.InstrumentCondition = Condition.BomEstado; p.UtilizadorId = returnedUser.Id; Address adrP = new Address(); adrP.PostalCode = "4615-423"; adrP.Street = "Rua de Real"; adrP.StreetNumber = 55; adrP.District = "Porto"; adrP.Country = "Portugal"; p.UserAddress = adrP; PublicationDAO pDAO = new PublicationDAO(_connection); Publication returnedP = pDAO.Create(p); List <Publication> publications = UserDAO.GetPublications(returnedUser.Id).ToList(); Assert.Equal(returnedP.Tittle, publications.Find(a => a.Tittle == returnedP.Tittle).Tittle); _fixture.Dispose(); }
public IActionResult AddPublicationToFavorites(int pId) { try { int?uId = ClaimHelper.GetIdFromClaimIdentity((ClaimsIdentity)this.ControllerContext.HttpContext.User.Identity); if (uId == null) { return(Unauthorized(new ErrorExceptionModel("Sem Autorização ou sem sessão inciada"))); } PublicationDAO pDAO = new PublicationDAO(_connection); bool reult = pDAO.AddPublicationToFavorites((int)uId, pId); return(Ok(reult)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public UnitTest1() { _publicationDAO = new PublicationDAO(); }
public PublicationBO() { _publicationDao = new PublicationDAO(); _userBo = new UserBO(); _techieBo = new TechieBO(); }