コード例 #1
0
        public ActionResult <StreetArt> Delete(int id)
        {
            StreetArt streetArt = StreetArtRepository.GetById(id);

            if (streetArt == null)
            {
                return(NotFound());
            }
            StreetArtRepository.Delete(streetArt);

            string filename = streetArt.Image;

            try
            {
                // Check if file exists with its full path
                if (System.IO.File.Exists(Path.Combine(_env.WebRootPath + "/pics/", filename)))
                {
                    // If file found, delete it
                    System.IO.File.Delete(Path.Combine(_env.WebRootPath + "/pics/", filename));
                }
                if (System.IO.File.Exists(Path.Combine(_env.WebRootPath + "/pics/thumbs/", filename)))
                {
                    // If file found, delete it
                    System.IO.File.Delete(Path.Combine(_env.WebRootPath + "/pics/thumbs/", filename));
                }
            }
            catch (IOException ioExp)
            {
                Console.WriteLine(ioExp.Message);
            }
            return(Ok(streetArt));
        }
コード例 #2
0
        public void Create(StreetArt streetart)
        {
            using var connection = new MySqlConnection(Database.ConnectionString);
            {
                connection.Open();

                var commandText = "Createstreetart";
                using var command = new MySqlCommand
                      {
                          Connection  = connection,
                          CommandText = commandText,
                          CommandType = CommandType.StoredProcedure,
                      };
                {
                    command.Parameters.AddWithValue("@GpsLatitude", streetart.GpsLatitude);
                    command.Parameters.AddWithValue("@GpsLongitude", streetart.GpsLongitude);
                    command.Parameters.AddWithValue("@Title", streetart.Title);
                    command.Parameters.AddWithValue("@Street", streetart.Street);
                    command.Parameters.AddWithValue("@Timestamp", streetart.Timestamp);
                    command.Parameters.AddWithValue("@Image", streetart.Image);
                    command.Parameters.AddWithValue("@UserAccountId", streetart.UserAccountId);

                    var idParamater = new MySqlParameter
                    {
                        Direction     = ParameterDirection.Output,
                        ParameterName = "@id_",
                    };
                    command.Parameters.Add(idParamater);

                    command.Prepare();
                    command.ExecuteNonQuery();
                    streetart.Id = (int)idParamater.Value;
                }
            }
        }
コード例 #3
0
        public void Update(StreetArt streetart)
        {
            using var connection = new MySqlConnection(Database.ConnectionString);
            {
                connection.Open();

                var commandText = "UpdateStreetArt";
                using var command = new MySqlCommand
                      {
                          Connection  = connection,
                          CommandText = commandText,
                          CommandType = CommandType.StoredProcedure,
                      };

                {
                    command.Parameters.AddWithValue("@GpsLatitude", streetart.GpsLatitude);
                    command.Parameters.AddWithValue("@GpsLongitude", streetart.GpsLongitude);
                    command.Parameters.AddWithValue("@Title", streetart.Title);
                    command.Parameters.AddWithValue("@Street", streetart.Street);
                    command.Parameters.AddWithValue("@Timestamp", streetart.Timestamp);
                    command.Parameters.AddWithValue("@Image", streetart.Image);
                    command.Parameters.AddWithValue("@UserAccountId", streetart.UserAccountId);
                    command.Parameters.AddWithValue("@Id_", streetart.Id);

                    command.Prepare();
                    command.ExecuteNonQuery();
                }
            }
        }
コード例 #4
0
        public void TestCreateAndDelete()
        {
            var newStreetArt = new StreetArt
            {
                GpsLatitude   = 23.08769f,
                GpsLongitude  = 23.00000f,
                Title         = "Jim version",
                Timestamp     = DateTime.Now,
                Street        = "Evergreen Terrrace",
                Image         = "Image",
                UserAccountId = 2,
            };

            sut.Create(newStreetArt);

            var streetArt = sut.GetById(newStreetArt.Id);

            Assert.AreEqual(streetArt.GpsLatitude, newStreetArt.GpsLatitude);
            Assert.AreEqual(streetArt.GpsLongitude, newStreetArt.GpsLongitude);
            Assert.AreEqual(streetArt.Title, newStreetArt.Title);
            //Assert.AreEqual(streetArt.Image, newStreetArt.Image);
            Assert.AreEqual(streetArt.UserAccountId, streetArt.UserAccountId);
            Assert.AreEqual(streetArt.Id, streetArt.Id);


            sut.Delete(newStreetArt);
        }
コード例 #5
0
        public ActionResult <StreetArt> GetAction(int id)
        {
            StreetArt streetArt = StreetArtRepository.GetById(id);

            if (streetArt == null)
            {
                return(NotFound());
            }

            return(Ok(streetArt));
        }
コード例 #6
0
 public ActionResult Put(Int32 id, [FromBody] StreetArt streetArt)
 {
     if (id != streetArt.Id)
     {
         return(BadRequest());
     }
     try
     {
         StreetArtRepository.Update(streetArt);
     }
     catch (Exception)
     {
         return(BadRequest("Error while editing item"));
     }
     return(NoContent());
 }
コード例 #7
0
        public async System.Threading.Tasks.Task <ActionResult <StreetArt> > upload()
        {
            string id = Guid.NewGuid().ToString();

            try
            {
                var httpRequest = HttpContext.Request;
                if (httpRequest.Form.Files.Count > 0)
                {
                    foreach (string file in httpRequest.Form.Keys)
                    {
                        var       a   = httpRequest.Form[file];
                        StreetArt art = JsonConvert.DeserializeObject <StreetArt>(a);
                        art.Image = art.Image + "_" + id + ".png";

                        StreetArtRepository.Create(art);
                    }

                    foreach (IFormFile file in httpRequest.Form.Files)
                    {
                        var filename = file.FileName;
                        var filePath = _env.WebRootPath + "/pics/" + filename + "_" + id + ".png";

                        using (var fileStream = new FileStream(filePath, FileMode.Create))
                        {
                            await file.CopyToAsync(fileStream);
                        }
                        Image image = Image.FromFile(filePath);
                        Image thumb = image.GetThumbnailImage(60, 60, () => false, IntPtr.Zero);
                        thumb.Save(_env.WebRootPath + "/pics/thumbs/" + filename + "_" + id + ".png");
                    }
                }
            }
            catch (Exception exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }


            return(StatusCode(StatusCodes.Status201Created));

            //return CreatedAtAction(nameof(GetStreetArt), new { item.Id }, item);
        }
コード例 #8
0
        public void Delete(StreetArt streetart)
        {
            using var connection = new MySqlConnection(Database.ConnectionString);
            {
                connection.Open();

                var commandText = "DeleteStreetArt";
                using var command = new MySqlCommand
                      {
                          Connection  = connection,
                          CommandText = commandText,
                          CommandType = CommandType.StoredProcedure,
                      };
                {
                    command.Parameters.AddWithValue("@Id", streetart.Id);
                    command.Prepare();
                    command.ExecuteNonQuery();
                }
            }
        }
コード例 #9
0
 public ActionResult <StreetArt> Create([FromBody] StreetArt item)
 {
     StreetArtRepository.Create(item);
     return(CreatedAtAction(nameof(GetStreetArt), new { item.Id }, item));
 }