예제 #1
0
 public ActionResult <IEnumerable <CommentPost> > Get()
 {
     using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
     {
         return(_context.CommentPosts.ToList());
     }
 }
예제 #2
0
 public ActionResult <User> Get([FromBody] User username)
 {
     using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
     {
         return(_context.Users.FirstOrDefault(a => a.username == username.username && a.password == username.password));
     }
 }
예제 #3
0
        public ActionResult <ResponseMessage> Delete([FromBody] CommentPost value)
        {
            ResponseMessage response = new ResponseMessage();

            using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
            {
                int result = 0;


                if (_context.CommentPosts.Any(a => a.id == value.id))
                {
                    response.message = "CommentPost is exist";
                    _context.CommentPosts.Remove(value);
                    try
                    {
                        result = _context.SaveChanges();
                        if (result == 1)
                        {
                            response.message = "Success";
                        }
                    }
                    catch
                    {
                        response.message = "Error";
                    }
                }
                else
                {
                    response.message = "CommentPost not found";
                }
            }
            return(response);
        }
예제 #4
0
 public ActionResult <IEnumerable <User> > Get()
 {
     using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
     {
         return(_context.Users.ToList());
     }
 }
예제 #5
0
 public ActionResult <IEnumerable <Image> > Post([FromBody] List <int> ImageIds)
 {
     using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
     {
         var query2 = _context.Images.Where(
             BuildContainsExpression <Image, int>(e => e.id, ImageIds));
         return(query2.ToList());
     }
 }
예제 #6
0
        public ActionResult <ResponseMessage> Post([FromBody] CommentPost value)
        {
            using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
            {
                ResponseMessage response = new ResponseMessage();
                try
                {
                    int result = 0;
                    if (value.description.Length < 2)
                    {
                        response.message = "Descripton lenght is not less than 2";
                    }
                    else
                    {
                        value.createdAt = DateTime.Now;
                        try
                        {
                            int maxid = 0;
                            if (_context.CommentPosts.Count() > 0)
                            {
                                maxid = _context.CommentPosts.OrderByDescending(a => a.id).FirstOrDefault().id;
                            }
                            value.id = maxid + 1;
                        }
                        catch (Exception e)
                        {
                            response.message = e.Message;
                        }
                        _context.CommentPosts.Add(value);
                        try
                        {
                            result = _context.SaveChanges();
                        }
                        catch (Exception e)
                        {
                            response.message += e.InnerException.Message;
                        }

                        if (result == 1)
                        {
                            response.message = "Success";
                        }
                        else
                        {
                            response.message = "Fail";
                        }
                    }
                }
                catch (Exception e)
                {
                    response.message = "Fail" + Environment.NewLine + e.Message;
                }
                return(response);
            }
        }
예제 #7
0
        public ActionResult <Image> Post([FromBody] int Id)
        {
            using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
            {
                try
                {
                    return(_context.Images.FirstOrDefault(a => a.id == Id));
                }
                catch (Exception e)
                {
                    Image error = new Image();
                    error.path = e.InnerException.Message;

                    return(error);
                }
            }
        }
예제 #8
0
        public ActionResult <ResponseMessage> Put([FromBody] User value)
        {
            ResponseMessage response = new ResponseMessage();

            using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
            {
                int result = 0;


                if (_context.Users.Any(a => a.username == value.username))
                {
                    response.message = "Username is exist";
                    var oldUser = _context.Users.SingleOrDefault(x => x.username == value.username);
                    oldUser.username      = value.username;
                    oldUser.badge         = value.badge;
                    oldUser.eMailAddress  = value.eMailAddress;
                    oldUser.firebaseToken = value.firebaseToken;
                    oldUser.followers     = value.followers;
                    oldUser.following     = value.following;
                    oldUser.id            = value.id;
                    oldUser.mobileId      = value.mobileId;
                    oldUser.password      = value.password;
                    oldUser.petCoin       = value.petCoin;
                    oldUser.postIds       = value.postIds;
                    oldUser.profilePhoto  = value.profilePhoto;

                    try
                    {
                        result = _context.SaveChanges();
                        if (result == 1)
                        {
                            response.message = "Success";
                        }
                    }
                    catch (Exception e)
                    {
                        response.message = "Error" + e.Message;
                    }
                }
                else
                {
                    response.message = "User not found";
                }
            }
            return(response);
        }
