public IActionResult CreateDataset([FromRoute] long userId, [FromBody] NewDataset dataset)
 {
     try
     {
         return(StatusCode(StatusCodes.Status201Created, datasetService.CreateDataset(userId, dataset)));
     }
     catch (AuthenticationException)
     {
         return(StatusCode(StatusCodes.Status401Unauthorized));
     }
     catch (ArgumentException)
     {
         return(StatusCode(StatusCodes.Status400BadRequest));
     }
 }
Ejemplo n.º 2
0
        public void UpdateDataset(long datasetId, long userId, NewDataset newDataset)
        {
            try
            {
                Dataset dataset = datasetDAO.Find(datasetId);
                if (dataset.UserId != userId)
                {
                    throw new AuthenticationException();
                }

                dataset.Title            = newDataset.Title.Trim();
                dataset.Public           = newDataset.Public;
                dataset.LastModification = DateTime.Now;
                datasetDAO.Update(dataset);

                IList <Image> newImages = new List <Image>();
                foreach (NewImage image in newDataset.Images)
                {
                    newImages.Add(new Image()
                    {
                        DatasetId = datasetId,
                        Name      = image.Name.Trim(),
                        Size      = image.File.Length,
                        File      = image.File
                    });
                }
                IList <Image> oldImages = imageDAO.FindByDatasetId(datasetId);

                foreach (Image image in oldImages.Except(newImages))
                {
                    imageDAO.Delete(image.DatasetId, image.Name);
                }
                foreach (Image image in newImages.Except(oldImages))
                {
                    imageDAO.Insert(image);
                }
            }
            catch (InstanceNotFoundException)
            {
                throw new NotFoundException(datasetId);
            }
        }
Ejemplo n.º 3
0
        public long CreateDataset(long userId, NewDataset newDataset)
        {
            if (userProfileDAO.Exists(userId))
            {
                try
                {
                    Dataset dataset = new()
                    {
                        UserId           = userId,
                        Title            = newDataset.Title.Trim(),
                        Public           = newDataset.Public,
                        LastModification = DateTime.Now
                    };
                    datasetDAO.Insert(dataset);

                    foreach (NewImage newImage in newDataset.Images)
                    {
                        imageDAO.Insert(new Image()
                        {
                            DatasetId = dataset.Id,
                            Name      = newImage.Name.Trim(),
                            Size      = newImage.File.Length,
                            File      = newImage.File
                        });
                    }

                    return(dataset.Id);
                }
                catch (SqlException e)
                {
                    throw new ArgumentException(e.Message);
                }
            }
            else
            {
                throw new AuthenticationException();
            }
        }
        public IActionResult UpdateDataset([FromRoute] long datasetId, [FromRoute] long userId, [FromBody] NewDataset dataset)
        {
            try
            {
                datasetService.UpdateDataset(datasetId, userId, dataset);

                return(StatusCode(StatusCodes.Status204NoContent));
            }
            catch (AuthenticationException)
            {
                return(StatusCode(StatusCodes.Status401Unauthorized));
            }
            catch (NotFoundException)
            {
                return(StatusCode(StatusCodes.Status404NotFound));
            }
        }