Пример #1
0
        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));
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
            }
        }
Пример #5
0
        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);
        }
Пример #8
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));
     }
 }
Пример #9
0
 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));
     }
 }
Пример #10
0
        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);
        }
Пример #12
0
        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();
        }
Пример #13
0
        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));
            }
        }
Пример #14
0
 public UnitTest1()
 {
     _publicationDAO = new PublicationDAO();
 }
Пример #15
0
 public PublicationBO()
 {
     _publicationDao = new PublicationDAO();
     _userBo         = new UserBO();
     _techieBo       = new TechieBO();
 }