Exemple #1
0
        public void TestImageGalleryViewModelCreation()
        {
            // This test is trivial. Add your own tests for the logic you add to the ViewModel.
            var vm = new ImageGalleryViewModel();

            Assert.NotNull(vm);
        }
        public ImageGalleryPage()
        {
            InitializeComponent();

            Model            = new ImageGalleryViewModel();
            this.DataContext = Model;
        }
Exemple #3
0
        public void Post([FromBody] ImageGalleryViewModel imageGalleryView)
        {
            if (!ModelState.IsValid)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return;
            }

            ImageGallery imageGallery = imageGalleryView.ToBaseModel();

            // TODO: Convert user Id from Guid to String in DB
            Guid userCreated = new Guid(userManager.GetUserId(User));

            imageGallery.userCreated = userCreated;
            imageGallery.userChanged = userCreated;

            DateTime utcNow = DateTime.UtcNow;

            imageGallery.DateCreated = utcNow;
            imageGallery.DateChanged = utcNow;

            int imageGalleryId = imageGalleryBll.SaveImageGallery(imageGallery);

            // move images from temp folder
            if (imageGalleryId > 0 && imageGalleryView.createNew)
            {
                string tempFolderName = imageGallery.GetGalleryUniqueDir(imageGalleryView.tempGuid, true);
                string tempPath       = imageGalleryView.path;
                string storagePath    = imageGallery.GetGalleryUniquePath();

                LocalStorageHelper.MoveFromTempToStorage(storagePath, tempPath, tempFolderName);
            }
        }
        private void _DisplayImage_MouseMove(object sender, MouseEventArgs e)
        {
            ImageGalleryViewModel viewModel = (ImageGalleryViewModel)DataContext;

            if (viewModel == null)
            {
                return;
            }

            if (_DisplayImage.Source == null)
            {
                return;
            }

            Point point = new Point((e.GetPosition(_DisplayImage).X *_ImageZoomRate), (e.GetPosition(_DisplayImage).Y *_ImageZoomRate));

            viewModel.PixelX = ((int)point.X);
            viewModel.PixelY = ((int)point.Y);

            byte[] pixels = new byte[viewModel.DisplayImage.Format.BitsPerPixel / 8];
            var    stride = viewModel.DisplayImage.Format.BitsPerPixel / 8 * viewModel.DisplayImage.PixelWidth;
            var    offset = viewModel.PixelY * stride + viewModel.PixelX * viewModel.DisplayImage.Format.BitsPerPixel / 8;

            viewModel.DisplayImage.CopyPixels(new Int32Rect(viewModel.PixelX, viewModel.PixelY, 1, 1), pixels, stride, 0);

            if (viewModel.DisplayImage.Format == PixelFormats.Rgb24)
            {
                viewModel.PixelIntensity = string.Format("R: {0} G: {1} B: {2}", pixels[0], pixels[1], pixels[2]);
            }
            else if (viewModel.DisplayImage.Format == PixelFormats.Gray16)
            {
                viewModel.PixelIntensity = string.Format("{0}", pixels[1] * 255 + pixels[0]);
            }

            if (_DisplayImage.IsMouseCaptured)
            {
                Point p = e.MouseDevice.GetPosition(_DisplayCanvas);

                Matrix m = _DisplayImage.RenderTransform.Value;
                //m.OffsetX = origin.X + (p.X - start.X);
                //m.OffsetY = origin.Y + (p.Y - start.Y);
                double deltaX = origin.X + (p.X - start.X);
                double deltaY = origin.Y + (p.Y - start.Y);

                if (p.X > 0 && p.Y > 0 && p.X < _DisplayCanvas.ActualWidth && p.Y < _DisplayCanvas.ActualHeight)
                {
                    //m.OffsetX = deltaX;
                    //Matrix m = _DisplayImage.RenderTransform.Value;
                    //m.Translate(deltaX, deltaY);
                    m.OffsetX = deltaX;
                    m.OffsetY = deltaY;

                    _DisplayImage.RenderTransform = new MatrixTransform(m);
                    //_DisplayImage.ReleaseMouseCapture();
                    //viewModel.Matrix = _DisplayImage.RenderTransform.Value;
                }
            }
        }
Exemple #5
0
 public MainPage()
 {
     InitializeComponent();
     Title               = "Custom Gallery";
     _viewModel          = new ImageGalleryViewModel();
     this.BindingContext = _viewModel;
     NavigationPage.SetHasBackButton(this, false);
     Constants.GalleryCollection = new ObservableCollection <GalleryClass>();
     SearchEntry.TextChanged    += (sender, e) => SearchProjects(SearchEntry.Text);
 }