예제 #9
0
 public ActionResult <List <CommentPost> > Post([FromBody] User user)
 {
     using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
     {
         try
         {
             return(_context.CommentPosts.Where(a => a.creatorUsername == user.username).ToList());
         }
         catch (Exception e)
         {
             List <CommentPost> errorList = new List <CommentPost>();
             CommentPost        d         = new CommentPost();
             d.description = e.InnerException.Message;
             errorList.Add(d);
             return(errorList);
         }
     }
 }
예제 #10
0
        public ActionResult <ResponseMessage> Delete([FromBody] int id)
        {
            ResponseMessage response = new ResponseMessage();

            using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
            {
                int result = 0;


                if (_context.Images.Any(a => a.id == id))
                {
                    response.message = "Image is exist";
                    string path = _context.Images.First(a => a.id == id).path;
                    _context.Images.Remove(_context.Images.First(a => a.id == id));
                    try
                    {
                        result = _context.SaveChanges();
                        if (result == 1)
                        {
                            response.message = "Success";
                            if (System.IO.File.Exists(Directory.GetCurrentDirectory() + path))
                            {
                                System.IO.File.Delete(Directory.GetCurrentDirectory() + path);
                            }
                        }
                        else
                        {
                            response.message = "Delete Error";
                        }
                    }
                    catch
                    {
                        response.message = "Error";
                    }
                }
                else
                {
                    response.message = "Image not found by id";
                }
            }
            return(response);
        }
예제 #11
0
        public ActionResult <ResponseMessage> Put([FromBody] CommentPost value)
        {
            ResponseMessage response = new ResponseMessage();

            using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
            {
                int result = 0;


                if (_context.CommentPosts.Any(a => a.id == value.id))
                {
                    response.message = "CommentPost is found";
                    _context.CommentPosts.Remove(_context.CommentPosts.Where(a => a.id == value.id).FirstOrDefault());
                    _context.CommentPosts.Add(value);
                    try
                    {
                        result = _context.SaveChanges();
                        if (result == 1)
                        {
                            response.message = "Success";
                        }
                        else
                        {
                            response.message = "Fail";
                        }
                    }
                    catch (Exception e)
                    {
                        response.message = "Error" + Environment.NewLine + e.InnerException.Message;
                    }
                }
                else
                {
                    response.message = "CommentPost not found";
                }
            }
            return(response);
        }
