public async Task <IHttpActionResult> GetNotice(int id)
        {
            PetterResultType <NoticeDTO> petterResultType = new PetterResultType <NoticeDTO>();
            List <NoticeDTO>             notices          = new List <NoticeDTO>();

            //var notice = await db.Notices.FindAsync(id);

            var notice = await db.Notices.Where(p => p.NoticeNo == id).Select(p => new NoticeDTO
            {
                NoticeNo      = p.NoticeNo,
                MemberNo      = p.MemberNo,
                Title         = p.Title,
                Content       = p.Content,
                StateFlag     = p.StateFlag,
                DateCreated   = p.DateCreated,
                DateModified  = p.DateModified,
                DateDeleted   = p.DateDeleted,
                NoticeFiles   = p.NoticeFiles.ToList(),
                NoticeReplies = p.NoticeReplies.ToList()
            }).SingleOrDefaultAsync();


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

            notices.Add(notice);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = notices;

            return(Ok(petterResultType));
        }
        public async Task<IHttpActionResult> GetCommonCodes([FromUri] PetterRequestType petterRequestType)
        {
            PetterResultType<CommonCode> petterResultType = new PetterResultType<CommonCode>();
            List<CommonCode> list = new List<CommonCode>();

            var commonCode = db.CommonCodes.AsEnumerable();

            // 검색 조건 
            if (!String.IsNullOrEmpty(petterRequestType.Search))
            {
                commonCode = commonCode.Where(p => p.ParentCodeID != null && p.ParentCodeID.Contains(petterRequestType.Search));
            }

            #region 정렬 방식
            switch (petterRequestType.SortBy)
            {
                // 기본
                default:
                    {
                        list = commonCode
                            .OrderBy(p => p.OrderNo)
                            .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                            .Take(petterRequestType.ItemsPerPage).ToList();
                        break;
                    }
            }
            #endregion 정렬방식

            petterResultType.IsSuccessful = true;
            petterResultType.AffectedRow = list.Count();
            petterResultType.JsonDataSet = list.ToList();
            return Ok(petterResultType);
        }
        public async Task <IHttpActionResult> GetCommonCodes([FromUri] PetterRequestType petterRequestType)
        {
            PetterResultType <CommonCode> petterResultType = new PetterResultType <CommonCode>();
            List <CommonCode>             list             = new List <CommonCode>();

            var commonCode = db.CommonCodes.AsEnumerable();

            // 검색 조건
            if (!String.IsNullOrEmpty(petterRequestType.Search))
            {
                commonCode = commonCode.Where(p => p.ParentCodeID != null && p.ParentCodeID.Contains(petterRequestType.Search));
            }

            #region 정렬 방식
            switch (petterRequestType.SortBy)
            {
            // 기본
            default:
            {
                list = commonCode
                       .OrderBy(p => p.OrderNo)
                       .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                       .Take(petterRequestType.ItemsPerPage).ToList();
                break;
            }
            }
            #endregion 정렬방식

            petterResultType.IsSuccessful = true;
            petterResultType.AffectedRow  = list.Count();
            petterResultType.JsonDataSet  = list.ToList();
            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> DeletestoreReview(int id)
        {
            //인증 필요

            PetterResultType <StoreReview> petterResultType = new PetterResultType <StoreReview>();
            List <StoreReview>             storeReviews     = new List <StoreReview>();
            StoreReview storeReview = await db.StoreReviews.FindAsync(id);

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

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

            await db.SaveChangesAsync();

            storeReviews.Add(storeReview);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = storeReviews;

            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> DeleteEventBoard(int id)
        {
            // 인증 필요

            PetterResultType <EventBoard> petterResultType = new PetterResultType <EventBoard>();
            List <EventBoard>             eventBoards      = new List <EventBoard>();
            EventBoard eventBoard = await db.EventBoards.FindAsync(id);

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

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

            await db.SaveChangesAsync();

            eventBoards.Add(eventBoard);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = eventBoards;

            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> DeleteBoard(int id)
        {
            // 인증 필요

            PetterResultType <Board> petterResultType = new PetterResultType <Board>();
            List <Board>             list             = new List <Board>();
            Board board = await db.Boards.FindAsync(id);

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

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

            await db.SaveChangesAsync();

            list.Add(board);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = list;

            return(Ok(petterResultType));
        }
        public async Task<IHttpActionResult> GetMember(string memberID, string password)
        {
            PetterResultType<Member> petterResultType = new PetterResultType<Member>();
            List<Member> members = new List<Member>();
            Ciphers ciphers = new Ciphers();

            //var member = await db.Members.Where(p => p.MemberID == memberID.Trim().ToLower() & p.Password == password).SingleOrDefaultAsync();
            var member = await db.Members.Where(p => p.MemberID == memberID.Trim().ToLower() ).SingleOrDefaultAsync();
            bool isPasswordMatch = ciphers.getPasswordMatch(member.Password, password);

            if (!isPasswordMatch)
            {
                member = null;
            }

            if (member == null)
            {
                await AddMemberAccess(memberID, AccessResult.Failure);
                return NotFound();
            }

            await AddMemberAccess(memberID, AccessResult.Success);

            members.Add(member);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = members;

            return Ok(petterResultType);
        }
        public async Task <IHttpActionResult> DeleteMember(int id)
        {
            // 인증 처리 필요

            PetterResultType <Member> petterResultType = new PetterResultType <Member>();
            List <Member>             members          = new List <Member>();
            Member member = await db.Members.FindAsync(id);

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

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

            await db.SaveChangesAsync();

            members.Add(member);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = members;

            return(Ok(petterResultType));
        }
        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> PutMember(string memberID, string password)
        {
            PetterResultType <Member> petterResultType = new PetterResultType <Member>();
            Ciphers       ciphers = new Ciphers();
            List <Member> members = new List <Member>();

            string hashcode = ciphers.getCryptPassword(password);

            var member = await db.Members.Where(p => p.MemberID == memberID).SingleOrDefaultAsync();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //db.Entry(member).State = EntityState.Modified;

            member.Password = hashcode;

            await db.SaveChangesAsync();

            members.Add(member);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = members;

            return(Ok(petterResultType));
        }
示例#11
0
        public async Task <IHttpActionResult> GetMember(string memberID, string password)
        {
            PetterResultType <Member> petterResultType = new PetterResultType <Member>();
            List <Member>             members          = new List <Member>();
            Ciphers ciphers = new Ciphers();

            //var member = await db.Members.Where(p => p.MemberID == memberID.Trim().ToLower() & p.Password == password).SingleOrDefaultAsync();
            var member = await db.Members.Where(p => p.MemberID == memberID.Trim().ToLower()).SingleOrDefaultAsync();

            bool isPasswordMatch = ciphers.getPasswordMatch(member.Password, password);

            if (!isPasswordMatch)
            {
                member = null;
            }

            if (member == null)
            {
                await AddMemberAccess(memberID, AccessResult.Failure);

                return(NotFound());
            }

            await AddMemberAccess(memberID, AccessResult.Success);

            members.Add(member);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = members;

            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> GetStoreReviews([FromUri] PetterRequestType petterRequestType)
        {
            PetterResultType <StoreReview> petterResultType = new PetterResultType <StoreReview>();
            List <StoreReview>             list             = new List <StoreReview>();
            bool isSearch = false;

            // 검색 조건
            if (!String.IsNullOrWhiteSpace(petterRequestType.Search))
            {
                isSearch = true;
            }

            #region 정렬 방식
            switch (petterRequestType.SortBy)
            {
            // 평점
            case "grade":
            {
                list = await db.StoreReviews
                       .Where(p => petterRequestType.StateFlag == "A"? 1 == 1 : p.StateFlag == petterRequestType.StateFlag)
                       //.Where(p => isSearch ? p.Content.Contains(petterRequestType.Search) : 1 == 1)
                       //.OrderByDescending(p => p.grade)
                       .OrderByDescending(p => p.StoreReviewNo)
                       .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                       .Take(petterRequestType.ItemsPerPage).ToListAsync();

                break;
            }

            // 기본
            default:
            {
                list = await db.StoreReviews
                       .Where(p => petterRequestType.StateFlag == "A"? 1 == 1 : p.StateFlag == petterRequestType.StateFlag)
                       //.Where(p => isSearch ? p.Content.Contains(petterRequestType.Search) : 1 == 1)
                       .OrderByDescending(p => p.StoreReviewNo)
                       .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                       .Take(petterRequestType.ItemsPerPage).ToListAsync();

                break;
            }
            }
            #endregion 정렬방식

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

            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = list.ToList();

            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> GetMembers([FromUri] PetterRequestType petterRequestType)
        {
            PetterResultType <Member> petterResultType = new PetterResultType <Member>();
            List <Member>             list             = new List <Member>();
            bool isSearch = false;

            // 검색 조건
            if (!String.IsNullOrWhiteSpace(petterRequestType.Search))
            {
                isSearch = true;
            }

            #region 정렬 방식
            switch (petterRequestType.SortBy)
            {
            // 정렬 조건
            case "조건":
            {
                list = await db.Members
                       .Where(p => p.StateFlag == "D")
                       .Where(p => isSearch ? p.NickName.Contains(petterRequestType.Search) : 1 == 1)
                       .OrderByDescending(p => p.MemberNo)
                       .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                       .Take(petterRequestType.ItemsPerPage).ToListAsync();

                break;
            }

            // 기본
            default:
            {
                list = await db.Members
                       .Where(p => petterRequestType.StateFlag == "A"? 1 == 1 : p.StateFlag == petterRequestType.StateFlag)
                       .Where(p => isSearch ? p.NickName.Contains(petterRequestType.Search) : 1 == 1)
                       .OrderByDescending(p => p.MemberNo)
                       .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                       .Take(petterRequestType.ItemsPerPage).ToListAsync();

                break;
            }
            }
            #endregion 정렬방식

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

            petterResultType.IsSuccessful = true;
            petterResultType.AffectedRow  = list.Count();
            petterResultType.JsonDataSet  = list.ToList();
            return(Ok(petterResultType));
        }
        public async Task<IHttpActionResult> GetStoreReviews([FromUri] PetterRequestType petterRequestType)
        {
            PetterResultType<StoreReview> petterResultType = new PetterResultType<StoreReview>();
            List<StoreReview> list = new List<StoreReview>();
            bool isSearch = false;

            // 검색 조건 
            if (!String.IsNullOrWhiteSpace(petterRequestType.Search))
            {
                isSearch = true;
            }

            #region 정렬 방식
            switch (petterRequestType.SortBy)
            {
                // 평점
                case "grade":
                    {
                        list = await db.StoreReviews
                            .Where(p => petterRequestType.StateFlag == "A" ? 1 == 1 : p.StateFlag == petterRequestType.StateFlag)
                            //.Where(p => isSearch ? p.Content.Contains(petterRequestType.Search) : 1 == 1)
                            //.OrderByDescending(p => p.grade)
                            .OrderByDescending(p => p.StoreReviewNo)
                            .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                            .Take(petterRequestType.ItemsPerPage).ToListAsync();
                        break;
                    }
                // 기본
                default:
                    {
                        list = await db.StoreReviews
                            .Where(p => petterRequestType.StateFlag == "A" ? 1 == 1 : p.StateFlag == petterRequestType.StateFlag)
                            //.Where(p => isSearch ? p.Content.Contains(petterRequestType.Search) : 1 == 1)
                            .OrderByDescending(p => p.StoreReviewNo)
                            .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                            .Take(petterRequestType.ItemsPerPage).ToListAsync();
                        break;
                    }
            }
            #endregion 정렬방식

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

            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = list.ToList();

            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> GetMembers([FromUri] PetterRequestType petterRequestType)
        {
            PetterResultType<Member> petterResultType = new PetterResultType<Member>();
            List<Member> list = new List<Member>();
            bool isSearch = false;

            // 검색 조건 
            if (!String.IsNullOrWhiteSpace(petterRequestType.Search))
            {
                isSearch = true;
            }

            #region 정렬 방식
            switch (petterRequestType.SortBy)
            {
                // 정렬 조건
                case "조건":
                    {
                        list = await db.Members
                            .Where(p => p.StateFlag == "D")
                            .Where(p => isSearch ? p.NickName.Contains(petterRequestType.Search) : 1 == 1)
                            .OrderByDescending(p => p.MemberNo)
                            .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                            .Take(petterRequestType.ItemsPerPage).ToListAsync();
                        break;
                    }
                // 기본
                default:
                    {
                        list = await db.Members
                            .Where(p => petterRequestType.StateFlag == "A" ? 1 == 1 : p.StateFlag == petterRequestType.StateFlag)
                            .Where(p => isSearch ? p.NickName.Contains(petterRequestType.Search) : 1 == 1)
                            .OrderByDescending(p => p.MemberNo)
                            .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                            .Take(petterRequestType.ItemsPerPage).ToListAsync();
                        break;
                    }
            }
            #endregion 정렬방식

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

            petterResultType.IsSuccessful = true;
            petterResultType.AffectedRow = list.Count();
            petterResultType.JsonDataSet = list.ToList();
            return Ok(petterResultType);
        }
        public async Task <IHttpActionResult> GetMemberCheckByNickName(string nickName)
        {
            PetterResultType <MemberDTO> petterResultType = new PetterResultType <MemberDTO>();
            var member = await db.Members.Where(p => p.MemberID == nickName.Trim().ToLower()).SingleOrDefaultAsync();

            if (member != null)
            {
                petterResultType.IsSuccessful = true;
                petterResultType.ErrorMessage = ResultMessage.MemberSearchByNickName;
                //petterResultType.JsonDataSet = memberDetail;
            }

            petterResultType.IsSuccessful = false;
            petterResultType.ErrorMessage = ResultErrorMessage.MemberSearchByNickName;

            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> GetMember(int id)
        {
            PetterResultType <Member> petterResultType = new PetterResultType <Member>();
            List <Member>             members          = new List <Member>();
            var member = await db.Members.Where(p => p.MemberNo == id).SingleOrDefaultAsync();

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

            members.Add(member);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = members;

            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> PutStoreReviewLike(int id, StoreReviewLike reviewLike)
        {
            PetterResultType <StoreReviewLike> petterResultType = new PetterResultType <StoreReviewLike>();
            List <StoreReviewLike>             storeReviewLikes = new List <StoreReviewLike>();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != reviewLike.StoreReviewLikeNo)
            {
                return(BadRequest());
            }

            StoreReviewLike storeReviewLike = await db.StoreReviewLikes.FindAsync(id);

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

            storeReviewLike.StateFlag       = StateFlags.Use;
            storeReviewLike.DateModified    = DateTime.Now;
            storeReviewLike.DateDeleted     = null;
            db.Entry(storeReviewLike).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!StoreReviewLikeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> GetMemberByNickName(string nickName)
        {
            PetterResultType <Member> petterResultType = new PetterResultType <Member>();
            List <Member>             members          = new List <Member>();

            var member = await db.Members.Where(p => p.NickName == nickName.Trim().ToLower()).SingleOrDefaultAsync();

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

            members.Add(member);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = members;

            return(Ok(petterResultType));
        }
        public async Task<IHttpActionResult> GetPetKind(string petCategory, string petCode)
        {
            PetterResultType<PetKind> petterResultType = new PetterResultType<PetKind>();
            List<PetKind> petKinds = new List<PetKind>();

            PetKind petKind = await db.PetKinds.Where(p => p.PetCategory == petCategory & p.PetCode == petCode).SingleOrDefaultAsync();

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

            petKinds.Add(petKind);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = petKinds;

            return Ok(petterResultType);
        }
        public async Task <IHttpActionResult> GetCompanionAnimal(int id)
        {
            PetterResultType <CompanionAnimal> petterResultType = new PetterResultType <CompanionAnimal>();
            List <CompanionAnimal>             cmpanionAnimals  = new List <CompanionAnimal>();

            var companionAnimal = await db.CompanionAnimals.Where(p => p.CompanionAnimalNo == id).SingleOrDefaultAsync();

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

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

            return(Ok(petterResultType));
        }
        public async Task<IHttpActionResult> GetPetKinds(string petCategory)
        {
            PetterResultType<PetKind> petterResultType = new PetterResultType<PetKind>();
            //List<PetKind> petKinds = new List<PetKind>();

            var petKinds = await db.PetKinds.Where(p => p.PetCategory == petCategory).ToListAsync();

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

            //petKinds.Add(petKind);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = petKinds;

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> PutBoardLike(int id, BoardLike galleryLike)
        {
            PetterResultType<BoardLike> petterResultType = new PetterResultType<BoardLike>();
            List<BoardLike> BoardLikes = new List<BoardLike>();

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != galleryLike.BoardLikeNo)
            {
                return BadRequest();
            }

            BoardLike BoardLike = await db.BoardLikes.FindAsync(id);
            if (BoardLike == null)
            {
                return NotFound();
            }

            BoardLike.StateFlag = StateFlags.Use;
            BoardLike.DateModified = DateTime.Now;
            BoardLike.DateDeleted = null;
            db.Entry(BoardLike).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BoardLikeExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return Ok(petterResultType);
        }
        public async Task <IHttpActionResult> PutBoardReply(int id, BoardReply galleryReply)
        {
            PetterResultType <BoardReply> petterResultType = new PetterResultType <BoardReply>();
            List <BoardReply>             BoardReplies     = new List <BoardReply>();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            BoardReply BoardReply = await db.BoardReplies.FindAsync(id);

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

            // 수정권한 체크
            if (BoardReply.MemberNo != galleryReply.MemberNo)
            {
                return(BadRequest(ModelState));
            }

            BoardReply.Reply           = galleryReply.Reply;
            BoardReply.StateFlag       = StateFlags.Use;
            BoardReply.DateModified    = DateTime.Now;
            db.Entry(BoardReply).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }

            BoardReplies.Add(BoardReply);

            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = BoardReplies;

            return(Ok(petterResultType));
        }
示例#26
0
        public async Task <IHttpActionResult> GetStoreByStoreID(int id)
        {
            PetterResultType <StoreDTO> petterResultType = new PetterResultType <StoreDTO>();
            List <StoreDTO>             stores           = new List <StoreDTO>();

            var idCount = db.Stores.Count(e => e.StoreNo == id);

            //var store = await db.Stores.Where(p => p.StoreID == id).Select(p => new StoreDTO
            //{
            //    StoreNo = p.StoreNo,
            //    CompanyNo = p.CompanyNo,
            //    StoreName = p.StoreName,
            //    StoreID = p.StoreID,
            //    Phone = p.Phone,
            //    StoreAddress = p.StoreAddress,
            //    FileName = p.FileName,
            //    FilePath = p.FilePath,
            //    StartTime = p.StartTime,
            //    EndTime = p.EndTime,
            //    Introduction = p.Introduction,
            //    Coordinate = p.Coordinate,
            //    Latitude = p.Latitude,
            //    Longitude = p.Longitude,
            //    DateCreated = p.DateCreated,
            //    DateModified = p.DateModified,
            //    StoreStats = p.StoreStats.ToList(),
            //    StoreServices = p.StoreServices.ToList(),
            //    StoreHolidays = p.StoreHolidays.ToList()
            //}).SingleOrDefaultAsync();

            if (idCount == 0)
            {
                petterResultType.IsSuccessful = true;
                petterResultType.ScalarValue  = idCount;
            }
            else
            {
                petterResultType.IsSuccessful = false;
                petterResultType.ScalarValue  = idCount;
            }

            return(Ok(petterResultType));
        }
        public async Task<IHttpActionResult> PutBoardReply(int id, BoardReply galleryReply)
        {
            PetterResultType<BoardReply> petterResultType = new PetterResultType<BoardReply>();
            List<BoardReply> BoardReplies = new List<BoardReply>();

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            BoardReply BoardReply = await db.BoardReplies.FindAsync(id);
            if (BoardReply == null)
            {
                return NotFound();
            }

            // 수정권한 체크
            if (BoardReply.MemberNo != galleryReply.MemberNo)
            {
                return BadRequest(ModelState);
            }

            BoardReply.Reply = galleryReply.Reply;
            BoardReply.StateFlag = StateFlags.Use;
            BoardReply.DateModified = DateTime.Now;
            db.Entry(BoardReply).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }

            BoardReplies.Add(BoardReply);

            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = BoardReplies;

            return Ok(petterResultType);
        }
示例#28
0
        public async Task <IHttpActionResult> PutStoreBookmark(int id, StoreBookmark shopBookmark)
        {
            PetterResultType <StoreBookmark> petterResultType    = new PetterResultType <StoreBookmark>();
            List <StoreBookmark>             beautyShopBookmarks = new List <StoreBookmark>();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            StoreBookmark beautyShopBookmark = await db.BeautyShopBookmarks.FindAsync(id);

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

            // 수정권한 체크
            if (beautyShopBookmark.MemberNo != shopBookmark.MemberNo)
            {
                return(BadRequest(ModelState));
            }

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

            beautyShopBookmarks.Add(beautyShopBookmark);

            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = beautyShopBookmarks;

            return(Ok(petterResultType));
        }
        public async Task<IHttpActionResult> PutStoreBookmark(int id, StoreBookmark shopBookmark)
        {
            PetterResultType<StoreBookmark> petterResultType = new PetterResultType<StoreBookmark>();
            List<StoreBookmark> beautyShopBookmarks = new List<StoreBookmark>();

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            StoreBookmark beautyShopBookmark = await db.BeautyShopBookmarks.FindAsync(id);
            if (beautyShopBookmark == null)
            {
                return NotFound();
            }

            // 수정권한 체크
            if (beautyShopBookmark.MemberNo != shopBookmark.MemberNo)
            {
                return BadRequest(ModelState);
            }

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

            beautyShopBookmarks.Add(beautyShopBookmark);

            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = beautyShopBookmarks;

            return Ok(petterResultType);
        }
示例#30
0
        public async Task <IHttpActionResult> DeleteStoreBookmark(int id)
        {
            PetterResultType <StoreBookmark> petterResultType    = new PetterResultType <StoreBookmark>();
            List <StoreBookmark>             beautyShopBookmarks = new List <StoreBookmark>();
            StoreBookmark beautyShopBookmark = await db.BeautyShopBookmarks.FindAsync(id);

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

            db.BeautyShopBookmarks.Remove(beautyShopBookmark);
            await db.SaveChangesAsync();

            beautyShopBookmarks.Add(beautyShopBookmark);

            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = beautyShopBookmarks;

            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> PostEventBoardReply(EventBoardReply eventBoardReply)
        {
            PetterResultType <EventBoardReply> petterResultType  = new PetterResultType <EventBoardReply>();
            List <EventBoardReply>             eventBoardReplies = new List <EventBoardReply>();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            eventBoardReply.StateFlag    = StateFlags.Use;
            eventBoardReply.DateCreated  = DateTime.Now;
            eventBoardReply.DateModified = DateTime.Now;

            db.EventBoardReplies.Add(eventBoardReply);
            await db.SaveChangesAsync();

            eventBoardReplies.Add(eventBoardReply);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = eventBoardReplies;
            return(Ok(petterResultType));
        }
示例#32
0
        public async Task <IHttpActionResult> PostStoreBookmark(StoreBookmark beautyShopBookmark)
        {
            PetterResultType <StoreBookmark> petterResultType    = new PetterResultType <StoreBookmark>();
            List <StoreBookmark>             beautyShopBookmarks = new List <StoreBookmark>();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            beautyShopBookmark.DateCreated  = DateTime.Now;
            beautyShopBookmark.DateModified = DateTime.Now;

            db.BeautyShopBookmarks.Add(beautyShopBookmark);
            await db.SaveChangesAsync();

            beautyShopBookmarks.Add(beautyShopBookmark);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = beautyShopBookmarks;

            return(Ok(petterResultType));
        }
示例#33
0
        public async Task <IHttpActionResult> GetStore(int id)
        {
            PetterResultType <StoreDTO> petterResultType = new PetterResultType <StoreDTO>();
            List <StoreDTO>             stores           = new List <StoreDTO>();

            var store = await db.Stores.Where(p => p.StoreNo == id).Select(p => new StoreDTO
            {
                StoreNo   = p.StoreNo,
                CompanyNo = p.CompanyNo,
                StoreName = p.StoreName,
                //StoreID = p.StoreID,
                Phone         = p.Phone,
                StoreAddress  = p.StoreAddress,
                FileName      = p.FileName,
                FilePath      = p.FilePath,
                StartTime     = p.StartTime,
                EndTime       = p.EndTime,
                Introduction  = p.Introduction,
                Coordinate    = p.Coordinate,
                Latitude      = p.Latitude,
                Longitude     = p.Longitude,
                DateCreated   = p.DateCreated,
                DateModified  = p.DateModified,
                StoreStats    = p.StoreStats.ToList(),
                StoreServices = p.StoreServices.ToList(),
                StoreHolidays = p.StoreHolidays.ToList()
            }).SingleOrDefaultAsync();

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

            stores.Add(store);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = stores;
            return(Ok(petterResultType));
        }
示例#34
0
        public async Task <IHttpActionResult> GetPension(int id)
        {
            PetterResultType <PensionDTO> petterResultType = new PetterResultType <PensionDTO>();
            List <PensionDTO>             pensions         = new List <PensionDTO>();

            var pension = await db.Pensions.Where(p => p.PensionNo == id).Select(p => new PensionDTO
            {
                PensionNo    = p.PensionNo,
                CompanyNo    = p.CompanyNo,
                PensionName  = p.PensionName,
                PensionAddr  = p.PensionAddr,
                FileName     = p.FileName,
                FilePath     = p.FilePath,
                StartTime    = p.StartTime,
                EndTime      = p.EndTime,
                Introduction = p.Introduction,
                Coordinate   = p.Coordinate,
                Latitude     = p.Latitude,
                Longitude    = p.Longitude,
                //Grade = p.Grade,
                //ReviewCount = p.ReviewCount,
                //Bookmark = p.Bookmark,
                DateCreated     = p.DateCreated,
                DateModified    = p.DateModified,
                PensionServices = p.PensionServices.ToList(),
                PensionHolidays = p.PensionHolidays.ToList()
            }).SingleOrDefaultAsync();

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

            pensions.Add(pension);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = pensions;
            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> DeleteNoticeReply(int id)
        {
            PetterResultType <NoticeReply> petterResultType = new PetterResultType <NoticeReply>();
            List <NoticeReply>             noticeReplies    = new List <NoticeReply>();
            NoticeReply noticeReply = await db.NoticeReplies.FindAsync(id);

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

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

            await db.SaveChangesAsync();

            noticeReplies.Add(noticeReply);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = noticeReplies;

            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> DeleteBoardLike(int id)
        {
            PetterResultType <BoardLike> petterResultType = new PetterResultType <BoardLike>();
            List <BoardLike>             BoardLikes       = new List <BoardLike>();
            BoardLike BoardLike = await db.BoardLikes.FindAsync(id);

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

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

            await db.SaveChangesAsync();

            BoardLikes.Add(BoardLike);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = BoardLikes;

            return(Ok(petterResultType));
        }
        public async Task <IHttpActionResult> PostStoreReviewLike(StoreReviewLike storeReviewLike)
        {
            PetterResultType <StoreReviewLike> petterResultType = new PetterResultType <StoreReviewLike>();
            List <StoreReviewLike>             storeReviewLikes = new List <StoreReviewLike>();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            storeReviewLike.StateFlag    = StateFlags.Use;
            storeReviewLike.DateCreated  = DateTime.Now;
            storeReviewLike.DateModified = DateTime.Now;

            db.StoreReviewLikes.Add(storeReviewLike);
            await db.SaveChangesAsync();

            storeReviewLikes.Add(storeReviewLike);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet  = storeReviewLikes;

            return(Ok(petterResultType));
        }
        public async Task<IHttpActionResult> PostMember()
        {
            PetterResultType<Member> petterResultType = new PetterResultType<Member>();
            Ciphers ciphers = new Ciphers();
            List<Member> members = new List<Member>();
            Member member = new Member();

            if (Request.Content.IsMimeMultipartContent())
            {
                string folder = HostingEnvironment.MapPath(UploadPath.MemberPath);
                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 fileName = Utilities.additionFileName(content.Headers.ContentDisposition.FileName.Trim('"'));

                        if (!FileExtension.MemberExtensions.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.MemberWidth, FileSize.MemberHeight, ImageFormat.Png);
                        member.FileName = fileName;
                        member.FilePath = UploadPath.MemberPath.Replace("~", "");
                    }
                    else
                    {
                        string str = await content.ReadAsStringAsync();
                        string item = HttpUtility.UrlDecode(str);

                        #region switch case
                        switch (fieldName)
                        {
                            //case "MemberNo":
                            //    member.MemberNo = int.Parse(item);
                            //    break;
                            case "MemberID":
                                member.MemberID = item.ToLower();
                                break;
                            case "Password":
                                member.Password = ciphers.getCryptPassword(item);
                                break;
                            case "NickName":
                                member.NickName = item;
                                break;
                            case "Latitude":
                                member.Latitude = Convert.ToDouble(item);
                                break;
                            case "Longitude":
                                member.Longitude = Convert.ToDouble(item);
                                break;
                            default:
                                break;
                        }
                        #endregion switch case
                    }
                }

                string point = string.Format("POINT({0} {1})", member.Longitude, member.Latitude);
                member.Coordinate = DbGeography.FromText(point);
                member.StateFlag = StateFlags.Use;
                member.Route = Route.App;
                member.DateCreated = DateTime.Now;
                member.DateModified = DateTime.Now;
                db.Members.Add(member);
                int num = await this.db.SaveChangesAsync();

                members.Add(member);
                petterResultType.IsSuccessful = true;
                petterResultType.JsonDataSet = members;
            }
            else
            {
                petterResultType.IsSuccessful = false;
                petterResultType.JsonDataSet = null;
            }

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> PutMember(string memberID, string password)
        {
            PetterResultType<Member> petterResultType = new PetterResultType<Member>();
            Ciphers ciphers = new Ciphers();
            List<Member> members = new List<Member>();

            string hashcode = ciphers.getCryptPassword(password);

            var member = await db.Members.Where(p => p.MemberID == memberID).SingleOrDefaultAsync();

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            //db.Entry(member).State = EntityState.Modified;

            member.Password = hashcode;

            await db.SaveChangesAsync();

            members.Add(member);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = members;

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> GetMemberCheckByNickName(string nickName)
        {
            PetterResultType<MemberDTO> petterResultType = new PetterResultType<MemberDTO>();
            var member = await db.Members.Where(p => p.MemberID == nickName.Trim().ToLower()).SingleOrDefaultAsync();

            if (member != null)
            {
                petterResultType.IsSuccessful = true;
                petterResultType.ErrorMessage = ResultMessage.MemberSearchByNickName;
                //petterResultType.JsonDataSet = memberDetail;
            }

            petterResultType.IsSuccessful = false;
            petterResultType.ErrorMessage = ResultErrorMessage.MemberSearchByNickName;

            return Ok(petterResultType);
        }
示例#41
0
        public async Task<IHttpActionResult> GetStore(int id)
        {
            PetterResultType<StoreDTO> petterResultType = new PetterResultType<StoreDTO>();
            List<StoreDTO> stores = new List<StoreDTO>();

            var store = await db.Stores.Where(p => p.StoreNo == id).Select(p => new StoreDTO
            {
                StoreNo = p.StoreNo,
                CompanyNo = p.CompanyNo,
                StoreName = p.StoreName,
                //StoreID = p.StoreID,
                Phone = p.Phone,
                StoreAddress = p.StoreAddress,
                FileName = p.FileName,
                FilePath = p.FilePath,
                StartTime = p.StartTime,
                EndTime = p.EndTime,
                Introduction = p.Introduction,
                Coordinate = p.Coordinate,
                Latitude = p.Latitude,
                Longitude = p.Longitude,
                DateCreated = p.DateCreated,
                DateModified = p.DateModified,
                StoreStats = p.StoreStats.ToList(),
                StoreServices = p.StoreServices.ToList(),
                StoreHolidays = p.StoreHolidays.ToList()
            }).SingleOrDefaultAsync();

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

            stores.Add(store);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = stores;
            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> DeletestoreReview(int id)
        {
            //인증 필요

            PetterResultType<StoreReview> petterResultType = new PetterResultType<StoreReview>();
            List<StoreReview> storeReviews = new List<StoreReview>();
            StoreReview storeReview = await db.StoreReviews.FindAsync(id);

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

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

            await db.SaveChangesAsync();

            storeReviews.Add(storeReview);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = storeReviews;

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> GetMember(int id)
        {
            PetterResultType<Member> petterResultType = new PetterResultType<Member>();
            List<Member> members = new List<Member>();
            var member = await db.Members.Where(p => p.MemberNo == id).SingleOrDefaultAsync();

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

            members.Add(member);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = members;

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> PostBoardReply(BoardReply BoardReply)
        {
            PetterResultType<BoardReply> petterResultType = new PetterResultType<BoardReply>();
            List<BoardReply> BoardReplies = new List<BoardReply>();

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            BoardReply.StateFlag = StateFlags.Use;
            BoardReply.DateCreated = DateTime.Now;
            BoardReply.DateModified = DateTime.Now;

            db.BoardReplies.Add(BoardReply);
            await db.SaveChangesAsync();

            BoardReplies.Add(BoardReply);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = BoardReplies;

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> DeleteBoardReply(int id)
        {
            PetterResultType<BoardReply> petterResultType = new PetterResultType<BoardReply>();
            List<BoardReply> BoardReplies = new List<BoardReply>();
            BoardReply BoardReply = await db.BoardReplies.FindAsync(id);

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

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

            await db.SaveChangesAsync();

            BoardReplies.Add(BoardReply);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = BoardReplies;

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> DeleteNotice(int id)
        {
            PetterResultType<Notice> petterResultType = new PetterResultType<Notice>();
            List<Notice> notices = new List<Notice>();
            Notice notice = await db.Notices.FindAsync(id);

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

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

            await db.SaveChangesAsync();

            notices.Add(notice);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = notices;

            return Ok(petterResultType);
        }
示例#47
0
        public async Task<IHttpActionResult> GetStoreByStoreID(int id)
        {
            PetterResultType<StoreDTO> petterResultType = new PetterResultType<StoreDTO>();
            List<StoreDTO> stores = new List<StoreDTO>();

            var idCount = db.Stores.Count(e => e.StoreNo == id);

            //var store = await db.Stores.Where(p => p.StoreID == id).Select(p => new StoreDTO
            //{
            //    StoreNo = p.StoreNo,
            //    CompanyNo = p.CompanyNo,
            //    StoreName = p.StoreName,
            //    StoreID = p.StoreID,
            //    Phone = p.Phone,
            //    StoreAddress = p.StoreAddress,
            //    FileName = p.FileName,
            //    FilePath = p.FilePath,
            //    StartTime = p.StartTime,
            //    EndTime = p.EndTime,
            //    Introduction = p.Introduction,
            //    Coordinate = p.Coordinate,
            //    Latitude = p.Latitude,
            //    Longitude = p.Longitude,
            //    DateCreated = p.DateCreated,
            //    DateModified = p.DateModified,
            //    StoreStats = p.StoreStats.ToList(),
            //    StoreServices = p.StoreServices.ToList(),
            //    StoreHolidays = p.StoreHolidays.ToList()
            //}).SingleOrDefaultAsync();

            if (idCount == 0)
            {
                petterResultType.IsSuccessful = true;
                petterResultType.ScalarValue = idCount;
            }
            else
            {
                petterResultType.IsSuccessful = false;
                petterResultType.ScalarValue = idCount;
            }

            return Ok(petterResultType);
        }
示例#48
0
        public async Task<IHttpActionResult> GetStore([FromUri] PetterRequestType petterRequestType)
        {
            PetterResultType<Store> petterResultType = new PetterResultType<Store>();
            List<Store> list = new List<Store>();
            // 서울 (경도: 126.9784, 위도: 37.5667)
            DbGeography currentLocation = DbGeography.FromText(string.Format("POINT({0} {1})", petterRequestType.Longitude, petterRequestType.Latitude));
            int distance = petterRequestType.Distance;

            var store = db.Stores.AsEnumerable();

            // 검색 조건 
            if (!String.IsNullOrEmpty(petterRequestType.Search))
            {
                store = store.Where(p => p.StoreName != null && p.StoreName.Contains(petterRequestType.Search));
            }

            #region 정렬 방식
            switch (petterRequestType.SortBy)
            {
                // 거리
                case "distance":
                    {
                        list = store
                            .Where(p => petterRequestType.CodeID == petterRequestType.CodeID)
                            //.Where(p => p.Coordinate.Distance(currentLocation) <= distance)
                            .OrderByDescending(p => p.StoreNo)
                            .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                            .Take(petterRequestType.ItemsPerPage).ToList();
                        break;
                    }
                // 리뷰수
                case "reviewcount":
                    {
                        list = store
                            .Where(p => petterRequestType.CodeID == petterRequestType.CodeID)
                            //.Where(p => p.Coordinate.Distance(currentLocation) <= distance)
                            //.OrderByDescending(p => p.ReviewCount)
                            .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                            .Take(petterRequestType.ItemsPerPage).ToList();
                        break;
                    }
                // 점수
                case "grade":
                    {
                        list = store
                            .Where(p => petterRequestType.CodeID == petterRequestType.CodeID)
                            //.Where(p => p.Coordinate.Distance(currentLocation) <= distance)
                            //.OrderByDescending(p => p.Grade)
                            .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                            .Take(petterRequestType.ItemsPerPage).ToList();
                        break;
                    }
                // 즐겨찾기
                case "bookmark":
                    {
                        list = store
                            .Where(p => petterRequestType.CodeID == petterRequestType.CodeID)
                            //.Where(p => p.Coordinate.Distance(currentLocation) <= distance)
                            //.OrderByDescending(p => p.Bookmark)
                            .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                            .Take(petterRequestType.ItemsPerPage).ToList();
                        break;
                    }
                // 기본
                default:
                    {
                        list = store
                            .Where(p => petterRequestType.CodeID == petterRequestType.CodeID)
                            //.Where(p => p.Coordinate.Distance(currentLocation) <= distance)
                            .OrderByDescending(p => p.CompanyNo)
                            .Skip((petterRequestType.CurrentPage - 1) * petterRequestType.ItemsPerPage)
                            .Take(petterRequestType.ItemsPerPage).ToList();
                        break;
                    }
            }
            #endregion 정렬방식

            petterResultType.IsSuccessful = true;
            petterResultType.AffectedRow = list.Count();
            petterResultType.JsonDataSet = list.ToList();
            return Ok(petterResultType);
        }
示例#49
0
        public async Task<IHttpActionResult> PostStore()
        {
            PetterResultType<Store> petterResultType = new PetterResultType<Store>();
            List<Store> stores = new List<Store>();
            List<StoreService> storeServices = new List<StoreService>();
            List<StoreHoliday> storeHolidays = new List<StoreHoliday>();
            Store store = new Store();
            string storeService = string.Empty;
            string storeHoliday = string.Empty;

            if (Request.Content.IsMimeMultipartContent())
            {
                string folder = HostingEnvironment.MapPath(UploadPath.StorePath);
                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.StoreExtensions.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);
                        store.FileName = fileName;
                        store.FilePath = UploadPath.StorePath.Replace("~", "");
                    }
                    else
                    {
                        string str = await content.ReadAsStringAsync();
                        string item = HttpUtility.UrlDecode(str);

                        #region switch case
                        switch (fieldName)
                        {
                            case "CompanyNo":
                                store.CompanyNo = int.Parse(item);
                                break;
                            case "CodeID":
                                store.CodeID = item;
                                break;
                            case "StoreName":
                                store.StoreName = item;
                                break;
                            //case "StoreID":
                            //    store.StoreID = item;
                            //    break;
                            case "Phone":
                                store.Phone = item;
                                break;
                            case "StoreAddress":
                                store.StoreAddress = item;
                                break;
                            case "FileName":
                                store.FileName = item;
                                break;
                            case "FilePath":
                                store.FilePath = item;
                                break;
                            case "StartTime":
                                store.StartTime = item;
                                break;
                            case "EndTime":
                                store.EndTime = item;
                                break;
                            case "Introduction":
                                store.Introduction = item;
                                break;
                            case "Latitude":
                                store.Latitude = Convert.ToDouble(item);
                                break;
                            case "Longitude":
                                store.Longitude = Convert.ToDouble(item);
                                break;
                            case "StoreServices":
                                storeService = item;
                                break;
                            case "StoreHolidays":
                                storeHoliday = item;
                                break;
                            default:
                                break;
                        }
                        #endregion switch case
                    }
                }

                string point = string.Format("POINT({0} {1})", store.Longitude, store.Latitude);
                store.Coordinate = DbGeography.FromText(point);
                store.StateFlag = "U";
                //store.WriteIP = "2222.2.22.22";
                store.WriteIP = Request.GetClientIpAddress();
                store.DateCreated = DateTime.Now;
                store.DateModified = DateTime.Now;
                db.Stores.Add(store);
                int num = await this.db.SaveChangesAsync();

                if (!string.IsNullOrWhiteSpace(storeService))
                {
                    //List<StoreService> list = await AddStoreService(store, storeService);
                    List<StoreService> list = await AddStoreService(store, storeService);
                    store.StoreServices = list;
                }

                if (!string.IsNullOrWhiteSpace(storeHoliday))
                {
                    List<StoreHoliday> list = await AddstoreHoliday(store, storeHoliday);
                    store.StoreHolidays = list;
                }

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

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> GetPetSitter(int id)
        {
            PetterResultType<PetSitterDTO> petterResultType = new PetterResultType<PetSitterDTO>();
            List<PetSitterDTO> petSitters = new List<PetSitterDTO>();

            var petSitter = await db.PetSitters.Where(p => p.PetSitterNo == id).Select(p => new PetSitterDTO
            {
                PetSitterNo = p.PetSitterNo,
                CompanyNo = p.CompanyNo,
                PetSitterName = p.PetSitterName,
                PetSitterAddr = p.PetSitterAddr,
                FileName = p.FileName,
                FilePath = p.FilePath,
                StartTime = p.StartTime,
                EndTime = p.EndTime,
                Introduction = p.Introduction,
                Coordinate = p.Coordinate,
                Latitude = p.Latitude,
                Longitude = p.Longitude,
                //Grade = p.Grade,
                //ReviewCount = p.ReviewCount,
                //Bookmark = p.Bookmark,
                DateCreated = p.DateCreated,
                DateModified = p.DateModified,
                PetSitterServices = p.PetSitterServices.ToList(),
                PetSitterHolidays = p.PetSitterHolidays.ToList()
            }).SingleOrDefaultAsync();

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

            petSitters.Add(petSitter);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = petSitters;
            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> DeleteMember(int id)
        {
            // 인증 처리 필요

            PetterResultType<Member> petterResultType = new PetterResultType<Member>();
            List<Member> members = new List<Member>();
            Member member = await db.Members.FindAsync(id);

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

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

            await db.SaveChangesAsync();

            members.Add(member);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = members;

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> PostStoreBookmark(StoreBookmark beautyShopBookmark)
        {
            PetterResultType<StoreBookmark> petterResultType = new PetterResultType<StoreBookmark>();
            List<StoreBookmark> beautyShopBookmarks = new List<StoreBookmark>();

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            beautyShopBookmark.DateCreated = DateTime.Now;
            beautyShopBookmark.DateModified = DateTime.Now;

            db.BeautyShopBookmarks.Add(beautyShopBookmark);
            await db.SaveChangesAsync();

            beautyShopBookmarks.Add(beautyShopBookmark);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = beautyShopBookmarks;

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> GetStoreReview(int id)
        {
            //StoreReview storeReview = await db.StoreReviews.FindAsync(id);
            PetterResultType<StoreReviewDTO> petterResultType = new PetterResultType<StoreReviewDTO>();
            List<StoreReviewDTO> storeReviews = new List<StoreReviewDTO>();

            var storeReview = await db.StoreReviews.Where(p => p.StoreReviewNo == id).Select(p => new StoreReviewDTO
            {
                StoreReviewNo = p.StoreReviewNo,
                StoreNo = p.StoreNo,
                MemberNo = p.MemberNo,
                Grade = p.Grade,
                Content = p.Content,
                StateFlag = p.StateFlag,
                DateCreated = p.DateCreated,
                DateModified = p.DateModified,
                DateDeleted = p.DateDeleted,
                //FileName = p.FileName,
                //FilePath = p.FilePath,
                StoreReviewStats = p.StoreReviewStats.ToList(),
                StoreReviewFiles = p.StoreReviewFiles.ToList(),
                StoreReviewLikes = p.StoreReviewLikes.ToList()
            }).SingleOrDefaultAsync();


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

            storeReviews.Add(storeReview);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = storeReviews;

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> DeleteStoreBookmark(int id)
        {
            PetterResultType<StoreBookmark> petterResultType = new PetterResultType<StoreBookmark>();
            List<StoreBookmark> beautyShopBookmarks = new List<StoreBookmark>();
            StoreBookmark beautyShopBookmark = await db.BeautyShopBookmarks.FindAsync(id);

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

            db.BeautyShopBookmarks.Remove(beautyShopBookmark);
            await db.SaveChangesAsync();

            beautyShopBookmarks.Add(beautyShopBookmark);

            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = beautyShopBookmarks;

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> PutPetSitter(int id)
        {
            PetterResultType<PetSitter> petterResultType = new PetterResultType<PetSitter>();
            List<PetSitter> petSitters = new List<PetSitter>();
            List<PetSitterService> petSitterServices = new List<PetSitterService>();
            List<PetSitterHoliday> petSitterHolidays = new List<PetSitterHoliday>();
            string pensionService = string.Empty;
            string pensionHoliday = string.Empty;

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

            PetSitter petSitter = await db.PetSitters.FindAsync(id);
            if (petSitter == null)
            {
                return NotFound();
            }

            if (Request.Content.IsMimeMultipartContent())
            {
                string folder = HostingEnvironment.MapPath(UploadPath.PetSitterPath);
                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 fileName = Utilities.additionFileName(content.Headers.ContentDisposition.FileName.Trim('"'));

                        if (!FileExtension.PetSitterExtensions.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.PetSitterWidth, FileSize.PetSitterHeight, ImageFormat.Png);
                        petSitter.FileName = fileName;
                        petSitter.FilePath = UploadPath.PetSitterPath.Replace("~", "");
                    }
                    else
                    {
                        string str = await content.ReadAsStringAsync();
                        string item = HttpUtility.UrlDecode(str);

                        #region switch case
                        switch (fieldName)
                        {
                            case "PetSitterNo":
                                petSitter.PetSitterNo = int.Parse(item);
                                break;
                            case "CompanyNo":
                                petSitter.CompanyNo = int.Parse(item);
                                break;
                            case "PetSitterName":
                                petSitter.PetSitterName = item;
                                break;
                            case "PetSitterAddr":
                                petSitter.PetSitterAddr = item;
                                break;
                            case "FileName":
                                petSitter.FileName = item;
                                break;
                            case "FilePath":
                                petSitter.FilePath = item;
                                break;
                            case "StartTime":
                                petSitter.StartTime = item;
                                break;
                            case "EndTime":
                                petSitter.EndTime = item;
                                break;
                            case "Introduction":
                                petSitter.Introduction = item;
                                break;
                            case "Latitude":
                                petSitter.Latitude = Convert.ToDouble(item);
                                break;
                            case "Longitude":
                                petSitter.Longitude = Convert.ToDouble(item);
                                break;
                            //case "Grade":
                            //    petSitter.Grade = Convert.ToDouble(item);
                            //    break;
                            //case "ReviewCount":
                            //    petSitter.ReviewCount = int.Parse(item);
                            //    break;
                            //case "Bookmark":
                            //    petSitter.Bookmark = int.Parse(item);
                            //    break;
                            case "PetSitterServices":
                                pensionService = item;
                                break;
                            case "PetSitterHolidays":
                                pensionHoliday = item;
                                break;
                            default:
                                break;
                        }
                        #endregion switch case
                    }
                }

                string point = string.Format("POINT({0} {1})", petSitter.Longitude, petSitter.Latitude);
                petSitter.Coordinate = DbGeography.FromText(point);
                petSitter.DateModified = DateTime.Now;
                db.Entry(petSitter).State = EntityState.Modified;

                try
                {
                    await db.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    throw;
                }

                await DeletePetSitterService(petSitter);
                if (!string.IsNullOrWhiteSpace(pensionService))
                {
                    List<PetSitterService> list = await AddPetSitterService(petSitter, pensionService);
                    petSitter.PetSitterServices = list;
                }

                await this.DeletePetSitterHoliday(petSitter);
                if (!string.IsNullOrWhiteSpace(pensionHoliday))
                {
                    List<PetSitterHoliday> list = await AddPetSitterHoliday(petSitter, pensionHoliday);
                    petSitter.PetSitterHolidays = list;
                }

                petSitters.Add(petSitter);
                petterResultType.IsSuccessful = true;
                petterResultType.JsonDataSet = petSitters;
            }
            else
            {
                petterResultType.IsSuccessful = false;
                petterResultType.JsonDataSet = null;
            }

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> GetMemberByNickName(string nickName)
        {
            PetterResultType<Member> petterResultType = new PetterResultType<Member>();
            List<Member> members = new List<Member>();

            var member = await db.Members.Where(p => p.NickName == nickName.Trim().ToLower()).SingleOrDefaultAsync();

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

            members.Add(member);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = members;

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> PostNotice()
        {
            PetterResultType<Notice> petterResultType = new PetterResultType<Notice>();
            List<Notice> notices = new List<Notice>();
            List<NoticeFile> noticeFiles = new List<NoticeFile>();

            Notice notice = new Notice();

            if (Request.Content.IsMimeMultipartContent())
            {
                string folder = HostingEnvironment.MapPath(UploadPath.NoticePath);
                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))
                    {
                        NoticeFile noticeFile = new NoticeFile();
                        var file = await content.ReadAsByteArrayAsync();

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

                        if (!FileExtension.NoticeExtensions.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.NoticeWidth, FileSize.NoticeHeight, ImageFormat.Png);
                        noticeFile.FileName = fileName;
                        noticeFile.FilePath = UploadPath.NoticePath.Replace("~", "");

                        noticeFiles.Add(noticeFile);
                    }
                    else
                    {
                        string str = await content.ReadAsStringAsync();
                        string item = HttpUtility.UrlDecode(str);

                        #region switch case
                        switch (fieldName)
                        {
                            case "MemberNo":
                                notice.MemberNo = int.Parse(item);
                                break;
                            case "Title":
                                notice.Title = item;
                                break;
                            case "Content":
                                notice.Content = item;
                                break;
                            default:
                                break;
                        }
                        #endregion switch case
                    }
                }

                notice.StateFlag = StateFlags.Use;
                notice.DateCreated = DateTime.Now;
                notice.DateModified = DateTime.Now;

                // 공지게시판 등록
                db.Notices.Add(notice);
                int num = await this.db.SaveChangesAsync();

                // 공지게시판 파일 등록
                foreach (var item in noticeFiles)
                {
                    item.NoticeNo = notice.NoticeNo;
                }
                
                db.NoticeFiles.AddRange(noticeFiles);
                int num1 = await this.db.SaveChangesAsync();

                notices.Add(notice);
                petterResultType.IsSuccessful = true;
                petterResultType.JsonDataSet = notices;
            }
            else
            {
                petterResultType.IsSuccessful = false;
                petterResultType.JsonDataSet = null;
            }

            return Ok(petterResultType);
        }
        public async Task<IHttpActionResult> GetNotice(int id)
        {
            PetterResultType<NoticeDTO> petterResultType = new PetterResultType<NoticeDTO>();
            List<NoticeDTO> notices = new List<NoticeDTO>();

            //var notice = await db.Notices.FindAsync(id);

            var notice = await db.Notices.Where(p => p.NoticeNo == id).Select(p => new NoticeDTO
            {
                NoticeNo = p.NoticeNo,
                MemberNo = p.MemberNo,
                Title = p.Title,
                Content = p.Content,
                StateFlag = p.StateFlag,
                DateCreated = p.DateCreated,
                DateModified = p.DateModified,
                DateDeleted = p.DateDeleted,
                NoticeFiles = p.NoticeFiles.ToList(),
                NoticeReplies = p.NoticeReplies.ToList()
            }).SingleOrDefaultAsync();


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

            notices.Add(notice);
            petterResultType.IsSuccessful = true;
            petterResultType.JsonDataSet = notices;

            return Ok(petterResultType);
        }