Exemple #6
0
        //
        // GET /gallery
        public ActionResult Gallery()
        {
            // check if the user have added a "Events" page
            var pageTitle = context.Pages.SingleOrDefault(a => a.CustomPage == "imagegallery");

            // if page doesn't exist, use the generic page title
            ViewBag.PageTitle = (pageTitle == null) ? "Gallery" : pageTitle.Title;

            ImageGalleryViewModel IGVM = new ImageGalleryViewModel();

            IGVM.Images = context.Images.OrderBy(a => a.Order).ToList();
            IGVM.ImageGallerySettings = context.ImageGallerySettings.FirstOrDefault();

            return(View(IGVM));
        }
        public HttpResponseMessage GetImages(string galleryName, int page = 1)
        {
            HttpResponseMessage response = new HttpResponseMessage();

            try
            {
                PagerParameters pagerParameters = new PagerParameters();
                pagerParameters.PageSize = _siteService.GetSiteSettings().PageSize;
                pagerParameters.Page     = page;
                Pager pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);

                Models.ImageGallery imageGallery = _imageGalleryService.GetImageGalleryPaged(galleryName, pagerParameters);

                if (imageGallery == null)
                {
                    return(null);
                }

                PluginFactory pluginFactory = PluginFactory.GetFactory(Plugin.PrettyPhoto);

                RegisterStaticContent(pluginFactory.PluginResourceDescriptor);

                ImageGalleryViewModel viewModel = new ImageGalleryViewModel {
                    ImageGalleryPlugin = pluginFactory.Plugin
                };
                viewModel.ImageGalleryName = imageGallery.Name;
                viewModel.Images           = imageGallery.Images;
                viewModel.Pager            = pager;
                viewModel.TotalItemsCount  = imageGallery.TotalItemsCount;

                response.Content = Serialize(viewModel, response);
            }
            catch (Exception ex)
            {
                response.StatusCode = System.Net.HttpStatusCode.BadRequest;
                Logger.Error(string.Format("Error occurs when GetImages : {0}", ex.StackTrace));
            }

            return(response);
        }
Exemple #8
0
        public void Put(int id, [FromBody] ImageGalleryViewModel imageGalleryView)
        {
            if (id != imageGalleryView.id)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return;
            }

            if (!ModelState.IsValid)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return;
            }

            ImageGallery imageGallery = imageGalleryView.ToBaseModel();

            // TODO: Convert user Id from Guid to String in DB
            imageGallery.userChanged = new Guid(userManager.GetUserId(User));
            imageGallery.DateChanged = DateTime.UtcNow;

            imageGalleryBll.SaveImageGallery(imageGallery);
        }
Exemple #9
0
        protected override DriverResult Display(ImageGalleryPart part, string displayType, dynamic shapeHelper)
        {
            if (string.Equals(displayType, "SummaryAdmin", StringComparison.OrdinalIgnoreCase) &&
                string.Equals(displayType, "Summary", StringComparison.OrdinalIgnoreCase))
            {
                // Image gallery returns nothing if in Summary Admin
                return(null);
            }

            if (!part.Record.DisplayImageGallery.GetValueOrDefault() || string.IsNullOrWhiteSpace(part.Record.ImageGalleryName))
            {
                return(null);
            }

            Models.ImageGallery imageGallery = _imageGalleryService.GetImageGallery(part.ImageGalleryName);

            if (imageGallery == null)
            {
                return(null);
            }

            PluginFactory pluginFactory = PluginFactory.GetFactory(part.SelectedPlugin);

            RegisterStaticContent(pluginFactory.PluginResourceDescriptor);

            ImageGalleryViewModel viewModel = new ImageGalleryViewModel {
                ImageGalleryPlugin = pluginFactory.Plugin
            };

            viewModel.ImageGalleryName = imageGallery.Name;
            viewModel.Images           = imageGallery.Images;

            return(ContentShape("Parts_ImageGallery",
                                () => shapeHelper.DisplayTemplate(
                                    TemplateName: pluginFactory.Plugin.ImageGalleryTemplateName,//"Parts/ImageGallery",
                                    Model: viewModel,
                                    Prefix: Prefix)));
        }
        public static ImageGallery ToBaseModel(this ImageGalleryViewModel imageGalleryModel)
        {
            if (imageGalleryModel == null)
            {
                return(null);
            }

            return(new ImageGallery()
            {
                Id = imageGalleryModel.id,
                Author = imageGalleryModel.author,
                Description = imageGalleryModel.description,
                DateChanged = imageGalleryModel.dateChanged,
                DateCreated = imageGalleryModel.dateCreated,
                DateDisplayed = imageGalleryModel.dateDisplayed,
                Enable = imageGalleryModel.enable,
                Header = imageGalleryModel.header,
                Priority = imageGalleryModel.priority,
                Title = imageGalleryModel.title,
                URLKey = imageGalleryModel.urlKey,
                Visibility = imageGalleryModel.visibility
            });
        }
        protected override DriverResult Display(ImageGalleryPart part, string displayType, dynamic shapeHelper) {
            PluginFactory pluginFactory = PluginFactory.GetFactory(part.SelectedPlugin);
            Models.ImageGallery imageGallery = _imageGalleryService.GetImageGallery(part.ImageGalleryName);

            if (displayType == "SummaryAdmin") {
                // Image gallery returns nothing if in Summary Admin
                return null;
            }

            if (!part.DisplayImageGallery || string.IsNullOrWhiteSpace(part.ImageGalleryName)){
                return null;
            }

            RegisterStaticContent(pluginFactory.PluginResourceDescriptor);

            ImageGalleryViewModel viewModel = new ImageGalleryViewModel {ImageGalleryPlugin = pluginFactory.Plugin};
            viewModel.Images = imageGallery.Images;           

            return ContentShape("Parts_ImageGallery",
                                () => shapeHelper.DisplayTemplate(
                                    TemplateName: pluginFactory.Plugin.ImageGalleryTemplateName,//"Parts/ImageGallery",
                                    Model: viewModel,
                                    Prefix: Prefix));
        }
