コード例 #1
0
        public ActionResult CreateAlbum(AddAlbumViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Show", "Album"));
            }

            try
            {
                var currentUserId = User.Identity.GetUserId();
                var newAlbum      = new Album()
                {
                    Name      = model.Name,
                    ProfileId = currentUserId,
                    Profile   = db.Profiles.Where(p => p.Id == currentUserId).FirstOrDefault()
                };


                db.Albums.Add(newAlbum);
                db.SaveChanges();

                return(RedirectToAction("Edit", "Album", new { albumId = newAlbum.Id }));
            }
            catch (Exception e)
            {
                return(View("InternalServerError"));
            }
        }
コード例 #2
0
ファイル: AlbumController.cs プロジェクト: Zeephyyr/mvccourse
        public ActionResult AddAlbum(AddAlbumViewModel model, HttpPostedFileBase image = null)
        {
            if (ModelState.IsValid)
            {
                if (image != null)
                {
                    model.ImageMimeType = image.ContentType;
                    model.ImageData     = new byte[image.ContentLength];
                    image.InputStream.Read(model.ImageData, 0, image.ContentLength);

                    string userId = User.Identity.GetUserId();
                    _logger.Info("User {0} requested to add a new album", userId);

                    model.UniqueUserName = _userService.GetUniqueUserNameById(userId);

                    var album = MapperHelper.GetValue <AddAlbumViewModel, Album>(model);
                    _albumService.AddAlbum(album);

                    TempData["ResultMessage"] = string.Format(SuccessMessages.SuccessfullyCreatedAlbum, model.AlbumName);

                    return(RedirectToAction("ViewAlbum", new { albumName = model.AlbumName, uniqueUserName = model.UniqueUserName }));
                }
                else
                {
                    ModelState.AddModelError("NoPic", "There is no photo");
                }
            }
            return(View(model));
        }
コード例 #3
0
        public async Task <IActionResult> CreateAlbum(AddAlbumViewModel model)
        {
            if (ModelState.IsValid)
            {
                user User = await dataBaseContext.users.Where(u => u.UserName == HttpContext.User.Identity.Name).Include(u => u.ArtistProfile).FirstOrDefaultAsync();

                if (User.ArtistProfile != null)
                {
                    string FilePath = @"\static-files\";
                    await model.Logo.CopyToAsync(new FileStream(webHostEnvironment.WebRootPath + FilePath + model.Name + "AlbumLogo", FileMode.Create));

                    playlist Album = new playlist()
                    {
                        Name = model.Name, LogoPath = webHostEnvironment.WebRootPath + FilePath + model.Name + "AlbumLogo"
                    };
                    User.ArtistProfile.Albums.Add(Album);
                    await dataBaseContext.playlists.AddAsync(Album);

                    await dataBaseContext.SaveChangesAsync();
                }
                ModelState.AddModelError("Name", "Что-то пошло не так...");
                return(Redirect("/"));
            }
            ModelState.AddModelError("Name", "Что-то пошло не так...");
            return(Redirect("/"));
        }
コード例 #4
0
        public async Task <IActionResult> AddAlbum(AddAlbumViewModel model)
        {
            ModelState.Remove("Album.VendorUser");
            ModelState.Remove("AlbumImages.AlbumId");

            if (ModelState.IsValid)
            {
                var VendorUser = await GetCurrentUserAsync();

                Album newAlbum = new Album();
                newAlbum.VendorUser = VendorUser;
                newAlbum.Title      = model.Album.Title;
                context.Add(newAlbum);
                await context.SaveChangesAsync();

                AlbumImages alimg = new AlbumImages();
                alimg.ImageUrl = model.Images.ImageUrl;
                alimg.AlbumId  = newAlbum.AlbumId;
                context.Add(alimg);
                await context.SaveChangesAsync();
            }

            try
            {
                return(RedirectToAction("UpdateProfile", "Vendor"));
            }

            catch (DbUpdateException)
            {
                return(RedirectToAction("Profile", "Vendor"));
            }
        }
