コード例 #1
0
        public static PortfolioItemViewModel ToViewModel(this PortfolioItem portfolioItem, ICollection<Tag> allDbTags)
        {
            var userProfileViewModel = new PortfolioItemViewModel
            {
                Title = portfolioItem.Title,
                ID = portfolioItem.ID,
                Description = portfolioItem.Description,
                ProjcetUrl = portfolioItem.ProjcetUrl,
                Image = portfolioItem.Image
            };

            // Collection for full list of tags with portfolioItems's already assigned tags included
            ICollection<AssignedTags> allTags = new List<AssignedTags>();

            foreach (var t in allDbTags)
            {
                // Create new AssignedTag for each tagrse and set Assigned = true if portfolioItem already has tag
                var assignedTags = new AssignedTags
                {
                    ID = t.ID,
                    Name = t.Name,
                    Assigned = portfolioItem.Tags.FirstOrDefault(x => x.ID == t.ID) != null
                };

                allTags.Add(assignedTags);
            }

            userProfileViewModel.Tags = allTags;

            return userProfileViewModel;
        }
コード例 #2
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Title,Description,ExternalReference,ProjectId")] PortfolioItemViewModel portfolioItemViewModel)
        {
            if (id != portfolioItemViewModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(portfolioItemViewModel.ToEntity(_context));
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PortfolioItemExists(portfolioItemViewModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(portfolioItemViewModel));
        }
コード例 #3
0
        public ActionResult Create(PortfolioItemViewModel portfolioItemViewModel, HttpPostedFileBase Image)
        {
            if (Image != null)
            {
                string ImageName = System.IO.Path.GetFileName(Image.FileName);
                string path = System.IO.Path.Combine(
                                       Server.MapPath("~/Images/PortfolioItems"), ImageName);
                // file is uploaded
                Image.SaveAs(path);

                portfolioItemViewModel.Image = ImageName;
            }

            if (ModelState.IsValid)
            {
                var portfolioItem = new PortfolioItem {
                    Title = portfolioItemViewModel.Title,
                    Description = portfolioItemViewModel.Description,
                    Image = portfolioItemViewModel.Image,
                    ProjcetUrl = portfolioItemViewModel.ProjcetUrl,
                };

                AddOrUpdateTags(portfolioItem, portfolioItemViewModel.Tags);
                db.PortfolioItems.Add(portfolioItem);;
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(portfolioItemViewModel);
        }
コード例 #4
0
        public IActionResult Edit(PortfolioItemViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(View(vm));
            }
            string fileName = vm.ImageUrl;

            if (vm.File != null)
            {
                string uploads = Path.Combine(hostingEnvironment.WebRootPath, @"img\portfolio");
                fileName = vm.File.FileName;
                string fullPath = Path.Combine(uploads, fileName);
                var    sr       = new FileStream(fullPath, FileMode.Create);
                vm.File.CopyTo(sr);
            }

            PortfolioItem portfolioItem = new PortfolioItem
            {
                Id          = vm.Id,
                Description = vm.Description,
                ProjectName = vm.ProjectName,
                ImageUrl    = fileName
            };

            unitOfWork.PortfolioItems.Update(portfolioItem);
            unitOfWork.SaveChanges();
            return(RedirectToAction(nameof(Index)));
        }
コード例 #5
0
        public ActionResult Create(PortfolioItemViewModel portfolioItemViewModel, HttpPostedFileBase Image)
        {
            if (Image != null)
            {
                string ImageName = System.IO.Path.GetFileName(Image.FileName);
                string path      = System.IO.Path.Combine(
                    Server.MapPath("~/Images/PortfolioItems"), ImageName);
                // file is uploaded
                Image.SaveAs(path);

                portfolioItemViewModel.Image = ImageName;
            }

            if (ModelState.IsValid)
            {
                var portfolioItem = new PortfolioItem {
                    Title       = portfolioItemViewModel.Title,
                    Description = portfolioItemViewModel.Description,
                    Image       = portfolioItemViewModel.Image,
                    ProjcetUrl  = portfolioItemViewModel.ProjcetUrl,
                };

                AddOrUpdateTags(portfolioItem, portfolioItemViewModel.Tags);
                db.PortfolioItems.Add(portfolioItem);;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(portfolioItemViewModel));
        }
コード例 #6
0
        public IActionResult Single(int itemToEdit)
        {
            PortfolioItem          p = pRepo.RetrieveItemById(itemToEdit);
            var                    mapperPortfolio = mapperHelper.PortfolioItemToPortfolioItemViewModel();
            PortfolioItemViewModel pmodel          = mapperPortfolio.Map <PortfolioItemViewModel>(p);

            return(View("SingleItem", pmodel));
        }
コード例 #7
0
        // GET: PortfolioItems/Create
        public ActionResult Create()
        {
            var portfolioItemViewModel = new PortfolioItemViewModel {
                Tags = PopulateTags()
            };

            return(View(portfolioItemViewModel));
        }
コード例 #8
0
        public async Task <IActionResult> Create()
        {
            var viewModel = new PortfolioItemViewModel();

            viewModel.ProjectOptions = await _databaseService.GetProjectBaseViewModelList();

            return(View(viewModel));
        }
コード例 #9
0
        public async Task <IActionResult> Create([Bind("Id,Title,Description,ExternalReference,ProjectId")] PortfolioItemViewModel portfolioItemViewModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(portfolioItemViewModel.ToEntity(_context));
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(portfolioItemViewModel));
        }