Exemple #12
0
        protected override DriverResult Display(ImageGalleryPart part, string displayType, dynamic shapeHelper)
        {
            if (string.Equals(displayType, "SummaryAdmin", StringComparison.OrdinalIgnoreCase) &&
                string.Equals(displayType, "Summary", StringComparison.OrdinalIgnoreCase))
            {
                // Image gallery returns nothing if in Summary Admin
                return(null);
            }

            if (!part.Record.DisplayImageGallery.GetValueOrDefault() || string.IsNullOrWhiteSpace(part.Record.ImageGalleryName))
            {
                return(null);
            }

            //TODO get image gallery by paging
            int page = HttpContext.Current.Request.QueryString["page"] == null ? 1 : Convert.ToInt32(HttpContext.Current.Request.QueryString["page"]);

            PagerParameters pagerParameters = new PagerParameters();

            pagerParameters.PageSize = _siteService.GetSiteSettings().PageSize;
            pagerParameters.Page     = page;
            Pager pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);

            Models.ImageGallery imageGallery = _imageGalleryService.GetImageGalleryPaged(part.ImageGalleryName, pagerParameters);

            if (imageGallery == null)
            {
                return(null);
            }

            PluginFactory pluginFactory = PluginFactory.GetFactory(part.SelectedPlugin);

            RegisterStaticContent(pluginFactory.PluginResourceDescriptor);

            ImageGalleryViewModel viewModel = new ImageGalleryViewModel {
                ImageGalleryPlugin = pluginFactory.Plugin
            };

            viewModel.ImageGalleryName = imageGallery.Name;
            viewModel.Images           = imageGallery.Images;
            viewModel.Pager            = pager;
            viewModel.TotalItemsCount  = imageGallery.TotalItemsCount;

            // Construct a Pager shape
            var pagerShape = Shape.Pager(pager).TotalItemCount(viewModel.TotalItemsCount);

            viewModel.PagerShape = pagerShape;

            return(ContentShape("Parts_ImageGallery",
                                () => shapeHelper.DisplayTemplate(
                                    TemplateName: pluginFactory.Plugin.ImageGalleryTemplateName,//"Parts/ImageGallery",
                                    Model: viewModel,
                                    Prefix: Prefix)));

            //return Combined(
            //    ContentShape("Parts_ImageGallery",
            //                    () => shapeHelper.DisplayTemplate(
            //                        TemplateName: pluginFactory.Plugin.ImageGalleryTemplateName,//"Parts/ImageGallery",
            //                        Model: viewModel,
            //                        Prefix: Prefix)),
            //    ContentShape("Pager",
            //        () => shapeHelper.Pager(Pager: pager))
            //    );
        }
Exemple #13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ImageGalleryPage"/> class.
 /// </summary>
 public ImageGalleryPage()
 {
     this.InitializeComponent();
     this.BindingContext = this.vm = App.Container.Resolve <ImageGalleryViewModel>();
 }
 public ImageGalleryPage()
 {
     InitializeComponent();
     BindingContext = new ImageGalleryViewModel();
 }