示例#1
0
    static void Main(string[] args)
    {
        Musical aMusical = new Musical();

        aMusical.Playing();
        aMusical.Singing();
    }
        public void Create_Adds_A_Model()
        {
            Musical model = new Musical()
            {
                Title = "Grease", Description = "Coming of age love tale", Genre = "Comedy", Id = 1
            };
            var result = sut.Create(model);

            Assert.Equal("Your musical has been added.", result.ViewData["result"]);
        }
        public void Details_Passes_Musical_To_View()
        {
            var expectedMusical = new Musical();

            musicalRepo.GetByID(1).Returns(expectedMusical);

            var result = sut.Details(1);

            Assert.Equal(expectedMusical, result.Model);
        }
        public void Delete_Musical_Successfully()
        {
            Musical model = new Musical()
            {
                Id = 1
            };

            musicalRepo.GetByID(model.Id).Returns(model);
            var result = sut.Delete(model.Id);

            Assert.IsType <RedirectToActionResult>(result);
        }
示例#5
0
 public ActionResult Edit([Bind(Include = "ID_Musical,Title,Synopsis,Director,Duration,OpeningNight,Ticket,Poster")] Musical musical)
 {
     if (ModelState.IsValid)
     {
         //neste cado já existe um Agente
         //apenas quero EDITAR os seus dados
         db.Entry(musical).State = EntityState.Modified;
         //efetuar 'Commit'
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(musical));
 }
示例#6
0
        public ActionResult Create([Bind(Include = "ID_Musical,Title,Synopsis,Director,Duration,OpeningNight,Ticket")] Musical musical, HttpPostedFileBase uploadPoster)
        {
            int idNewMusical = 0;

            try
            {
                idNewMusical = db.Musical.Max(m => m.ID_Musical) + 1;
            }
            catch (Exception)
            {
                idNewMusical = 1;
            }
            //guarda o ID do novo Musical
            musical.ID_Musical = idNewMusical;
            string imageName = "Musical_" + idNewMusical + ".jpg";
            string path      = "";

            //validar se a imagem foi fornecida
            if (uploadPoster != null)
            {
                //verificar o tipo de ficheiro inserido
                path           = Path.Combine(Server.MapPath("~/images/"), imageName);
                musical.Poster = imageName;
            }
            else
            {
                //quando não foi fornecida nenhuma imagem, gera um erro
                ModelState.AddModelError("", "Please, upload an image for the Musical");
                return(View(musical));
            }
            if (ModelState.IsValid)
            {
                try
                {
                    //adiciona um novo musical
                    db.Musical.Add(musical);
                    //faz commit ás alterações
                    db.SaveChanges();
                    //escrever o ficheiro com a fotografia no disco rígido, na pasta "images"
                    uploadPoster.SaveAs(path);
                    return(RedirectToAction("Index"));
                }
                catch (Exception)
                {
                    ModelState.AddModelError("", "An Error occurred with the addition of the new Musical");
                }
            }

            return(View(musical));
        }
示例#7
0
        // GET: Musicals/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            Musical musical = db.Musical.Find(id);

            if (musical == null)
            {
                //se o musical nao for encontrado, é redirecionado para o "Index"
                return(RedirectToAction("Index"));
            }
            return(View(musical));
        }
示例#8
0
        public ActionResult DeleteConfirmed(int id)
        {
            Musical musical = db.Musical.Find(id);

            try
            {
                db.Musical.Remove(musical);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch (Exception)
            {
                ModelState.AddModelError("", string.Format("It's not possible to remove the Musical nº {0}-{1}", id, musical.Title));
            }
            return(View(musical));
        }
示例#9
0
        // GET: Musicals/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            //pesquisa do ID que foi fornecido
            Musical musical = db.Musical.Find(id);

            //caso o musical não tenha sido encontrado
            if (musical == null)
            {
                return(RedirectToAction("Index"));
            }
            return(View(musical));
        }
