public async Task <IHttpActionResult> DeleteCompanionAnimal(int id)
        {
            // 삭제 권한 처리 필요

            PetterResultType <CompanionAnimal> petterResultType = new PetterResultType <CompanionAnimal>();
            List <CompanionAnimal>             companionAnimals = new List <CompanionAnimal>();
            CompanionAnimal companionAnimal = await db.CompanionAnimals.FindAsync(id);

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

            companionAnimal.StateFlag       = StateFlags.Delete;
            companionAnimal.DateDeleted     = DateTime.Now;
            db.Entry(companionAnimal).State = EntityState.Modified;

            await db.SaveChangesAsync();

            companionAnimals.Add(companionAnimal);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = companionAnimals;

            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> GetCompanionAnimals([FromUri] CompanionAnimal companionAnimal)
        {
            PetterResultType <CompanionAnimal> petterResultType = new PetterResultType <CompanionAnimal>();
            var list = await db.CompanionAnimals.Where(p => p.MemberID == companionAnimal.MemberID).ToListAsync();

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

            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = list;
            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> PutCompanionAnimal(int id)
        {
            PetterResultType <CompanionAnimal> petterResultType = new PetterResultType <CompanionAnimal>();
            List <CompanionAnimal>             companionAnimals = new List <CompanionAnimal>();

            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }

            CompanionAnimal companionAnimal = await db.CompanionAnimals.FindAsync(id);

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

            if (Request.Content.IsMimeMultipartContent())
            {
                string folder = HostingEnvironment.MapPath(UploadPath.CompanionAnimalPath);
                Utilities.CreateDirectory(folder);

                var provider = await Request.Content.ReadAsMultipartAsync();

                foreach (var content in provider.Contents)
                {
                    string fieldName = content.Headers.ContentDisposition.Name.Trim('"');
                    if (!string.IsNullOrEmpty(content.Headers.ContentDisposition.FileName))
                    {
                        var file = await content.ReadAsByteArrayAsync();

                        string oldFileName = HttpUtility.UrlDecode(content.Headers.ContentDisposition.FileName.Trim('"'));
                        string fileName    = Utilities.additionFileName(oldFileName);

                        if (!FileExtension.CompanionAnimalExtensions.Any(x => x.Equals(Path.GetExtension(fileName.ToLower()), StringComparison.OrdinalIgnoreCase)))
                        {
                            petterResultType.IsSuccessful = false;
                            petterResultType.JsonDataSet  = null;
                            petterResultType.ErrorMessage = ResultErrorMessage.FileTypeError;
                            return(Ok(petterResultType));
                        }

                        string fullPath = Path.Combine(folder, fileName);
                        File.WriteAllBytes(fullPath, file);
                        string thumbnamil = Path.GetFileNameWithoutExtension(fileName) + "_thumbnail" + Path.GetExtension(fileName);

                        Utilities.ResizeImage(fullPath, thumbnamil, FileSize.StoreWidth, FileSize.StoreHeight, ImageFormat.Png);
                        companionAnimal.FileName = fileName;
                        companionAnimal.FilePath = UploadPath.CompanionAnimalPath.Replace("~", "");
                    }
                    else
                    {
                        string str = await content.ReadAsStringAsync();

                        string item = HttpUtility.UrlDecode(str);

                        #region switch case
                        switch (fieldName)
                        {
                        //case "CompanionAnimalNo":
                        //    companionAnimal.CompanionAnimalNo = int.Parse(item);
                        //    break;
                        //case "MemberID":
                        //    companionAnimal.MemberID = item;
                        //    break;
                        case "CodeID":
                            companionAnimal.CodeID = item;
                            break;

                        case "Name":
                            companionAnimal.Name = item;
                            break;

                        case "Age":
                            companionAnimal.Age = byte.Parse(item);
                            break;

                        case "Weight":
                            companionAnimal.Weight = byte.Parse(item);
                            break;

                        case "Gender":
                            companionAnimal.Gender = item;
                            break;

                        case "Neutralization":
                            companionAnimal.Neutralization = item;
                            break;

                        case "Marking":
                            companionAnimal.Marking = item;
                            break;

                        case "Medication":
                            companionAnimal.Medication = item;
                            break;

                        case "Feature":
                            companionAnimal.Feature = item;
                            break;

                        default:
                            break;
                        }
                        #endregion switch case
                    }
                }

                companionAnimal.StateFlag       = StateFlags.Use;
                companionAnimal.DateModified    = DateTime.Now;
                db.Entry(companionAnimal).State = EntityState.Modified;
                try
                {
                    await db.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    throw;
                }

                companionAnimals.Add(companionAnimal);
                petterResultType.AffectedRow  = companionAnimals.Count();
                petterResultType.IsSuccessful = true;
                petterResultType.JsonDataSet  = companionAnimals;
            }
            else
            {
                petterResultType.IsSuccessful = false;
                petterResultType.JsonDataSet  = null;
            }

            return(Ok(petterResultType));
        }