Beispiel #1
0
        public IHttpActionResult PutSong(int id, Song song)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != song.SongId)
            {
                return(BadRequest());
            }

            db.Entry(song).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SongExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = song.SongId }, song));
        }
Beispiel #2
0
        public IHttpActionResult PutAlbum(int id, Album album)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != album.AlbumId)
            {
                return(BadRequest());
            }

            db.Entry(album).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AlbumExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = album.AlbumId }, album));
        }
Beispiel #3
0
 public ActionResult Create(Genre model)
 {
     context.Entry(model).State = System.Data.Entity.EntityState.Added;
     context.SaveChanges();
     TempData["success"] = "Tür ekleme işlemi başarıyla tamamlandı.";
     return(RedirectToAction("index"));
 }
Beispiel #4
0
        public ActionResult Create([Bind(Include = "ArtistId,Name,Bio,Origin,Picture")] Artist artist)
        {
            if (ModelState.IsValid)
            {
                db.Artists.Add(artist);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(artist));
        }
 public ActionResult Create(Artist model)
 {
     if (model.PhotoFile != null)
     {
         model.Photo = new WebImage(model.PhotoFile.InputStream).Resize(301, 301).Crop(1,1).AddTextWatermark("www.musicstore.com", opacity: 70).GetBytes("jpeg");
     }
     context.Entry(model).State = System.Data.Entity.EntityState.Added;
     context.SaveChanges();
     TempData["success"] = "Sanatçı ekleme işlemi başarıyla tamamlandı.";
     return RedirectToAction("index");
 }
        public ActionResult Create([Bind(Include = "Id,StoreName,PhoneNumber,Email,Address,City")] Branch branch)
        {
            if (ModelState.IsValid)
            {
                db.branches.Add(branch);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(branch));
        }
 public ActionResult Create(Album model)
 {
     if (model.PhotoFile != null)
     {
         model.CoverImage = new WebImage(model.PhotoFile.InputStream).Resize(601, 601).Crop(1, 1).AddTextWatermark("www.musicstore.com", fontColor: "Red", opacity: 70).GetBytes("jpeg");
     }
     model.Price = decimal.Parse(model.PriceText);
     context.Entry(model).State = System.Data.Entity.EntityState.Added;
     context.SaveChanges();
     TempData["success"] = "Albüm ekleme işlemi başarıyla tamamlandı.";
     return(RedirectToAction("index"));
 }
Beispiel #8
0
        public ActionResult Create([Bind(Include = "AlbumId,Title,Poster,Genre,ReleaseDate,Price,ArtistId")] Album album)
        {
            if (ModelState.IsValid)
            {
                db.Albums.Add(album);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId);
            return(View(album));
        }