コード例 #5
0
        private void AddAlbumView_Loaded(object sender, RoutedEventArgs e)
        {
            _addAlbumViewModel = (AddAlbumViewModel)this.DataContext;
            _addAlbumViewModel.AlbumUploaded += OnAlbumUploaded_ShowSanckbar;
            _addAlbumViewModel.AlbumUploaded += OnAlbumUploaded_ClearImage;

            var messageQueue = new SnackbarMessageQueue(TimeSpan.FromMilliseconds(2500));

            Snackbar.MessageQueue = messageQueue;
        }
        public IHttpActionResult AddAlbumToInventory(AddAlbumViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid Model State"));
            }

            var album = _mapper.Map <Album>(viewModel);

            _inventoryService.AddAlbum(album);

            return(Ok());
        }
コード例 #7
0
        public void AddAlbumToInventory_AddAlbumViewModel_AddsAlbumToDatabase()
        {
            var viewModel = new AddAlbumViewModel {
                Name = "Me"
            };

            _inventoryController.AddAlbumToInventory(viewModel);

            var albums = _context.Albums.ToList();

            const int expected = 1;

            Assert.AreEqual(expected, albums.Count);
        }
コード例 #8
0
        public async Task <IActionResult> Add(AddAlbumViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("Add", model));
            }

            var user = await _userManager.GetUserAsync(HttpContext.User);

            User  myUser = _repository.GetUser(user.Id);
            Album album  = new Album(myUser, model.Name);

            // myUser.Albums.Add(album); BAZU popraviti
            await _repository.AddMyAlbumAsync(album);

            return(RedirectToAction("Index"));
        }
コード例 #9
0
        public IActionResult Create(AddAlbumViewModel model)
        {
            if (this.ModelState.IsValid)
            {
                var album = new Album()
                {
                    TitleBg       = model.TitleBg,
                    TitleEn       = model.TitleEn,
                    DescriptionBg = model.DescriptionBg,
                    DescriptionEn = model.DescriptionEn,
                    CreatedOn     = DateTime.UtcNow,
                    AddedBy       = this.UserProfile,
                    Access        = model.Access
                };

                this.albumService.Add(album);
                return(this.RedirectToAction(nameof(this.Edit), new { id = album.Id }));
            }

            return(this.View(model));
        }
コード例 #10
0
ファイル: AlbumController.cs プロジェクト: RalfFV/PhotoAlbum
        public IActionResult AddAlbum(AddAlbumViewModel addAlbumViewModel)
        {
            if (ModelState.IsValid)
            {
                DateTime creationDate = DateTime.Now;

                Album album = new Album()
                {
                    Name        = addAlbumViewModel.Name,
                    Description = addAlbumViewModel.Description,
                    DateTime    = creationDate
                };

                context.Albums.Add(album);
                context.SaveChanges();

                return(Redirect("/Album"));
            }

            return(View(addAlbumViewModel));
        }
コード例 #11
0
        public IActionResult AddAlbumResult(AddAlbumViewModel model)
        {
            var dbModel = new AlbumDAL();

            dbModel.AlbumArtist   = model.Album.AlbumArtist;
            dbModel.AlbumName     = model.Album.AlbumName;
            dbModel.AlbumGenre    = model.Album.AlbumGenre;
            dbModel.AlbumCoverUrl = model.Album.AlbumCoverUrl;

            _albumDbContext.Albums.Add(dbModel);
            _albumDbContext.SaveChanges();

            var albumList = _albumDbContext.Albums
                            .Select(albumDal => new AlbumVM()
            {
                AlbumArtist = albumDal.AlbumArtist, AlbumName = albumDal.AlbumName, AlbumGenre = albumDal.AlbumGenre, AlbumCoverUrl = albumDal.AlbumCoverUrl
            })
                            .ToList();
            var viewModel = new AddAlbumResultViewModel();

            viewModel.Albums = albumList;
            return(View(viewModel));
        }
コード例 #12
0
 public AddAlbum()
 {
     InitializeComponent();
     BindingContext = model = new AddAlbumViewModel();
 }
コード例 #13
0
        public IActionResult AddAlbum()
        {
            var model = new AddAlbumViewModel();

            return(View(model));
        }