示例#1
0
        public async Task <IActionResult> Create([Bind("Id,Name,Image,Description,Keywords,Tags")] PicGallery picGallery, IFormFile file, IList <IFormFile> files)
        {
            if (ModelState.IsValid)
            {
                if (file == null || file.Length == 0 && files == null)
                {
                    picGallery.Image = "1.jpg";
                    //pgcViewModel.picCollectionGallery. = "2.jpg";
                }
                else
                {
                    var uploadsRootFolder = Path.Combine(_environment.WebRootPath, "metro/img/PicGallery");
                    if (!Directory.Exists(uploadsRootFolder))
                    {
                        Directory.CreateDirectory(uploadsRootFolder);
                    }
                    //جهت جلوگیری از نام تکراری فایل و جایگزینی
                    String guid = Guid.NewGuid().ToString();

                    picGallery.Image = guid + file.FileName;
                    using (Image img = Image.FromStream(file.OpenReadStream()))
                    {
                        Stream ms = new MemoryStream(img.Resize(470, 480).ToByteArray());

                        //return new FileStreamResult(ms, "image/jpg");

                        var filePath = Path.Combine(uploadsRootFolder, guid + file.FileName);

                        using (var fileStream = new FileStream(filePath, FileMode.Create))
                        {
                            await ms.CopyToAsync(fileStream).ConfigureAwait(false);
                        }
                    }
                    _context.Add(picGallery);
                    //await _context.SaveChangesAsync();
                    //جهت جلوگیری از نام تکراری فایل و جایگزینی
                    String guid_picgall = Guid.NewGuid().ToString();
                    foreach (var fil in files)
                    {
                        var piccg = new PicCollectionGallery();
                        {
                            piccg.Image        = guid_picgall + fil.FileName;
                            piccg.PicGalleryId = picGallery.Id;
                        }
                        //using (Image img = Image.FromStream(files.OpenReadStream()))
                        //{
                        //    Stream ms = new MemoryStream(img.Resize(1920, 585).ToByteArray());

                        //return new FileStreamResult(ms, "image/jpg");

                        var filePath = Path.Combine(uploadsRootFolder, guid_picgall + fil.FileName);

                        using (var fileStream = new FileStream(filePath, FileMode.Create))
                        {
                            await fil.CopyToAsync(fileStream).ConfigureAwait(false);
                        }
                        _context.Add(piccg);
                    }
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(picGallery));
        }
示例#2
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name,Image,Description,Keywords,Tags")] PicGallery picGallery, IFormFile file)
        {
            if (id != picGallery.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    //جهت برطرف کردن خطای سازنده باز بودن ترک قبل از عملیات پردازش EF7
                    var original = _context.PicGallery.AsNoTracking().FirstOrDefault(p => p.Id == id);
                    if (file != null)
                    {
                        var           uploadsRootFolder = Path.Combine(_environment.WebRootPath, "metro/img/PicGallery");
                        DirectoryInfo directory         = new DirectoryInfo(uploadsRootFolder);
                        //Directory.GetFiles(uploadsRootFolder + originalPerson.Image);
                        //چک میکنیم تا عکس پیش فرض رو پاک نکند
                        if (original.Image != "1.jpg")
                        {
                            foreach (FileInfo fileEF in directory.GetFiles())
                            {
                                if (fileEF.Name.Equals(original.Image))
                                {
                                    fileEF.Delete();
                                }
                            }
                        }
                        picGallery.Image = file.FileName;
                        using (Image img = Image.FromStream(file.OpenReadStream()))
                        {
                            Stream ms = new MemoryStream(img.Resize(470, 480).ToByteArray());

                            //return new FileStreamResult(ms, "image/jpg");

                            var filePath = Path.Combine(uploadsRootFolder, file.FileName);

                            using (var fileStream = new FileStream(filePath, FileMode.Create))
                            {
                                await ms.CopyToAsync(fileStream).ConfigureAwait(false);
                            }
                        }
                    }
                    else
                    {
                        picGallery.Image = original.Image;
                    }


                    //var PGC = _context.PicCollectionGallery.Where(p => p.PicGalleryId == id).ToList();

                    //if (PGC == null)
                    //{
                    //    return NotFound();
                    //}

                    _context.Update(picGallery);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PicGalleryExists(picGallery.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(picGallery));
        }
示例#3
0
        private void MainWindow_ContentRendered(object sender, EventArgs e)
        {
            // Update values
            AllowDrop       = true;
            IsScrollEnabled = Properties.Settings.Default.ScrollEnabled;
            Pics            = new List <string>();
            //DataContext = this;
            MonitorInfo = MonitorSize.GetMonitorSize();

            // Load image if possible
            if (Application.Current.Properties["ArbitraryArgName"] == null)
            {
                Unload();
                UpdateColor();
            }
            else
            {
                Pic(Application.Current.Properties["ArbitraryArgName"].ToString());

                if (Properties.Settings.Default.Fullscreen)
                {
                    Fullscreen_Restore(true);
                }
                else
                {
                    UpdateColor();
                }
            }

            LoadClickArrow(true);
            LoadClickArrow(false);
            Loadx2();
            LoadMinus();

            // Update WindowStyle
            if (!Properties.Settings.Default.ShowInterface)
            {
                clickArrowLeft.Opacity      =
                    clickArrowRight.Opacity =
                        x2.Opacity          =
                            minus.Opacity   =
                                0;

                clickArrowLeft.Visibility      =
                    clickArrowRight.Visibility =
                        x2.Visibility          =
                            minus.Visibility   =
                                Visibility.Visible;
            }

            mainColor = (Color)Application.Current.Resources["MainColor"];
            if (!Properties.Settings.Default.BgColorWhite)
            {
                imgBorder.Background = new SolidColorBrush(Colors.Transparent);
            }

            backgroundBorderColor = (Color)Application.Current.Resources["BackgroundColorAlt"];

            // Load PicGallery, if needed
            if (Properties.Settings.Default.PicGallery > 0)
            {
                picGallery = new PicGallery
                {
                    Opacity    = 0,
                    Visibility = Visibility.Collapsed
                };

                bg.Children.Add(picGallery);
                Panel.SetZIndex(picGallery, 999);

                if (Properties.Settings.Default.PicGallery == 2 && freshStartup)
                {
                    PicGalleryToggle.ToggleGallery();
                }
            }

            // Add UserControls :)
            LoadTooltipStyle();
            LoadFileMenu();
            LoadImageSettingsMenu();
            LoadQuickSettingsMenu();
            LoadFunctionsMenu();
            LoadAutoScrollSign();

            // Update UserControl values
            quickSettingsMenu.ToggleScroll.IsChecked = IsScrollEnabled;
            if (FitToWindow)
            {
                quickSettingsMenu.SetFit.IsChecked    = true;
                quickSettingsMenu.SetCenter.IsChecked = false;
            }

            else
            {
                quickSettingsMenu.SetCenter.IsChecked = true;
                quickSettingsMenu.SetFit.IsChecked    = false;
            }

            // Initilize Things!
            RecentFiles.Initialize();
            InitializeZoom();

            // Add things!
            AddEvents();
            AddTimers();
            AddContextMenus();

            // Updates settings from older version to newer version
            if (Properties.Settings.Default.CallUpgrade)
            {
                Properties.Settings.Default.Upgrade();
                Properties.Settings.Default.CallUpgrade = false;
            }

            AjaxLoadingEnd();
        }