예제 #1
0
        private static ImageGalleryResponse LoadAllImage(ImageGalleryRequest imageGalleryRequest, List <ImageGalleryItem> rawList)
        {
            //IEnumerable<ImageGalleryItem> items = null;
            //switch (imageGalleryRequest.NextData)
            //{
            //    case NextData.Next:
            //        items = rawList.Where(i => i.ID > imageGalleryRequest.CurrentImageID);
            //        if (items == null)
            //            item = rawList.First();
            //        break;
            //    case NextData.Prev:
            //        item = rawList.LastOrDefault(i => i.ID < imageGalleryRequest.CurrentImageID);
            //        if (item == null)
            //            item = rawList.Last();
            //        break;
            //    case NextData.Current:
            //        item = rawList.FirstOrDefault(i => i.ID == imageGalleryRequest.CurrentImageID);
            //        if (item == null)
            //            item = rawList.FirstOrDefault(i => i.ID > imageGalleryRequest.CurrentImageID);
            //        if (item == null)
            //            item = rawList.LastOrDefault(i => i.ID < imageGalleryRequest.CurrentImageID);
            //        break;


            //}

            return(new ImageGalleryResponse()
            {
                Images = rawList.ToArray()
            });
        }
예제 #2
0
        public ImageGalleryResponse GetImages(object request)
        {
            ImageGalleryRequest imageGalleryRequest = this.ConvertStupidArgumentToNormalRequset <ImageGalleryRequest>(request);
            ImageGalleryItem    item = null;
            SqlConnection       con  = initializeConnection();

            try
            {
                con.Open();
                SqlCommand cmd = new SqlCommand("ImagesGallery_NewSelect", con);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                List <ImageGalleryItem> rawList = new List <ImageGalleryItem>();
                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        ImageGalleryItem imageGalleryItem = new ImageGalleryItem()
                        {
                            ID      = Convert.ToInt32(reader["ID"]),
                            ImageID = Convert.ToString(reader["ImageID"]),

                            ImageURL  = Convert.ToString(reader["ImageURL"]),
                            Order     = Convert.ToDouble(reader["Order"]),
                            TimeStamp = Convert.ToDateTime(reader["TimeStamp"]),
                            Visible   = Convert.ToBoolean(reader["Visible"])
                        };
                        rawList.Add(imageGalleryItem);
                    }
                }

                ImageGalleryResponse imageGalleryResponse = null;
                switch (imageGalleryRequest.DataAmount)
                {
                case DataAmount.All:
                    imageGalleryResponse = LoadAllImage(imageGalleryRequest, rawList);
                    break;

                case DataAmount.Single:
                    imageGalleryResponse = LoadSingleImage(imageGalleryRequest, rawList);
                    break;

                    break;
                }

                return(imageGalleryResponse);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #3
0
        private static ImageGalleryResponse LoadSingleImage(ImageGalleryRequest imageGalleryRequest, List <ImageGalleryItem> rawList)
        {
            ImageGalleryItem item = null;

            switch (imageGalleryRequest.NextData)
            {
            case NextData.Next:
                item = rawList.FirstOrDefault(i => i.ID > imageGalleryRequest.CurrentImageID);
                if (item == null)
                {
                    item = rawList.First();
                }
                break;

            case NextData.Prev:
                item = rawList.LastOrDefault(i => i.ID < imageGalleryRequest.CurrentImageID);
                if (item == null)
                {
                    item = rawList.Last();
                }
                break;

            case NextData.Current:
                item = rawList.FirstOrDefault(i => i.ID == imageGalleryRequest.CurrentImageID);
                if (item == null)
                {
                    item = rawList.FirstOrDefault(i => i.ID > imageGalleryRequest.CurrentImageID);
                }
                if (item == null)
                {
                    item = rawList.LastOrDefault(i => i.ID < imageGalleryRequest.CurrentImageID);
                }
                break;
            }

            return(new ImageGalleryResponse()
            {
                Image = item
            });
        }