예제 #12
0
        public ActionResult <ResponseMessage> Post([FromBody] CampaignPost value)
        {
            using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
            {
                ResponseMessage response = new ResponseMessage();
                try
                {
                    int result = 0;
                    //username ,mail address and mobileId exist control
                    if (value.photos.Length < 1)
                    {
                        response.message = "Add at least 1 photo";
                    }
                    else
                    {
                        if (value.description.Length < 100)
                        {
                            response.message = "Descripton lenght is not less than 100";
                        }
                        else
                        {
                            if (value.location.Length < 1)
                            {
                                response.message = "Location must be requirement";
                            }
                            else
                            {
                                value.createdAt = DateTime.Now;
                                try
                                {
                                    int maxid = 0;
                                    if (_context.CampaignPosts.Count() > 0)
                                    {
                                        maxid = _context.CampaignPosts.OrderByDescending(a => a.id).FirstOrDefault().id;
                                    }

                                    value.id = maxid + 1;
                                }
                                catch (Exception e)
                                {
                                    response.message = e.Message;
                                }
                                _context.CampaignPosts.Add(value);
                                try
                                {
                                    result = _context.SaveChanges();
                                }
                                catch (Exception e)
                                {
                                    response.message = e.Message;
                                }

                                if (result == 1)
                                {
                                    response.message = "Success";
                                }
                                else
                                {
                                    response.message = "Fail";
                                }
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    response.message = "Fail" + Environment.NewLine + e.Message + Environment.NewLine + value.photos;
                }
                return(response);
            }
        }
예제 #13
0
        public async Task <string> Post(IFormFile image)
        {
            string f      = Directory.GetCurrentDirectory();
            string path   = "/uploads/img/" + string.Format(@"{0}.webp", DateTime.Now.Ticks);
            int    result = 0;
            string response;
            Image  responseImage = new Image();

            try
            {
                using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
                {
                    int maxid = 0;
                    if (_context.Images.Count() > 0)
                    {
                        maxid = _context.Images.OrderByDescending(a => a.id).FirstOrDefault().id;
                    }

                    responseImage.id = maxid + 1;
                    if (image == null || image.Length == 0)
                    {
                        response = BadRequest().StatusCode.ToString() + "," + "Add at least 1 photo";
                    }
                    else
                    {
                        var resizedImgStream = new MemoryStream();

                        using (var memoryStream = new MemoryStream())
                        {
                            await image.CopyToAsync(memoryStream);

                            responseImage.sha = GetHashSha256(memoryStream);
                            if (_context.Images.Any(a => a.sha == responseImage.sha))
                            {
                                responseImage = _context.Images.First(a => a.sha == responseImage.sha);
                                response      = responseImage.path;
                            }
                            else
                            {
                                IResampler sampler = KnownResamplers.Lanczos3;
                                memoryStream.Position = 0;
                                SixLabors.ImageSharp.Image img = SixLabors.ImageSharp.Image.Load(memoryStream);

                                // TODO: ResizeImage(img, 100, 100);
                                if (img.Width * img.Height > 2073600)
                                {
                                    if (img.Width == img.Height)
                                    {
                                        img.Mutate(x => x.Resize(1080, 1080, sampler));
                                    }
                                    else
                                    {
                                        if (img.Width > img.Height)
                                        {
                                            //16:9 case else 4:3 case
                                            if ((img.Width / img.Height) > 1.34)
                                            {
                                                img.Mutate(x => x.Resize(1920, 1080, sampler));
                                            }
                                            else
                                            {
                                                img.Mutate(x => x.Resize(1280, 960, sampler));
                                            }
                                        }
                                        else
                                        {
                                            //16:9 case else 4:3 case
                                            if ((img.Width / img.Height) > 1.34)
                                            {
                                                img.Mutate(x => x.Resize(1080, 1920, sampler));
                                            }
                                            else
                                            {
                                                img.Mutate(x => x.Resize(960, 1280, sampler));
                                            }
                                        }
                                    }

                                    img.Save(resizedImgStream, new BmpEncoder());
                                    using (var webPImage = new ImageFactory(preserveExifData: false))
                                    {
                                        resizedImgStream.Position = 0;
                                        webPImage.Load(resizedImgStream)
                                        .Format(new WebPFormat())
                                        .Quality(90)
                                        .Save(Directory.GetCurrentDirectory() + path);
                                    }
                                    response = path;
                                }
                                else
                                {
                                    using (var webPImage = new ImageFactory(preserveExifData: false))
                                    {
                                        memoryStream.Position = 0;
                                        webPImage.Load(memoryStream)
                                        .Format(new WebPFormat())
                                        .Quality(90)
                                        .Save(Directory.GetCurrentDirectory() + path);
                                    }
                                    response = path;
                                }

                                responseImage.path = path;
                                _context.Images.Add(responseImage);
                                try
                                {
                                    result = _context.SaveChanges();
                                }
                                catch (Exception e)
                                {
                                    response = e.Message;
                                }
                            }
                        };
                    }
                }
            }
            catch (Exception e)
            {
                response = "Fail" + Environment.NewLine + e.Message;
            }

            return(response);
        }
예제 #14
0
        public ActionResult <ResponseMessage> Post([FromBody] User value)
        {
            using (AnimalProjectDbContext _context = new AnimalProjectDbContext())
            {
                ResponseMessage response = new ResponseMessage();
                int             result   = 0;
                //username ,mail address and mobileId exist control
                if (value.username == null)
                {
                    response.message = "Username is not able to null";
                }
                else
                {
                    if (value.eMailAddress == null)
                    {
                        response.message = "E-mail Address is not able to null";
                    }
                    else
                    {
                        if (value.password.Length < 4)
                        {
                            response.message = "Password Lenght is not less than 4";
                        }
                        else
                        {
                            if (_context.Users.Any(a => a.username == value.username))
                            {
                                response.message = "Username is exist";
                            }
                            else
                            {
                                if (_context.Users.Any(a => a.eMailAddress == value.eMailAddress))
                                {
                                    response.message = "Email address is exist";
                                }
                                else
                                {
                                    if (_context.Users.Any(a => a.mobileId == value.mobileId))
                                    {
                                        response.message = "MobileId is exist";
                                    }
                                    else
                                    {
                                        try
                                        {
                                            int maxid = _context.Users.OrderByDescending(a => a.id).FirstOrDefault().id;
                                            value.id = maxid + 1;
                                        }
                                        catch (Exception e)
                                        {
                                            response.message = e.Message;
                                        }
                                        _context.Users.Add(value);
                                        try
                                        {
                                            result = _context.SaveChanges();
                                        }
                                        catch (Exception e)
                                        {
                                            response.message = e.Message;
                                        }

                                        if (result == 1)
                                        {
                                            response.message = "Success";
                                        }
                                        else
                                        {
                                            response.message = "Fail";
                                        }
                                    }
                                }
                            }
                        }
                    }
                }



                return(response);
            }
        }