Beispiel #9
0
        public ActionResult Create([Bind(Include = "SongId,Title,Length,AlbumId")] Song song)
        {
            if (ModelState.IsValid)
            {
                db.Songs.Add(song);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.AlbumId = new SelectList(db.Albums, "AlbumId", "Title", song.AlbumId);
            return(View(song));
        }
        public ActionResult Create(Album album)
        {
            if (ModelState.IsValid)
            {
                _dbContext.Albums.Add(album);
                _dbContext.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.GenreId  = new SelectList(_dbContext.Genres, "GenreId", "Name", album.GenreId);
            ViewBag.ArtistId = new SelectList(_dbContext.Artists, "ArtistId", "Name", album.ArtistId);
            return(View(album));
        }
        public ActionResult Create([Bind(Include = "Id,Name,Age,PhoneNumber,Email,Address,City")] Customer customer)
        {
            if (ModelState.IsValid)
            {
                customer.LogId = User.Identity.GetUserId();
                db.customers.Add(customer);
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(View(customer));
        }
Beispiel #12
0
        public ActionResult Create([Bind(Include = "Id,SerialNumber,Name,Artist,Genre,Year,Description,Price,BranchId,Sales")] Item item)
        {
            if (ModelState.IsValid)
            {
                db.items.Add(item);
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            ViewBag.BranchId = new SelectList(db.branches, "Id", "Name", item.BranchId);
            return(View(item));
        }
Beispiel #13
0
        public IActionResult Save(Products product)
        {
            if (product.Id > 0)
            {
                _musicStoreContext.Update(product);
            }
            else
            {
                _musicStoreContext.Add(product);
            }

            _musicStoreContext.SaveChanges();

            return(RedirectToAction("Edit", new { id = product.Id }));
        }
Beispiel #14
0
        public ArtistRepositoryTests()
        {
            // set up test data
            var options = new DbContextOptionsBuilder <MusicStoreDbContext>()
                          .UseInMemoryDatabase(databaseName: "test_db" + Guid.NewGuid().ToString())
                          .Options;

            this.db = new MusicStoreDbContext(options);
            foreach (string g in _validGenres)
            {
                this.db.Genres.Add(new DbGenre {
                    Name = g, CreatedUtc = DateTime.UtcNow
                });
            }
            var imageResource = new DbImageResource()
            {
                MimeType = "img/png",
                Data     = new byte[10]
            };

            db.ImageResources.Add(imageResource);

            db.SaveChanges();
            _validImageId = imageResource.Id;

            var loggerMock = new Mock <ILogger <ArtistController> >();

            this.repo = new ArtistRepository(this.db, new ArtistMapper());
        }
Beispiel #15
0
        public ActionResult AddressAndPayment(FormCollection values)
        {
            var order = new Order();

            TryUpdateModel(order);

            try
            {
                if (string.Equals(values["PromoCode"], PromoCode,
                                  StringComparison.OrdinalIgnoreCase) == false)
                {
                    return(View(order));
                }

                order.Username  = User.Identity.Name;
                order.OrderDate = DateTime.Now;

                _dbContext.Orders.Add(order);
                _dbContext.SaveChanges();

                var cart = Models.ShoppingCart.GetCart(HttpContext);
                cart.CreateOrder(order);

                return(RedirectToAction("Complete",
                                        new { id = order.OrderId }));
            }
            catch
            {
                return(View(order));
            }
        }
Beispiel #16
0
        public IActionResult AddressAndPayment(AddressAndPaymentViewModel model)
        {
            if (ModelState.IsValid)
            {
                var order = new Order {
                    OrderDate  = DateTime.Now,
                    UserName   = User.Identity.Name,
                    FirstName  = model.FirstName,
                    LastName   = model.LastName,
                    Address    = model.Address,
                    City       = model.City,
                    State      = model.State,
                    PostalCode = model.PostalCode,
                    Country    = model.Country,
                    Phone      = model.Phone,
                    Email      = model.EmailAddress
                };

                if (string.Equals(model.PromoCode, PromoCode, StringComparison.OrdinalIgnoreCase) == false)
                {
                    return(View(model));
                }
                else
                {
                    try
                    {
                        _context.Orders.Add(order);
                        _context.SaveChanges();

                        var cart = ShoppingCart.GetCart(_context, this.HttpContext);
                        cart.CreateOrderDetails(order);

                        return(RedirectToAction("Complete", new { orderId = order.OrderId }));
                    }
                    catch (Exception ex)
                    {
                        //error!
                        return(View(model));
                    }
                }
            }

            return(View(model));
        }
Beispiel #17
0
 public Album Add(Album newAlbum)
 {
     _context.Add(newAlbum);
     _context.SaveChanges();
     return(newAlbum);
 }
Beispiel #18
0
        public AlbumRepository_ListByAlbumGroupKeyTests()
        {
            // set up test data
            var options = new DbContextOptionsBuilder <MusicStoreDbContext>()
                          .UseInMemoryDatabase(databaseName: "test_db" + Guid.NewGuid().ToString())
                          .Options;

            this.db = new MusicStoreDbContext(options);
            foreach (string g in _validGenres)
            {
                this.db.Genres.Add(new DbGenre {
                    Name = g, CreatedUtc = DateTime.UtcNow
                });
            }
            var imageResource = new DbImageResource()
            {
                MimeType = "img/png",
                Data     = new byte[10]
            };
            var artist = new DbArtist
            {
                BioText       = "",
                CreatedUtc    = DateTime.UtcNow,
                Name          = "test artist",
                PublishStatus = DbPublishedStatus.PUBLISHED,
                UpdatedUtc    = DateTime.UtcNow
            };

            db.ImageResources.Add(imageResource);
            db.Artists.Add(artist);

            List <DbAlbum> testAlbums = new List <DbAlbum>();

            for (int i = 0; i < 10; i++)
            {
                testAlbums.Add(new DbAlbum
                {
                    Title         = "test_album_" + i,
                    CreatedUtc    = DateTime.UtcNow,
                    PublishStatus = DbPublishedStatus.PUBLISHED,
                    ReleaseDate   = DateTime.Now,
                    UpdatedUtc    = DateTime.UtcNow,
                    Artist        = new DbArtist
                    {
                        Name          = "test artist " + i,
                        PublishStatus = DbPublishedStatus.PUBLISHED,
                        CreatedUtc    = DateTime.UtcNow,
                        UpdatedUtc    = DateTime.UtcNow
                    }
                });
            }
            this.db.Albums.AddRange(testAlbums);

            var group = new DbAlbumGroup
            {
                CreatedUtc = DateTime.UtcNow,
                Key        = VALID_GROUP_KEY,
                Name       = "test group",
                UpdatedUtc = DateTime.UtcNow
            };

            db.AlbumGroups.Add(group);
            db.SaveChanges();
            _validImageId  = imageResource.Id;
            _validArtistId = artist.Id;
            _validGroupId  = group.Id;
            _validAlbumIds = testAlbums.Select(x => x.Id).ToArray();
            for (int i = 0; i < _validAlbumIds.Length; i++)
            {
                // insert all albums into the test group
                db.AlbumGroupListPositions.Add(new DbAlbumGroupAlbumPosition
                {
                    AlbumId       = _validAlbumIds[i],
                    GroupId       = _validGroupId,
                    CreatedUtc    = DateTime.UtcNow,
                    PositionIndex = i
                });
            }
            db.SaveChanges();

            var loggerMock = new Mock <ILogger <ArtistController> >();

            this.repo = new AlbumRepository(this.db, new AlbumMapper());
        }
Beispiel #19
0
 public Genre Add(Genre newGenre)
 {
     _context.Add(newGenre);
     _context.SaveChanges();
     return(newGenre);
 }
 public void SaveChanges()
 {
     db.SaveChanges();
 }
Beispiel #21
0
 public Artist Add(Artist newArtist)
 {
     _context.Add(newArtist);
     _context.SaveChanges();
     return(newArtist);
 }
        public static void EnsureSeedData(this MusicStoreDbContext db)
        {
            if (!db.Venues.Any())
            {
                var venues = new List <Venue> {
                    new Venue()
                    {
                        Name           = "Eter Club",
                        Description    = "Bar comodo y bien arreglado con un estilo moderno pero relajado.",
                        Notes          = "@DimiSet toco el 30 de Marzo y el sonido estuvo aceptable. La Banda tocaba bien asunque el sonidista estuvo un poco flojo poruqe el Bajo no se escuchaba.",
                        Arrangement    = "Al Sobre (sin gastos para los musicos) o -> <a href='https://drive.google.com/open?id=0B7BW9DSldqaLTUF2bGJBOU9zaTZ3T3FJWWhzTzV3dXk0WmRJ'Leer</a> ",
                        TechnicalRider = "https://drive.google.com/open?id=0B7BW9DSldqaLTUF2bGJBOU9zaTZ3T3FJWWhzTzV3dXk0WmRJ",
                        Address        = "Av. Rivadavia 3832, C1176 CABA, Argentina",
                        Email          = "*****@*****.**",
                        Phone          = "+54 9 11 5376-8121",
                        ContactName    = "Leandro",
                        Zone           = "Villa del Parque"
                    },
                    new Venue()
                    {
                        Name           = "Sr Duncan",
                        Description    = "Bar comodo y bien arreglado con un estilo moderno pero relajado.",
                        Notes          = "@DimiSet toco el 3 de Marzo y el sonido muy lindo.",
                        Arrangement    = "Te comento cómo manejamos la programación en Duncan. Abrimos todos los días, a partir de las 19 hs. El lugar tiene dos salas en las que se puede cenar mientras dure la función, una con capacidad para 40 personas y la otra para 30, ambas equipadas con un sistema de sonido chico de 6 canales y 3 microfonos. Se programan eventos simultaneos en dos franjas horarias de dos horas de duración, calculando media hora para el armado, media para el ingreso de publico y levantada de pedidos y una para el espectáculo aproximadamente. La primera va de 20 a 22 hs y otra de 22.30 a 0.30 hs, y después se mantiene el formato de bar hasta el cierre. La idea del lugar es ofrecer propuestas acústicas, más que nada para cuidar el volumen por un problema que tenemos con unos vecinos así que tenemos que ser muy estrictos con eso, especialmente cuando hay percusión o caños.Los días de semana y domingos, la sala grande esta ocupada con ciclos semanales y los fines de semana se programan espectáculos con entrada a porcentaje, 70 para el artista y 30 para el lugar. Si pasan la fecha por SADAIC, primero se resta el %12 que piden ellos y despues se reparte 70-30. La sala chica se programa de miercoles a lunes y se deja a su eleccion si cobrar entrada con la misma modalidad o pasar la gorra, que queda integramente para los artistas. Si es con entrada el precio lo establecen los grupos, y pueden traer algun amigo que las cobre o las pueden cobrar los camareros en las mesas.Me gustaria dejar en claro, por experiencias que tuvimos con otros grupos y por el panorama de gente que frecuenta el lugar, que el espacio no cuenta con una convocatoria asegurada donde los grupos se presentan para la gente que pueda estar cenando en el lugar esa noche, sino que mas bien es un espacio que se ofrece para que los artistas puedan mostrarle a su publico su material. Por lo tanto, si bien nosotros colaboramos con la difusion del evento a traves de nuestras redes sociales, apuntamos a eventos que puedan garantizar una razonable convocatoria en relacion a la capacidad de las salas.En cuanto a las consumiciones, hace poco decidimos implementar una modalidad para incentivar a las bandas en la convocatoria que consiste en dos premisas.La primera es que si la convocatoria del grupo no supera un minimo de 10 personas en el caso de la sala chica y de 15 en la sala grande, no damos invitaciones sino que solo hacemos descuento para musicos del %20. Si superan ese minimo tienen invitaciones de pizza y cerveza/vino acorde a la cantidad de integrantes y despues de esas invitaciones se mantiene un %20 de descuento. La segunda, es que si cobrando entrada, venden mas de 26 en la sala chica o 36 en la grande la banda se lleva el %100 de las entradas.Si te interesa la propuesta, decime una fecha aproximada en la que les gustaria presentarse y te paso la disponibilidad de las salas. Te pido de paso, que me definas que intrumentos usan y que modalidad de arreglo prefieren.",
                        TechnicalRider = "",
                        Address        = "Av. Rivadavia xxxx",
                        Email          = "*****@*****.**",
                        Phone          = "+54 11 4958-3633",
                        ContactName    = "Juan",
                        Zone           = "Almagro"
                    }
                };
                db.Venues.AddRange(venues);
                db.SaveChanges();
            }

            if (!db.Musicians.Any())
            {
                var musicians = new List <Musician> {
                    new Musician()
                    {
                        Name        = "Dimi",
                        Description = "Compositor Cantante Productor Pianista",
                        Notes       = "@DimiSet core",
                        Arrangement = "Paga Ra Prata",
                        Address     = "Av.Caseros 3183 dto 11",
                        Email       = "*****@*****.**",
                        Phone       = "+54 9 11 3008-3674",
                        Zone        = "Parque Patricios - CABA"
                    },
                    new Musician()
                    {
                        Name        = "Franco Donadio",
                        Description = "Guitarrista de Jazz, Compositor  Productor de IDM",
                        Notes       = "Franco esta tocando en @Sexteto (referencia)",
                        Arrangement = "Franco esta dispuesto a ser invitado a eventos segun su agenda. Tambien esta dispuesto a hacer eventos pagos.",
                        Address     = "Calle False 12345",
                        Email       = "*****@*****.**",
                        Phone       = "+54 11 1234-1234",
                        Zone        = "Villa Ortuzar"
                    }
                };
                db.Musicians.AddRange(musicians);
                db.SaveChanges();
            }
        }