示例#10
0
        // GET: Musicals/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            //procura na BD, o Musical cujo ID foi fornecido
            Musical musical = db.Musical.Find(id);

            //proteção para o caso de nao ter sido encontrado
            if (musical == null)
            {
                return(RedirectToAction("Index"));
            }
            return(View(musical));
        }
        // GET: Musicals/Delete/5
        /// <summary>
        /// apresenta na View os dados de um Musical, co  vista á sua, eventual, eliminação
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Delete(int?id)
        {
            //verificar se foi fornecido um ID válido
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            //pesquisar pelo Musical, cuji ID foi fornecido
            Musical musical = db.Musical.Find(id);

            //verificar se o Musical foi encontrado
            if (musical == null)
            {
                //o Musical não existe redirecionar para a página inicial
                return(RedirectToAction("Index"));
            }
            return(View(musical));
        }
        public ActionResult Edit([Bind(Include = "ID_Musical,Title,Synopsis,Director,Duration,OpeningNight,Ticket,Poster")] Musical musical, HttpPostedFileBase uploadPoster)
        {
            string newName = "";
            string oldName = "";

            if (ModelState.IsValid)
            {
                try
                {
                    //se foi fornecida uma nova imagem, preparam-se os dados para efetuar a alteração
                    if (uploadPoster != null)
                    {
                        //preservar o nome antigo, para depois remover do disco do servidor
                        oldName = musical.Poster;
                        //para o novo nome do ficheiro, adiciona-se o termo gerado pelo timestamp
                        //e a extensão do ficheiro é obtida automaticamente em vez de ser escrita de forma explícita
                        newName = "Musical_" + musical.ID_Musical + DateTime.Now.ToString("yyyyMMdd_hhmmss") + Path.GetExtension(uploadPoster.FileName).ToLower();
                        //atualizar os dados do Musical com o novo nome
                        musical.Poster = newName;
                        //guardar a nova imagem no disco rígido
                        uploadPoster.SaveAs(Path.Combine(Server.MapPath("~/images/"), newName));
                    }
                    //guardar os dados do Musical
                    db.Entry(musical).State = EntityState.Modified;
                    //efetuar 'Commit'
                    db.SaveChanges();
                    return(RedirectToAction("Index"));

                    if (uploadPoster != null)
                    {
                        System.IO.File.Delete(Path.Combine(Server.MapPath("~/images/"), oldName));
                    }
                    //enviar os dados para a página inicial
                    return(RedirectToAction("Index"));
                }
                catch (Exception) {
                    throw;
                    //caso haja um erro deve ser enviada uma mensagem para o utilizador
                    ModelState.AddModelError("", string.Format("An error occurred with the addition of the musical {0}", musical.Title));
                }
            }
            return(View(musical));
        }
示例#13
0
        public ViewResult Create(Musical model)
        {
            //List<string> listOfGenres = new List<string> { "Family", "Drama", "Comedy", "Historical" };

            //ViewBag.Genres = listOfGenres;

            ListOfGenres();

            if (musicalRepo.FindMusicalByTitle(model.Title) != null)
            {
                ViewBag.Error = "This musical already exists.";

                return(View(new Musical()));
            }

            musicalRepo.Create(model);

            ViewBag.Result = "Your musical has been added.";

            return(View(model));
        }
        // GET: Musicals/Edit/5
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            //procura na BD, o Musical cujo ID foi fornecido
            Musical musical = db.Musical.Find(id);

            //proteção para o caso de não ter sido encontrado
            if (musical == null)
            {
                //o musical não foi encontrado, gerando uma mensagem de erro
                ModelState.AddModelError("", "Musical not found");

                //redireciona para o Index
                return(RedirectToAction("Index"));
            }

            //entrega á View os dados do Musical encontrado
            return(View(musical));
        }
        // GET: Musicals/Details/5
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Details(int?id)
        {
            //se se escrever 'int?' é possível
            //não fornecer o valor para o ID e não há erro

            //para caso nao ter sido fornecido o ID
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            //procura na BD, o Musical cujo ID foi fornecido
            Musical musical = db.Musical.Find(id);

            //proteção para o caso de não ter sido encontrado qq Musical que tenha o ID fornecido
            if (musical == null)
            {
                //o musical não foi encontrado, logo gera-se um erro
                return(RedirectToAction("Index"));
            }
            //entrega á View os dados do Agente encontrado
            return(View(musical));
        }
示例#16
0
        public void TestPlayExample7()
        {
            var play = Musical.Play("pep");

            Assert.AreEqual("birip, trri-trri, croac", play);
        }
示例#17
0
        public void TestPlayExample6()
        {
            var play = Musical.Play("fiu");

            Assert.AreEqual("cric-cric, brrah", play);
        }
示例#18
0
        public void TestPlayExample4()
        {
            var play = Musical.Play("brrah");

            Assert.AreEqual(string.Empty, play);
        }
