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; } }
public ActionResult RenderImageGallery() { ImageGallerySource viewModel = null; try { //get the datasource item assigned to the rendering Item renderingDatasourceItem = SitecoreUtility.GetRenderingDatasourceItem(); if (renderingDatasourceItem != null && renderingDatasourceItem.TemplateID == References.Templates.ImageGallerySource.ID) { viewModel = new ImageGallerySource(renderingDatasourceItem); if (viewModel.IsActive) { //get the list of items selected in the multilist field IList <Item> featuredItems = SitecoreUtility.GetSelectedItemsInMultilistField(viewModel.InnerItem, References.Templates.ImageGallerySource.Fields.GalleryItems); //check for each item if it is of valid template and active.If yes, then add it to the list if (featuredItems != null && featuredItems.Count > 0) { viewModel.GalleryItems = new List <ImageGalleryItem>(); foreach (Item featuredItem in featuredItems) { if (featuredItem.TemplateID == References.Templates.ImageGalleryItem.ID) { ImageGalleryItem imageGalleryItem = new ImageGalleryItem(featuredItem); if (imageGalleryItem != null && imageGalleryItem.IsActive) { viewModel.GalleryItems.Add(imageGalleryItem); } } } } } else { viewModel = null; } } } catch (System.Exception ex) { LogManager.SaveLog(System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name, ex, LogManager.LogTypes.Error, string.Empty); } return(View(GlobalConstants.SUBLAYOUTS_PATH + "PageContent/ImageGallery.cshtml", viewModel)); }
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 }); }