コード例 #10
0
        public IActionResult Overview()
        {
            PortfolioViewModel model = new PortfolioViewModel();

            model.listOfPortfolioItems = new List <PortfolioItemViewModel>();
            var mapperPortfolio = mapperHelper.PortfolioItemToPortfolioItemViewModel();

            foreach (PortfolioItem p in pRepo.RetrieveAllItems())
            {
                PortfolioItemViewModel pmodel = mapperPortfolio.Map <PortfolioItemViewModel>(p);
                model.listOfPortfolioItems.Add(pmodel);
            }
            return(View("Overview", model));
        }
コード例 #11
0
        public IActionResult Update(PortfolioItemViewModel model, string thumbnail, string frontpageImg)
        {
            PortfolioItem p = new PortfolioItem(model.itemId, model.itemTitle, model.itemDesc);

            p.categoryName = model.categoryName;
            p.FrontpageImg = frontpageImg;
            p.urlLink      = model.urlLink;
            p.urlTitle     = model.urlTitle;
            p.Thumbnail    = thumbnail;

            if (pRepo.UpdateItemById(p) == true)
            {
                return(RedirectToAction("Overview"));
            }
            return(RedirectToAction("Overview"));
        }
コード例 #12
0
 public ActionResult EditPortfolioItem(long id, long tcId, long portfolioId)
 {
     using (var db = new InnosixEntities())
     {
         ViewData["PortfolioId"] = portfolioId;
         var tcBasicInfo   = _techCompanyService.GetTcWithChildren(tcId);
         var portfolioItem = db.PortfolioItem.FirstOrDefault(p => p.Id == id);
         var viewModel     = new PortfolioItemViewModel
         {
             TcBasicInfo   = tcBasicInfo,
             PortfolioItem = portfolioItem,
             Stages        = GetStages()
         };
         return(View(viewModel));
     }
 }