示例#19
0
        public ActionResult SaveMusical(AdminHomeViewModel m)
        {
            Musical myMusical = new Musical();
            try
            {
                if (ModelState.IsValid)
                {
                    //TODO: date validation
                    //TODO: date format validation

                    myMusical.musicalID = m.MusicalID;
                    myMusical.name = m.MusicalName;
                    myMusical.signupStartDate = DateTime.Parse(m.SignUpStartDate);
                    myMusical.signupEndDate = DateTime.Parse(m.SignUpEndDate);
                    myMusical.expiredMessage = m.ExpiredMessage;
                    myMusical.confirmationMessage = m.ConfirmationMessage;
                    myMusical.Save();
                }
                else
                {
                    return View("Home", m);
                }

            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return View("Home", m);
            }
            return RedirectToRoute("AdminHome", new { musicalID = myMusical.musicalID });
        }
示例#20
0
 public MusicalTests()
 {
     sut = new Musical(22, "Wicked", "drama", "amazing!");
 }
示例#21
0
文件: Program.cs 项目: Tilps/Stash
 static void Main(string[] args)
 {
     Musical m = new Musical();
     Console.Out.WriteLine(m.loser(2, 15.0));
     Console.In.ReadLine();
 }
示例#22
0
 public void Ticket_Reservation_System_Tests()
 {
     Play    pl = new Play("funny drama act", 1, 1, 1000);
     Musical ml = new Musical("ab tum hi ho", 2, 2, 1000);
     Lecture lc = new Lecture("CSharp", 3, 3, 1000);
 }
示例#23
0
        public void TestPlayNotExist()
        {
            var play = Musical.Play("xyz");

            Assert.AreEqual(string.Empty, play);
        }
        public ActionResult Create([Bind(Include = "ID_Musical,Title,Synopsis,Director,Duration,OpeningNight,Ticket")] Musical musical, HttpPostedFileBase uploadPoster)
        {
            //escrever os dados de um novo musical na BD

            //especificar o ID do novo Musical
            //testar se há registos na tabela Musical
            int idNewMusical = 0;

            try
            {
                idNewMusical = db.Musical.Max(m => m.ID_Musical) + 1;
            }
            catch (Exception)
            {
                idNewMusical = 1;
            }

            //guardar o ID do novo musical
            musical.ID_Musical = idNewMusical;

            //especificar (escolher) o nome do ficheiro
            string imageName = "Musical_" + idNewMusical + ".jpg";

            //variável auxiliar
            string path = "";

            //validar se a imagem foi fornecida
            if (uploadPoster != null)
            {
                //valida de o que foi fornecido é uma imagem
                //****************
                //criar i caminho completo até ao sitio onde o ficheiro será guardado
                path = Path.Combine(Server.MapPath("~/images/"), imageName);
                //guardar o nome do ficheiro na BD
                musical.Poster = imageName;
            }
            else
            {
                //quando não foi fornecida nenhuma imagem, gera um erro
                ModelState.AddModelError("", "Plese, upload an image for the Musical");
                //devolver o controlo á View
                return(View(musical));
            }
            //ModelState.IsValid : confronta os dados fornecidos d View com as exigências do Modelo
            if (ModelState.IsValid)
            {
                try
                {
                    //adiciona um novo musical
                    db.Musical.Add(musical);
                    //faz commit ás alterações
                    db.SaveChanges();
                    //escrever o ficheiro com a fotografia no disco rígido, na pasta 'images'
                    uploadPoster.SaveAs(path);

                    //Redirecionamento para a página de Index
                    return(RedirectToAction("Index"));
                }
                catch (Exception)
                {
                    ModelState.AddModelError("", "An Error occurred with the addition of the new Musical");
                }
            }
            //se houver um erro, reapresenta os dados do Agente na View
            return(View(musical));
        }
示例#25
0
        public ActionResult Home(string musicalID)
        {
            if(musicalID==null)
                musicalID = Musical.CurrentMusical().musicalID.ToString();

            AdminHomeViewModel m = new AdminHomeViewModel();

            Musical myMusical = new Musical(Int32.Parse(musicalID));

            m.MusicalID = myMusical.musicalID;
            if (m.MusicalID != 0)
            {
                m.MusicalName = myMusical.name;
                m.ExpiredMessage = myMusical.expiredMessage;
                m.ConfirmationMessage = myMusical.confirmationMessage;
                m.SignUpStartDate = ((DateTime)myMusical.signupStartDate).ToString("MM/dd/yyyy");
                m.SignUpEndDate = ((DateTime)myMusical.signupEndDate).ToString("MM/dd/yyyy");
            }

            return View(m);
        }