コード例 #1
0
        public ActionResult Detail(AlbumModel model)
        {
            if (ModelState.IsValid)
            {
                var album = new Album()
                {
                    Id       = model.Id,
                    ArtistId = model.ArtistId,
                    Name     = model.Name,
                    Type     = (MusicalogAlbumService.AlbumType)model.Type,
                    Label    = model.Label,
                    Stock    = model.Stock
                };

                using (MusicalogAlbumServiceClient client = new MusicalogAlbumServiceClient())
                {
                    var artistsDto = album.Id > 0 ? client.UpdateAlbum(album.Id, album) : client.CreateAlbum(album);
                    if (artistsDto.Id > 0)
                    {
                        ViewBag.Message = string.Format("Album has been {0} successfuly.", album.Id > 0 ? "saved" : "created");
                        if (model.Id == 0)
                        {
                            ModelState.Clear();
                            model = new AlbumModel();
                        }
                        initializeStaticDatas(model);
                        return(View(model));
                    }
                }
            }
            initializeStaticDatas(model);
            return(View(model));
        }
コード例 #2
0
        public ActionResult Detail(int?id)
        {
            var model = new AlbumModel();

            if (id.GetValueOrDefault() == 0)
            {
                ViewBag.Title = "Creating Album";
            }
            else
            {
                ViewBag.Title = "Editing Album";
                using (MusicalogAlbumServiceClient client = new MusicalogAlbumServiceClient())
                {
                    var albumDto = client.GetAlbum(id.GetValueOrDefault());
                    if (albumDto != null && albumDto.Id > 0)
                    {
                        model = new AlbumModel()
                        {
                            Id       = albumDto.Id,
                            ArtistId = albumDto.ArtistId,
                            Name     = albumDto.Name,
                            Type     = (Models.AlbumType)albumDto.Type,
                            Label    = albumDto.Label,
                            Stock    = albumDto.Stock
                        };
                        initializeStaticDatas(model);
                        return(View(model));
                    }
                }
            }
            initializeStaticDatas(model);
            return(View(model));
        }
コード例 #3
0
        public ActionResult Delete(int?id)
        {
            using (MusicalogAlbumServiceClient client = new MusicalogAlbumServiceClient())
            {
                if (client.DeleteAlbum(id.GetValueOrDefault()))
                {
                    ViewBag.Message = "Album has been deleted successfuly.";
                }
            }

            return(RedirectToAction("Index"));
        }
コード例 #4
0
        public ActionResult Index(int?page, int?pageSize, string sortExpression)
        {
            var pageCount = 0;

            if (page == null || page < 1)
            {
                page = 1;
            }

            if (pageSize == null || pageSize < 1)
            {
                pageSize = Convert.ToInt32(ConfigurationManager.AppSettings["DefaultPageSize"]);
            }

            if (sortExpression == null)
            {
                sortExpression = "Name ASC";
            }

            List <AlbumListItemModel> albumModels = new List <AlbumListItemModel>();

            using (MusicalogAlbumServiceClient client = new MusicalogAlbumServiceClient())
            {
                var artists = client.GetAlbums(page, pageSize, sortExpression);
                foreach (var artist in artists.PageData)
                {
                    albumModels.Add(new AlbumListItemModel
                    {
                        AlbumId              = artist.AlbumId,
                        AlbumName            = artist.AlbumName,
                        AlbumType            = (Models.AlbumType)artist.AlbumType,
                        AlbumTypeDescription = artist.AlbumType.ToString(),
                        ArtistName           = artist.ArtistName,
                        Stock = artist.Stock
                    });
                }

                pageCount = artists.FilteredCount;
            }

            ViewBag.PageNumber     = page;
            ViewBag.PageSize       = pageSize;
            ViewBag.SortExpression = sortExpression;

            var model = new StaticPagedList <AlbumListItemModel>(albumModels, Convert.ToInt32(page), Convert.ToInt32(pageSize), albumModels.Count > 0 ? pageCount : 0);

            return(View(model));
        }