コード例 #13
0
        public ActionResult Edit(PortfolioItemViewModel portfolioItemViewModel, HttpPostedFileBase Image)
        {
            var photoName = db.PortfolioItems.Find(portfolioItemViewModel.ID).Image;

            if (Image != null)
            {
                string ImageName = System.IO.Path.GetFileName(Image.FileName);
                string path      = System.IO.Path.Combine(
                    Server.MapPath("~/Images/PortfolioItems"), ImageName);
                // file is uploaded
                Image.SaveAs(path);

                portfolioItemViewModel.Image = ImageName;

                //Delete the old image

                string fullPath = Request.MapPath("~/Images/PortfolioItems/"
                                                  + photoName);

                if (System.IO.File.Exists(fullPath))
                {
                    System.IO.File.Delete(fullPath);
                }
            }
            else
            {
                portfolioItemViewModel.Image = photoName;
            }

            if (ModelState.IsValid)
            {
                var originalPortfolioItem = db.PortfolioItems.Find(portfolioItemViewModel.ID);
                AddOrUpdateTags(originalPortfolioItem, portfolioItemViewModel.Tags);
                db.Entry(originalPortfolioItem).CurrentValues.SetValues(portfolioItemViewModel);
                db.SaveChanges();

                //db.Entry(portfolioItem).State = EntityState.Modified;
                //db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(portfolioItemViewModel));
        }
コード例 #14
0
        public IActionResult Edit(Guid id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var portfolio = unitOfWork.PortfolioItems.GetById(id);

            if (portfolio == null)
            {
                return(NotFound());
            }
            PortfolioItemViewModel vm = new PortfolioItemViewModel
            {
                Id          = portfolio.Id,
                ImageUrl    = portfolio.ImageUrl,
                ProjectName = portfolio.ProjectName,
                Description = portfolio.Description,
                LinkUrl     = portfolio.LinkUrl
            };

            return(View(vm));
        }
コード例 #15
0
        public static PortfolioItemViewModel ToViewModel(this PortfolioItem portfolioItem)
        {
            var PortfolioItemViewModel = new PortfolioItemViewModel
            {
                Title = portfolioItem.Title,
                ID = portfolioItem.ID,
                Description = portfolioItem.Description,
                ProjcetUrl = portfolioItem.ProjcetUrl,
                Image = portfolioItem.Image
            };

            foreach (var tag in portfolioItem.Tags)
            {
                PortfolioItemViewModel.Tags.Add(new AssignedTags
                {
                    ID = tag.ID,
                    Name = tag.Name,
                    Assigned = true
                });
            }

            return PortfolioItemViewModel;
        }
コード例 #16
0
        public IActionResult Index()
        {
            HomeViewModel model = new HomeViewModel();

            model.listofReviews = new List <ReviewItemViewModel>();
            var mapperReview = mapperHelper.ReviewToReviewItemViewModel();

            foreach (Review r in reviewRepo.RetrieveAllReviews())
            {
                ReviewItemViewModel rmodel = mapperReview.Map <ReviewItemViewModel>(r);
                model.listofReviews.Add(rmodel);
            }

            model.listofPortfolioitems = new List <PortfolioItemViewModel>();
            var mapperPortfolio = mapperHelper.PortfolioItemToPortfolioItemViewModel();

            foreach (PortfolioItem p in portfolioRepo.RetrieveAllItems())
            {
                PortfolioItemViewModel pmodel = mapperPortfolio.Map <PortfolioItemViewModel>(p);
                model.listofPortfolioitems.Add(pmodel);
            }

            return(View("Index", model));
        }
コード例 #17
0
        public ActionResult Edit(PortfolioItemViewModel portfolioItemViewModel, HttpPostedFileBase Image)
        {
            var photoName = db.PortfolioItems.Find(portfolioItemViewModel.ID).Image;
            if (Image != null)
            {
                string ImageName = System.IO.Path.GetFileName(Image.FileName);
                string path = System.IO.Path.Combine(
                                       Server.MapPath("~/Images/PortfolioItems"), ImageName);
                // file is uploaded
                Image.SaveAs(path);

                portfolioItemViewModel.Image = ImageName;

                //Delete the old image

                string fullPath = Request.MapPath("~/Images/PortfolioItems/"
                + photoName);

                if (System.IO.File.Exists(fullPath))
                {
                    System.IO.File.Delete(fullPath);
                }
            }
            else
            {

                portfolioItemViewModel.Image = photoName;
            }

            if (ModelState.IsValid)
            {
                var originalPortfolioItem = db.PortfolioItems.Find(portfolioItemViewModel.ID);
                AddOrUpdateTags(originalPortfolioItem, portfolioItemViewModel.Tags);
                db.Entry(originalPortfolioItem).CurrentValues.SetValues(portfolioItemViewModel);
                db.SaveChanges();

                //db.Entry(portfolioItem).State = EntityState.Modified;
                //db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(portfolioItemViewModel);
        }
コード例 #18
0
 // GET: PortfolioItems/Create
 public ActionResult Create()
 {
     var portfolioItemViewModel = new PortfolioItemViewModel { Tags = PopulateTags()  };
     return View(portfolioItemViewModel);
 }