/*
         * Pre:
         * Post: Load all available rooms for an existing audition
         */
        private void LoadRooms(Audition audition)
        {
            ClearRooms();

            try
            {
                List <string> rooms = audition.GetRooms(true);

                // Load each room to the table and all room dropdowns
                foreach (string room in rooms)
                {
                    AddRoom(room);
                }

                if (rooms != null && rooms.Count > 0)
                {
                    pnlRooms.Visible = true;
                }
            }
            catch (Exception e)
            {
                showErrorMessage("Error: An error occurred while loading the event's rooms.");
                Utility.LogError("AssignBadgerRoomsAndJudges", "loadRooms", "auditionId: " + audition.auditionId, "Message: " + e.Message + "   Stack Trace: " + e.StackTrace, -1);
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> PutAudition(Guid id, Audition audition)
        {
            if (id != audition.Id)
            {
                return(BadRequest());
            }

            await auditionService.Update(audition);

            try
            {
                await auditionService.Save();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AuditionExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 3
0
        public void AuditionModel_WhenGivenValidData_StoresValidData()
        {
            /* Arrange */
            // Create a Mocked IHostingEnviornment
            var mockHostEnv = new Mock <IHostingEnvironment>();

            //Create a Audition Model
            var model = new AuditionModel();

            //create valid data
            var ensemble = new Ensemble();
            var audition = new Audition();
            var view     = "profile";
            var profiles = new List <Profile>();


            /* Act */
            model.Ensemble = ensemble;
            model.Audition = audition;
            model.ViewType = view;
            model.Profiles = profiles;

            /* Assert */
            Assert.IsType <Ensemble>(model.Ensemble);
            Assert.IsType <Audition>(model.Audition);
            Assert.IsType <string>(model.ViewType);
            Assert.IsAssignableFrom <ICollection <Profile> >(model.Profiles);
        }
        /*
         * Pre:
         * Post: Load the judge rooms for the input audition
         */
        private void LoadAuditionJudgeRooms(Audition audition)
        {
            ClearAuditionRooms();

            try
            {
                List <JudgeRoomAssignment> roomAssignments = audition.GetEventJudgeRoomAssignments(true);

                //Load each room assignment to the table
                JudgeRoomAssignment[] arr = roomAssignments.ToArray(); // Copy to array because positions are shifting around in list for some reason
                for (int i = 0; i < arr.Count(); i++)
                {
                    JudgeRoomAssignment assignment = arr[i];
                    AddJudgeRoom(assignment.judge.id.ToString(), assignment.judge.lastName + ", " + assignment.judge.firstName, assignment.room, assignment.times, assignment.scheduleOrder);
                }

                if (roomAssignments.Count > 0)
                {
                    pnlJudgeRooms.Visible = true;
                }
            }
            catch (Exception e)
            {
                showErrorMessage("Error: An error occurred while loading the event's judging rooms.");
                Utility.LogError("AssignBadgerRoomsAndJudges", "LoadAuditionRooms", "auditionId: " + audition.auditionId, "Message: " + e.Message + "   Stack Trace: " + e.StackTrace, -1);
            }
        }
Exemplo n.º 5
0
 //Currntly generates new movies but will need to change to get movies on a timed basis
 public void getMovies()
 {
     for (int i = auditionList.Count; i < MaxMoviesShown; i++)
     {
         Audition a = new Audition();
         a.movie = MovieManager.Instance.getMovie();
         a.actor = null;
         auditionList.Add(a);
     }
     movieScrollBar.UpdateUI();
 }
Exemplo n.º 6
0
        public async Task <Audition> AddPhoto(Guid id, string path)
        {
            Audition a = await _context.Auditions.Get(id);

            a.Photo = path;
            await _context.Auditions.Update(a);

            await _context.Save();

            return(a);
        }
Exemplo n.º 7
0
        public async Task <ActionResult> AddPhoto([FromRoute] Guid id, IFormFile file)
        {
            string path = "/photos/" + Guid.NewGuid().ToString() + "_" + Request.Form.Files[0].FileName;

            using (var fileStream = new FileStream(_appEnvironment.WebRootPath + path, FileMode.Create))
            {
                await Request.Form.Files[0].CopyToAsync(fileStream);
            }
            Audition a = await auditionService.AddPhoto(id, path);

            return(Ok(a));
        }
Exemplo n.º 8
0
        public void ApplyAudition_WhenNotLoggedIn_RedirectsToLogin()
        {
            /* Arrange */

            // Set active user parameters (For GetSessionInfo)
            var aUserId   = 1;
            var aLoggedIn = false;

            // Create a Mocked IHostingEnviornment
            var mockHostEnv = new Mock <IHostingEnvironment>();

            // Create a Mocked HomeController
            var controllerMock = new Mock <HomeController>(LoadedContext, mockHostEnv.Object);

            // Create a ControllerContext and set the HttpContext to be the default
            //  This is done so that we can setup the behavior for GetSessionInfo()
            var controller = controllerMock.Object;

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();
            var specifiedReq = controller.ControllerContext.HttpContext.Request;

            // Create the appropriate SessionModel to be returned by GetSessionInfo()
            SessionModel fakeSM = new SessionModel();

            fakeSM.IsLoggedIn = aLoggedIn;
            fakeSM.UserID     = aUserId;

            // Set up GetSessionInfo method
            controllerMock.Setup(x => x.GetSessionInfo(specifiedReq)).Returns(fakeSM);
            controllerMock.CallBase = true;

            // Create the AuditionModel to be passed
            var a = new Audition {
                AuditionId = 1, Open_Date = System.DateTime.Now, Closed_Date = System.DateTime.Now, EnsembleId = 21, Audition_Location = "Galena, IL", Audition_Description = "Come audition with us", Instrument_Name = "Voice"
            };

            AuditionModel mo = new AuditionModel()
            {
                Audition = a
            };

            /* Act */
            var result = controller.ApplyAudition(mo);

            /* Assert */

            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("Login", redirectToActionResult.ActionName);
        }
Exemplo n.º 9
0
        public async Task <Audition> Create(Audition audition)
        {
            await _context.Auditions.Create(audition);

            await _context.Save();

            Chat chat = new Chat();

            chat.AuditionId = audition.Id;
            await _context.Chats.Create(chat);

            await _context.Save();

            return(audition);
        }
Exemplo n.º 10
0
    //Unassigns an actor from an audition
    public void UnassignActor(int actorNum)
    {
        Audition newAudition = new Audition();

        newAudition.movie = auditionList[actorNum].movie;
        newAudition.actor = null;

        actorsList.Insert(actorScrollBar.getCurrentFocusnum(), auditionList[actorNum].actor);

        auditionList[actorNum] = newAudition;

        actorScrollBar.UpdateUI();
        movieScrollBar.UpdateUI();
        confirmationPanel.UpdateUI();
    }
        /*
         * Pre:
         * Post: Load the judges for the audition's district
         */
        private void LoadAvailableJudgesToDropdown(Audition audition)
        {
            ClearAvailableJudges();

            try
            {
                List <Judge> judges = audition.GetAvailableJudges(true);

                // Load each judge to the dropdown
                foreach (Judge judge in judges)
                {
                    ddlJudge.Items.Add(new ListItem(judge.lastName + ", " + judge.firstName, judge.id.ToString()));
                }
            }
            catch (Exception e)
            {
                showErrorMessage("Error: An error occurred while loading the district's judges.");
                Utility.LogError("AssignBadgerRoomsAndJudges", "LoadAvailableJudgesToDropdown", "auditionId: " + audition.auditionId, "Message: " + e.Message + "   Stack Trace: " + e.StackTrace, -1);
            }
        }
        /*
         * Pre:  audition must exist as the id of an audition in the system
         * Post: The existing data for the audition associated with the auditionId
         *       is loaded to the page.
         * @param auditionId is the id of the audition being scheduled
         * @returns the audition data
         */
        private Audition loadAuditionData(int auditionId, int year)
        {
            try
            {
                audition = DbInterfaceAudition.LoadAuditionData(auditionId);

                //load data to page
                if (audition != null)
                {
                    txtIdHidden.Text     = audition.auditionId.ToString();
                    lblAuditionSite.Text = audition.venue;
                    lblAuditionDate.Text = audition.auditionDate.ToShortDateString();

                    DataTable timePreferences = DbInterfaceAudition.LoadJudgeTimePreferenceOptions(auditionId);
                    chkLstTime.DataSource = timePreferences;
                    chkLstTime.DataBind();

                    LoadRooms(audition);
                    LoadAvailableJudgesToDropdown(audition);
                    LoadAuditionJudges(audition);
                    LoadAuditionJudgeRooms(audition);

                    Session[auditionSession] = audition;
                    pnlMain.Visible          = true;
                    upAuditionSearch.Visible = false;
                }
                else
                {
                    showErrorMessage("Error: The audition information could not be loaded. Please ensure one has been created for " + year + ".");
                }
            }
            catch (Exception e)
            {
                showErrorMessage("Error: An error occurred while loading the audition data.");

                Utility.LogError("AssignBadgerRoomsAndJudges", "loadAuditionData", "auditionId: " + auditionId, "Message: " + e.Message + "   Stack Trace: " + e.StackTrace, -1);
            }

            return(audition);
        }
        /*
         * Pre:
         * Post: Load the judges for an existing audition
         */
        private void LoadAuditionJudges(Audition audition)
        {
            ClearAuditionJudges();

            try
            {
                List <Judge> judges = audition.GetEventJudges(true);

                //Load each judge to the table
                foreach (Judge judge in judges)
                {
                    AddJudge(judge.id.ToString(), judge.lastName + ", " + judge.firstName);

                    pnlJudges.Visible = true;
                }
            }
            catch (Exception e)
            {
                showErrorMessage("Error: An error occurred while loading the event's judges.");
                Utility.LogError("AssignBadgerRoomsAndJudges", "LoadAuditionJudges", "auditionId: " + audition.auditionId, "Message: " + e.Message + "   Stack Trace: " + e.StackTrace, -1);
            }
        }
Exemplo n.º 14
0
        public void AuditionTable_WhenGivenValidData_StoresValidData()
        {
            /* Arrange */
            System.DateTime opendate  = new System.DateTime(2019, 5, 2);
            System.DateTime closedate = new System.DateTime(2020, 5, 2);

            /* Act */
            Audition audition = new Audition()
            {
                AuditionId        = 1,
                Open_Date         = opendate, Closed_Date = closedate,
                Audition_Location = "Marty's", Audition_Description = "A test audition",
                InstrumentId      = 1, EnsembleId = 21
            };

            /* Assert */
            Assert.Equal(1, audition.AuditionId);
            Assert.Equal(1, audition.InstrumentId);
            Assert.Equal(21, audition.EnsembleId);
            Assert.Equal(opendate, audition.Open_Date);
            Assert.Equal(closedate, audition.Closed_Date);
            Assert.Equal("Marty's", audition.Audition_Location);
            Assert.Equal("A test audition", audition.Audition_Description);
        }
Exemplo n.º 15
0
    public void AssignActorToAudition(int actorArrayIndex)
    {
        Audition newAudition   = new Audition();
        int      movieFocusNum = movieScrollBar.getfocusNum();

        newAudition.movie = auditionList[movieFocusNum].movie;
        newAudition.actor = actorsList[actorArrayIndex];

        if (auditionList[movieFocusNum].actor != null)
        {
            actorsList[actorArrayIndex] = auditionList[movieFocusNum].actor;
        }
        else
        {
            actorsList.Remove(actorsList[actorArrayIndex]);
        }


        auditionList[movieFocusNum] = newAudition;

        actorScrollBar.UpdateUI();
        movieScrollBar.UpdateUI();
        confirmationPanel.UpdateUI();
    }
Exemplo n.º 16
0
        /*
         * Pre:
         * Post: If all entered data is valid, a new audition is created in the database
         */
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            Audition audition;

            //make sure the entered data is valid before adding or updating
            if (dataIsValid())
            {
                int districtId = Convert.ToInt32(ddlDistrict.SelectedValue);
                //int numJudges = Convert.ToInt32(txtNumJudges.Text);
                string   chairperson = ddlChairPerson.SelectedValue;
                DateTime auditionDate, freezeDate;
                DateTime.TryParse(txtDate.Value, out auditionDate);
                DateTime.TryParse(txtFreezeDate.Value, out freezeDate);

                // Get session start and end times
                TimeSpan session1StartTime        = GetTime(ddlAmPmStart1, ddlHourStart1, ddlMinutesStart1);
                TimeSpan session1EndTime          = GetTime(ddlAmPmEnd1, ddlHourEnd1, ddlMinutesEnd1);
                TimeSpan session2StartTime        = GetTime(ddlAmPmStart2, ddlHourStart2, ddlMinutesStart2);
                TimeSpan session2EndTime          = GetTime(ddlAmPmEnd2, ddlHourEnd2, ddlMinutesEnd2);
                TimeSpan session3StartTime        = GetTime(ddlAmPmStart3, ddlHourStart3, ddlMinutesStart3);
                TimeSpan session3EndTime          = GetTime(ddlAmPmEnd3, ddlHourEnd3, ddlMinutesEnd3);
                TimeSpan session4StartTime        = GetTime(ddlAmPmStart4, ddlHourStart4, ddlMinutesStart4);
                TimeSpan session4EndTime          = GetTime(ddlAmPmEnd4, ddlHourEnd4, ddlMinutesEnd4);
                string   session1StartDisplayTime = GetDisplayTime(ddlAmPmStart1, ddlHourStart1, ddlMinutesStart1);
                string   session2StartDisplayTime = GetDisplayTime(ddlAmPmStart2, ddlHourStart2, ddlMinutesStart2);
                string   session3StartDisplayTime = GetDisplayTime(ddlAmPmStart3, ddlHourStart3, ddlMinutesStart3);
                string   session4StartDisplayTime = GetDisplayTime(ddlAmPmStart4, ddlHourStart4, ddlMinutesStart4);
                string   session1EndDisplayTime   = GetDisplayTime(ddlAmPmEnd1, ddlHourEnd1, ddlMinutesEnd1);
                string   session2EndDisplayTime   = GetDisplayTime(ddlAmPmEnd2, ddlHourEnd2, ddlMinutesEnd2);
                string   session3EndDisplayTime   = GetDisplayTime(ddlAmPmEnd3, ddlHourEnd3, ddlMinutesEnd3);
                string   session4EndDisplayTime   = GetDisplayTime(ddlAmPmEnd4, ddlHourEnd4, ddlMinutesEnd4);

                //if a new audition is being created and the same audition doesn't already exist, add it
                if (action == Utility.Action.Add && !DbInterfaceAudition.AuditionExists(districtId, auditionDate.Year))
                {
                    audition = new Audition(districtId, /*numJudges*/ 0, txtVenue.Text, chairperson,
                                            ddlTheorySeries.Text, auditionDate, freezeDate, session1StartTime,
                                            session1EndTime, session2StartTime, session2EndTime, session3StartTime,
                                            session3EndTime, session4StartTime, session4EndTime, session1StartDisplayTime,
                                            session2StartDisplayTime, session3StartDisplayTime, session4StartDisplayTime,
                                            session1EndDisplayTime, session2EndDisplayTime, session3EndDisplayTime, session4EndDisplayTime,
                                            true);

                    //if the audition was successfully created, display a success message and clear the page
                    if (audition.auditionId != -1)
                    {
                        showSuccessMessage("The event was successfully created.");
                        clearPage();
                    }
                    else
                    {
                        showErrorMessage("Error: The audition could not be created. Please make sure all entered data is valid.");
                    }
                }
                //update the information of an existing audition
                else if (action == Utility.Action.Edit)
                {
                    int auditionId = Convert.ToInt32(txtIdHidden.Text);

                    audition = new Audition(auditionId, districtId, /*numJudges*/ 0, txtVenue.Text, chairperson, ddlTheorySeries.SelectedValue,
                                            auditionDate, freezeDate, session1StartTime, session1EndTime, session2StartTime, session2EndTime,
                                            session3StartTime, session3EndTime, session4StartTime, session4EndTime, session1StartDisplayTime,
                                            session2StartDisplayTime, session3StartDisplayTime, session4StartDisplayTime, session1EndDisplayTime,
                                            session2EndDisplayTime, session3EndDisplayTime, session4EndDisplayTime, true);

                    if (audition.auditionId != -1 && audition.updateInDatabase())
                    {
                        showSuccessMessage("The event was successfully updated.");
                        clearPage();
                    }
                    else
                    {
                        showErrorMessage("Error: An error occurred while updating the audition.");
                    }
                }
                //display an error message if the audition already exists
                else
                {
                    showErrorMessage("Error: An audition for this venue already exists.");
                }
            }

            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "RefreshDatepickers", "refreshDatePickers()", true);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                checkPermissions();

                Session[auditionSearch]  = null;
                Session[auditionSession] = null;
                Session[roomsTable]      = null;
                Session[judgeRooms]      = null;


                loadYearDropdown();
            }

            if (Page.IsPostBack && Session[auditionSession] != null)
            {
                audition = (Audition)Session[auditionSession];
            }

            // If there were rooms added before the postback, add them back to the table
            if (Page.IsPostBack && Session[roomsTable] != null)
            {
                TableRow[] rowArray = (TableRow[])Session[roomsTable];

                for (int i = 1; i < rowArray.Length; i++)
                {
                    tblRooms.Rows.Add(rowArray[i]);
                }
            }

            // Reload the available judging rooms
            if (Page.IsPostBack && Session[judgeRooms] != null)
            {
                string selectedValue = ddlJudgeRoom.SelectedValue;
                ddlJudgeRoom.Items.Clear();

                ListItem[] itemArray = (ListItem[])Session[judgeRooms];

                for (int i = 0; i < itemArray.Length; i++)
                {
                    ddlJudgeRoom.Items.Add(new ListItem(itemArray[i].Text));
                }

                ddlJudgeRoom.SelectedValue = selectedValue;
            }

            // Reload the judges table
            if (Page.IsPostBack && Session[judgesTable] != null)
            {
                TableRow[] rowArray = (TableRow[])Session[judgesTable];

                for (int i = 1; i < rowArray.Length; i++)
                {
                    tblJudges.Rows.Add(rowArray[i]);
                }
            }

            // Reload audition judges dropdown
            if (Page.IsPostBack && Session[auditionJudges] != null)
            {
                string selectedValue = ddlAuditionJudges.SelectedValue;
                ddlAuditionJudges.Items.Clear();

                ListItem[] itemArray = (ListItem[])Session[auditionJudges];

                for (int i = 0; i < itemArray.Length; i++)
                {
                    ddlAuditionJudges.Items.Add(new ListItem(itemArray[i].Text, itemArray[i].Value));
                }

                ddlAuditionJudges.SelectedValue = selectedValue;
            }

            // Reload judge rooms table
            if (Page.IsPostBack && Session[judgeRoomsTable] != null)
            {
                TableRow[] rowArray = (TableRow[])Session[judgeRoomsTable];

                for (int i = 1; i < rowArray.Length; i++)
                {
                    tblJudgeRooms.Rows.Add(rowArray[i]);
                }
            }
        }
Exemplo n.º 18
0
        static void Main(string[] args)
        {
            //Przydałoby się zrobić obsługę wielowątkowości
            int threads = Environment.ProcessorCount;

            ServicePointManager.DefaultConnectionLimit = threads;
            ServicePointManager.Expect100Continue      = false;

            //Aby pobrać audycje Polskiego Radia potrzebne są trzy wartości aby wysłać poprawne żądanie (sectionId, tabId, boxInstanceId)
            //<div id='s_panel_allContent_32988_124778'>
            //z tego DIV'a mamy -> tabId = 124778; boxInstanceId = 32988; //ABC popkltury
            //sectionId = 9 -> do pobrania np. z głównego adresu audycji
            //można również podsłuchać żądanie wysyłane przez stronę do serwera w trakcie doczytywania kolejnej strony z audycjami
            //tam jest wysyłany json, z którego możemy wyciągnąć potrzebne informacje

            //Podcast niebezpiecznika pobierany na podstawie feedu rss ze https://www.spreaker.com/

            int        pageCount  = 20;
            DataSource dataSource = DataSource.PolskieRadio;
            bool       onlyFirst  = false;

            pageCount     = int.Parse(ConfigurationManager.AppSettings["pages"]);
            dataSource    = (DataSource)int.Parse(ConfigurationManager.AppSettings["dataSource"]);
            _downloadPath = ConfigurationManager.AppSettings["path"];
            _jsonFilePath = Path.Combine(_downloadPath, _jsonFileName);


            try {
                LoadArchivedMp3();
                Dictionary <string, Mp3File> downloadList = new Dictionary <string, Mp3File>();
                switch (dataSource)
                {
                case DataSource.PolskieRadio:
                    int      sectionId, categoryId, tabId, boxInstanceId;
                    Audition audition = Audition.Inne;
                    audition      = (Audition)int.Parse(ConfigurationManager.AppSettings["audition"]);
                    sectionId     = int.Parse(ConfigurationManager.AppSettings["sectionId"]);
                    categoryId    = int.Parse(ConfigurationManager.AppSettings["categoryId"]);
                    tabId         = int.Parse(ConfigurationManager.AppSettings["tabId"]);
                    boxInstanceId = int.Parse(ConfigurationManager.AppSettings["boxInstanceId"]);

                    switch (audition)
                    {
                    case Audition.KLCW:
                        DonloadPRPage(pageCount, onlyFirst, sectionId, categoryId, downloadList);
                        break;

                    case Audition.Inne:
                    default:
                        DonloadPRTabContent(pageCount, onlyFirst, sectionId, categoryId, tabId, boxInstanceId, downloadList);
                        break;
                    }
                    break;

                case DataSource.Niebezpiecznik:
                    DownloadNiebezpiecznik(downloadList);
                    break;

                default:
                    break;
                }


                int fileCount = 1;
                foreach (var d in downloadList)
                {
                    string name = string.Format("{0} {1}", d.Value.Date.ToString("yyyy-MM-dd"), string.IsNullOrWhiteSpace(d.Value.Desc) ? d.Value.Name : d.Value.Desc);
                    _logger.Trace("[{1}/{2}] Pobieram plik -> {0}", name, fileCount++, downloadList.Count);
                    if (DownloadFile(_downloadPath, d.Value.Url, name))
                    {
                        _archivedMp3.Add(d.Key, d.Value);
                        SaveArchivedMp3();
                    }
                }
            } catch (Exception ex) {
                _logger.Error(ex, "Nieoczekiwany błąd");
            }
        }
Exemplo n.º 19
0
        /*
         * Pre:
         * Post: If all entered data is valid, a new audition is created in the database
         */
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            Audition audition;

            //make sure the entered data is valid before adding or updating
            if (dataIsValid())
            {
                int districtId = Convert.ToInt32(ddlDistrict.SelectedValue);
                //int numJudges = Convert.ToInt32(txtNumJudges.Text);
                string   chairperson = ddlChairPerson.SelectedValue;
                DateTime auditionDate, freezeDate;
                DateTime.TryParse(txtDate.Value, out auditionDate);
                DateTime.TryParse(txtFreezeDate.Value, out freezeDate);

                // Get session start and end times
                TimeSpan session1StartTime        = GetTime(ddlAmPmStart1, ddlHourStart1, ddlMinutesStart1);
                TimeSpan session1EndTime          = GetTime(ddlAmPmEnd1, ddlHourEnd1, ddlMinutesEnd1);
                TimeSpan session2StartTime        = GetTime(ddlAmPmStart2, ddlHourStart2, ddlMinutesStart2);
                TimeSpan session2EndTime          = GetTime(ddlAmPmEnd2, ddlHourEnd2, ddlMinutesEnd2);
                TimeSpan session3StartTime        = GetTime(ddlAmPmStart3, ddlHourStart3, ddlMinutesStart3);
                TimeSpan session3EndTime          = GetTime(ddlAmPmEnd3, ddlHourEnd3, ddlMinutesEnd3);
                TimeSpan session4StartTime        = GetTime(ddlAmPmStart4, ddlHourStart4, ddlMinutesStart4);
                TimeSpan session4EndTime          = GetTime(ddlAmPmEnd4, ddlHourEnd4, ddlMinutesEnd4);
                string   session1StartDisplayTime = GetDisplayTime(ddlAmPmStart1, ddlHourStart1, ddlMinutesStart1);
                string   session2StartDisplayTime = GetDisplayTime(ddlAmPmStart2, ddlHourStart2, ddlMinutesStart2);
                string   session3StartDisplayTime = GetDisplayTime(ddlAmPmStart3, ddlHourStart3, ddlMinutesStart3);
                string   session4StartDisplayTime = GetDisplayTime(ddlAmPmStart4, ddlHourStart4, ddlMinutesStart4);
                string   session1EndDisplayTime   = GetDisplayTime(ddlAmPmEnd1, ddlHourEnd1, ddlMinutesEnd1);
                string   session2EndDisplayTime   = GetDisplayTime(ddlAmPmEnd2, ddlHourEnd2, ddlMinutesEnd2);
                string   session3EndDisplayTime   = GetDisplayTime(ddlAmPmEnd3, ddlHourEnd3, ddlMinutesEnd3);
                string   session4EndDisplayTime   = GetDisplayTime(ddlAmPmEnd4, ddlHourEnd4, ddlMinutesEnd4);

                bool duetsAllowed = false;
                if (ddlDuets.SelectedValue.Equals("Yes"))
                {
                    duetsAllowed = true;
                }

                //if a new audition is being created and the same audition doesn't already exist, add it
                if (action == Utility.Action.Add && !DbInterfaceAudition.AuditionExists(districtId, auditionDate.Year))
                {
                    audition = new Audition(districtId, /*numJudges*/ 0, txtVenue.Text, chairperson, "", auditionDate, freezeDate,
                                            session1StartTime, session1EndTime, session2StartTime, session2EndTime,
                                            session3StartTime, session3EndTime, session4StartTime, session4EndTime, session1StartDisplayTime,
                                            session2StartDisplayTime, session3StartDisplayTime, session4StartDisplayTime, session1EndDisplayTime,
                                            session2EndDisplayTime, session3EndDisplayTime, session4EndDisplayTime, duetsAllowed);

                    //if the audition was successfully created, display a success message
                    if (audition.auditionId != -1)
                    {
                        displaySuccessMessage();
                    }
                    else
                    {
                        showErrorMessage("Error: The competition could not be created. Please make sure all entered data is valid.");
                    }
                }
                //update the information of an existing audition
                else if (action == Utility.Action.Edit)
                {
                    int auditionId = Convert.ToInt32(txtIdHidden.Text);

                    audition = new Audition(auditionId, districtId, /*numJudges*/ 0, txtVenue.Text,
                                            chairperson, "", auditionDate, freezeDate, session1StartTime, session1EndTime,
                                            session2StartTime, session2EndTime, session3StartTime, session3EndTime, session4StartTime,
                                            session4EndTime, session1StartDisplayTime, session2StartDisplayTime, session3StartDisplayTime,
                                            session4StartDisplayTime, session1EndDisplayTime, session2EndDisplayTime, session3EndDisplayTime,
                                            session4EndDisplayTime, duetsAllowed);

                    if (audition.auditionId != -1 && audition.updateInDatabase())
                    {
                        displaySuccessMessage();
                    }
                    else
                    {
                        showErrorMessage("Error: The competition could not be updated.");
                    }
                }
                //display an error message if the audition already exists
                else
                {
                    showWarningMessage("An competition for this venue already exists.");
                }
            }
        }
Exemplo n.º 20
0
        public void CreateAudition_WhenGivenValidData_CreatesNewAudition()
        {
            /* Arrange */

            var mockHostEnv = new Mock <IHostingEnvironment>();

            // Create DB data
            var uData = new List <User>
            {
                new User {
                    UserId = 1, Password = "******", Email = "*****@*****.**"
                },
                new User {
                    UserId = 2, Password = "******", Email = "*****@*****.**"
                },
                new User {
                    UserId = 3, Password = "******", Email = "*****@*****.**"
                },
                new User {
                    UserId = 4, Password = "******", Email = "*****@*****.**"
                },
                new User {
                    UserId = 5, Password = "******", Email = "*****@*****.**"
                }
            }.AsQueryable();

            var eData = new List <Ensemble>
            {
                new Ensemble {
                    EnsembleId = 21, Ensemble_Name = "Blue Group", UserId = 1
                },
                new Ensemble {
                    EnsembleId = 22, Ensemble_Name = "Red Group", UserId = 2
                }
            }.AsQueryable();

            var audData = new List <Audition>
            {
                new Audition
                {
                    AuditionId           = 1,
                    Open_Date            = new System.DateTime(2018, 12, 6),
                    Audition_Location    = "A Venue",
                    Audition_Description = "An Audition",
                    Instrument_Name      = "Voice",
                    InstrumentId         = 2,
                    EnsembleId           = 21
                }
            }.AsQueryable();

            var iData = new List <Instrument>
            {
                new Instrument()
                {
                    InstrumentId = 1, Instrument_Name = "Piano"
                },
                new Instrument()
                {
                    InstrumentId = 2, Instrument_Name = "Voice"
                },
                new Instrument()
                {
                    InstrumentId = 3, Instrument_Name = "Violin"
                },
                new Instrument()
                {
                    InstrumentId = 4, Instrument_Name = "Viola"
                },
                new Instrument()
                {
                    InstrumentId = 5, Instrument_Name = "Cello"
                },
                new Instrument()
                {
                    InstrumentId = 6, Instrument_Name = "Bass"
                },
                new Instrument()
                {
                    InstrumentId = 7, Instrument_Name = "Guitar"
                },
                new Instrument()
                {
                    InstrumentId = 8, Instrument_Name = "Drums"
                },
                new Instrument()
                {
                    InstrumentId = 9, Instrument_Name = "Trumpet"
                },
                new Instrument()
                {
                    InstrumentId = 10, Instrument_Name = "Trombone"
                },
                new Instrument()
                {
                    InstrumentId = 22, Instrument_Name = "Bass Trombone"
                },
                new Instrument()
                {
                    InstrumentId = 11, Instrument_Name = "Tuba"
                },
                new Instrument()
                {
                    InstrumentId = 12, Instrument_Name = "Baritone"
                },
                new Instrument()
                {
                    InstrumentId = 13, Instrument_Name = "French Horn"
                },
                new Instrument()
                {
                    InstrumentId = 14, Instrument_Name = "Flute"
                },
                new Instrument()
                {
                    InstrumentId = 15, Instrument_Name = "Clarinet"
                },
                new Instrument()
                {
                    InstrumentId = 16, Instrument_Name = "Basoon"
                },
                new Instrument()
                {
                    InstrumentId = 17, Instrument_Name = "Saxophone"
                },
                new Instrument()
                {
                    InstrumentId = 18, Instrument_Name = "Bagpipes"
                },
                new Instrument()
                {
                    InstrumentId = 19, Instrument_Name = "Xylophone"
                },
                new Instrument()
                {
                    InstrumentId = 20, Instrument_Name = "Accordion"
                },
                new Instrument()
                {
                    InstrumentId = 21, Instrument_Name = "Harmonica"
                }
            }.AsQueryable();

            // Create Mocked DB Sets
            var mockUsers = new Mock <DbSet <User> >();

            mockUsers.As <IQueryable <User> >().Setup(u => u.Provider).Returns(uData.Provider);
            mockUsers.As <IQueryable <User> >().Setup(m => m.Expression).Returns(uData.Expression);
            mockUsers.As <IQueryable <User> >().Setup(m => m.ElementType).Returns(uData.ElementType);
            mockUsers.As <IQueryable <User> >().Setup(m => m.GetEnumerator()).Returns(uData.GetEnumerator());

            var mockEnsemble = new Mock <DbSet <Ensemble> >();

            mockEnsemble.As <IQueryable <Ensemble> >().Setup(u => u.Provider).Returns(eData.Provider);
            mockEnsemble.As <IQueryable <Ensemble> >().Setup(m => m.Expression).Returns(eData.Expression);
            mockEnsemble.As <IQueryable <Ensemble> >().Setup(m => m.ElementType).Returns(eData.ElementType);
            mockEnsemble.As <IQueryable <Ensemble> >().Setup(m => m.GetEnumerator()).Returns(eData.GetEnumerator());

            var mockAudition = new Mock <DbSet <Audition> >();

            mockAudition.As <IQueryable <Audition> >().Setup(u => u.Provider).Returns(audData.Provider);
            mockAudition.As <IQueryable <Audition> >().Setup(m => m.Expression).Returns(audData.Expression);
            mockAudition.As <IQueryable <Audition> >().Setup(m => m.ElementType).Returns(audData.ElementType);
            mockAudition.As <IQueryable <Audition> >().Setup(m => m.GetEnumerator()).Returns(audData.GetEnumerator());

            var mockInstrument = new Mock <DbSet <Instrument> >();

            mockInstrument.As <IQueryable <Instrument> >().Setup(u => u.Provider).Returns(iData.Provider);
            mockInstrument.As <IQueryable <Instrument> >().Setup(m => m.Expression).Returns(iData.Expression);
            mockInstrument.As <IQueryable <Instrument> >().Setup(m => m.ElementType).Returns(iData.ElementType);
            mockInstrument.As <IQueryable <Instrument> >().Setup(m => m.GetEnumerator()).Returns(iData.GetEnumerator());

            // Create a Mocked DB
            var mockDB = new Mock <PluggedContext>();

            // Set up necessary Mocked DB methods
            mockDB.Setup(x => x.Users)
            .Returns(mockUsers.Object);

            mockDB.Setup(x => x.Ensembles)
            .Returns(mockEnsemble.Object);

            mockDB.Setup(x => x.Auditions)
            .Returns(mockAudition.Object);

            mockDB.Setup(x => x.Instruments)
            .Returns(mockInstrument.Object);
            mockDB.Setup(x => x.Instruments.Find(It.IsAny <int>()))
            .Returns(mockInstrument.Object.FirstOrDefault(p => p.InstrumentId == 2));

            List <Audition> addedAuditions = new List <Audition>();

            mockDB.Setup(x => x.Add(It.IsAny <Audition>()))
            .Callback <Audition>(addedAuditions.Add);

            var controllerMock = new Mock <HomeController>(mockDB.Object, mockHostEnv.Object);

            // Mock the request object and the resulting login information
            SessionModel fakeSM = new SessionModel();

            fakeSM.IsLoggedIn = true;
            fakeSM.UserID     = 1;

            var controller = controllerMock.Object;

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();
            var mockReq = controller.ControllerContext.HttpContext.Request;

            controllerMock.Setup(x => x.GetSessionInfo(mockReq)).Returns(fakeSM);
            controllerMock.CallBase = true;


            /* Act */

            var result = controller.CreateAudition(new System.DateTime(2019, 4, 24), new System.DateTime(2019, 6, 24), "Another Venue", "More musicians", "Decorah", 1, 21, 2);

            /* Assert */
            Audition addedAuditon = addedAuditions.Last();

            Assert.Equal(new System.DateTime(2019, 4, 24), addedAuditon.Open_Date);
            Assert.Equal(new System.DateTime(2019, 6, 24), addedAuditon.Closed_Date);
            Assert.Equal("Another Venue", addedAuditon.Audition_Location);
            Assert.Equal("More musicians", addedAuditon.Audition_Description);
            Assert.Equal("Voice", addedAuditon.Instrument_Name);
        }
Exemplo n.º 21
0
        public async Task <ActionResult <Audition> > PostAudition(Audition audition)
        {
            audition = await auditionService.Create(audition);

            return(CreatedAtAction("GetAudition", new { id = audition.Id }, audition));
        }
Exemplo n.º 22
0
 public async Task Update(Audition audition)
 {
     await _context.Auditions.Update(audition);
 }
Exemplo n.º 23
0
        public void Audition_WhenLoggedIn_DisplayAppropriateAudition()
        {
            /* Arrange */

            // Set active user parameters (For GetSessionInfo)
            var aUserId   = 1;
            var aLoggedIn = true;

            // The Audition that we expect to get as a result for this test.
            var expectedAud = new Audition {
                AuditionId = 1, Open_Date = System.DateTime.Now, Closed_Date = System.DateTime.Now, EnsembleId = 21, Audition_Location = "Galena, IL", Audition_Description = "Come audition with us", Instrument_Name = "Voice"
            };

            var aData = new List <Audition>
            {
                expectedAud,
                new Audition {
                    AuditionId        = 2, Open_Date = System.DateTime.Now, Closed_Date = System.DateTime.Now, EnsembleId = 22,
                    Audition_Location = "Galena, IL", Audition_Description = "Come audition with us", Instrument_Name = "Voice"
                },
            }.AsQueryable();

            var pData = new List <Profile>
            {
                new Profile {
                    ProfileId = 11, First_Name = "Elijas", Last_Name = "Reshmi", UserId = 1
                },
                new Profile {
                    ProfileId = 12, First_Name = "Eugenia", Last_Name = "Cornelius", UserId = 2
                }
            }.AsQueryable();

            var peData = new List <ProfileEnsemble>
            {
                new ProfileEnsemble {
                    EnsembleId = 21, Start_Date = System.DateTime.Now, End_Date = System.DateTime.Now, ProfileId = 11
                },
                new ProfileEnsemble {
                    EnsembleId = 21, Start_Date = System.DateTime.Now, End_Date = System.DateTime.Now, ProfileId = 12
                },
                new ProfileEnsemble {
                    EnsembleId = 22, Start_Date = System.DateTime.Now, End_Date = System.DateTime.Now, ProfileId = 11
                }
            }.AsQueryable();

            var eData = new List <Ensemble>
            {
                new Ensemble {
                    EnsembleId = 21, Ensemble_Name = "Queen"
                },
                new Ensemble {
                    EnsembleId = 22, Ensemble_Name = "WFLCCB"
                },
                new Ensemble {
                    EnsembleId = 23, Ensemble_Name = "Zedd"
                }
            }.AsQueryable();

            var iData = new List <Instrument>
            {
                new Instrument()
                {
                    InstrumentId = 1, Instrument_Name = "Piano"
                },
                new Instrument()
                {
                    InstrumentId = 2, Instrument_Name = "Voice"
                },
                new Instrument()
                {
                    InstrumentId = 3, Instrument_Name = "Violin"
                },
                new Instrument()
                {
                    InstrumentId = 4, Instrument_Name = "Viola"
                },
                new Instrument()
                {
                    InstrumentId = 5, Instrument_Name = "Cello"
                }
            }.AsQueryable();

            // Create mocked DB sets
            var mockAuditions = new Mock <DbSet <Audition> >();

            mockAuditions.As <IQueryable <Audition> >().Setup(u => u.Provider).Returns(aData.Provider);
            mockAuditions.As <IQueryable <Audition> >().Setup(m => m.Expression).Returns(aData.Expression);
            mockAuditions.As <IQueryable <Audition> >().Setup(m => m.ElementType).Returns(aData.ElementType);
            mockAuditions.As <IQueryable <Audition> >().Setup(m => m.GetEnumerator()).Returns(aData.GetEnumerator());

            var mockProfiles = new Mock <DbSet <Profile> >();

            mockProfiles.As <IQueryable <Profile> >().Setup(u => u.Provider).Returns(pData.Provider);
            mockProfiles.As <IQueryable <Profile> >().Setup(m => m.Expression).Returns(pData.Expression);
            mockProfiles.As <IQueryable <Profile> >().Setup(m => m.ElementType).Returns(pData.ElementType);
            mockProfiles.As <IQueryable <Profile> >().Setup(m => m.GetEnumerator()).Returns(pData.GetEnumerator());

            var mockProfileEnsembles = new Mock <DbSet <ProfileEnsemble> >();

            mockProfileEnsembles.As <IQueryable <ProfileEnsemble> >().Setup(u => u.Provider).Returns(peData.Provider);
            mockProfileEnsembles.As <IQueryable <ProfileEnsemble> >().Setup(m => m.Expression).Returns(peData.Expression);
            mockProfileEnsembles.As <IQueryable <ProfileEnsemble> >().Setup(m => m.ElementType).Returns(peData.ElementType);
            mockProfileEnsembles.As <IQueryable <ProfileEnsemble> >().Setup(m => m.GetEnumerator()).Returns(peData.GetEnumerator());

            var mockEnsembles = new Mock <DbSet <Ensemble> >();

            mockEnsembles.As <IQueryable <Ensemble> >().Setup(u => u.Provider).Returns(eData.Provider);
            mockEnsembles.As <IQueryable <Ensemble> >().Setup(m => m.Expression).Returns(eData.Expression);
            mockEnsembles.As <IQueryable <Ensemble> >().Setup(m => m.ElementType).Returns(eData.ElementType);
            mockEnsembles.As <IQueryable <Ensemble> >().Setup(m => m.GetEnumerator()).Returns(eData.GetEnumerator());

            var mockInstrument = new Mock <DbSet <Instrument> >();

            mockInstrument.As <IQueryable <Instrument> >().Setup(u => u.Provider).Returns(iData.Provider);
            mockInstrument.As <IQueryable <Instrument> >().Setup(m => m.Expression).Returns(iData.Expression);
            mockInstrument.As <IQueryable <Instrument> >().Setup(m => m.ElementType).Returns(iData.ElementType);
            mockInstrument.As <IQueryable <Instrument> >().Setup(m => m.GetEnumerator()).Returns(iData.GetEnumerator());

            // Create a Mocked DB
            var mockDB = new Mock <PluggedContext>();

            // Set up necessary Mocked DB methods

            mockDB.Setup(x => x.Auditions)
            .Returns(mockAuditions.Object);

            mockDB.Setup(x => x.Profiles)
            .Returns(mockProfiles.Object);

            mockDB.Setup(x => x.Ensembles)
            .Returns(mockEnsembles.Object);

            mockDB.Setup(x => x.ProfileEnsembles)
            .Returns(mockProfileEnsembles.Object);

            mockDB.Setup(x => x.Instruments)
            .Returns(mockInstrument.Object);

            // Create a Mocked IHostingEnviornment
            var mockHostEnv = new Mock <IHostingEnvironment>();

            // Create a Mocked HomeController
            var controllerMock = new Mock <HomeController>(mockDB.Object, mockHostEnv.Object);

            // Create a ControllerContext and set the HttpContext to be the default
            //  This is done so that we can setup the behavior for GetSessionInfo()
            var controller = controllerMock.Object;

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();
            var specifiedReq = controller.ControllerContext.HttpContext.Request;

            // Create the appropriate SessionModel to be returned by GetSessionInfo()
            SessionModel fakeSM = new SessionModel();

            fakeSM.IsLoggedIn = aLoggedIn;
            fakeSM.UserID     = aUserId;

            // Set up GetSessionInfo method
            controllerMock.Setup(x => x.GetSessionInfo(specifiedReq)).Returns(fakeSM);
            controllerMock.CallBase = true;

            /* Act */
            var result = controller.Audition(1);

            /* Assert */
            var           viewResult = Assert.IsType <ViewResult>(result);
            AuditionModel viewModel  = (AuditionModel)viewResult.Model;

            Assert.Equal("Audition", viewResult.ViewName);
            Assert.Equal(expectedAud, viewModel.Audition);
        }
Exemplo n.º 24
0
        /*
         * Pre:  audition must exist as the id of an audition in the system
         * Post: The existing data for the audition associated with the auditionId
         *       is loaded to the page.
         * @param auditionId is the id of the audition being edited
         */
        private void loadAuditionData(int auditionId)
        {
            Audition audition = null;

            try
            {
                audition = DbInterfaceAudition.LoadAuditionData(auditionId);

                //load data to page
                if (audition != null)
                {
                    txtIdHidden.Text          = audition.auditionId.ToString();
                    ddlDistrict.SelectedIndex =
                        ddlDistrict.Items.IndexOf(ddlDistrict.Items.FindByValue(
                                                      audition.districtId.ToString()));
                    txtVenue.Text                = audition.venue;
                    txtNumJudges.Text            = audition.numJudges.ToString();
                    ddlChairPerson.SelectedIndex = ddlChairPerson.Items.IndexOf(
                        ddlChairPerson.Items.FindByValue(audition.chairpersonId));
                    ddlTheorySeries.SelectedIndex = ddlTheorySeries.Items.IndexOf(
                        ddlTheorySeries.Items.FindByValue(audition.theoryTestSeries));
                    txtStartTime.Value = audition.startTime.ToString();
                    txtEndTime.Value   = audition.endTime.ToString();

                    //dates must be in form of YYYY-MM-DD
                    string month = audition.auditionDate.Month.ToString();
                    string day   = audition.auditionDate.Day.ToString();

                    if (month.Length == 1)
                    {
                        month = "0" + month;
                    }
                    if (day.Length == 1)
                    {
                        day = "0" + day;
                    }

                    txtDate.Value = audition.auditionDate.ToShortDateString();

                    month = audition.freezeDate.Month.ToString();
                    day   = audition.freezeDate.Day.ToString();

                    if (month.Length == 1)
                    {
                        month = "0" + month;
                    }
                    if (day.Length == 1)
                    {
                        day = "0" + day;
                    }

                    txtFreezeDate.Value = audition.freezeDate.ToShortDateString();
                }
                else
                {
                    lblErrorMsg.Text    = "The audition information could not be loaded";
                    lblErrorMsg.Visible = true;
                }
            }
            catch (Exception e)
            {
                lblErrorMsg.Text    = "An error occurred while loading the audition data";
                lblErrorMsg.Visible = true;

                Utility.LogError("Create District Audition", "loadAuditionData", "auditionId: " + auditionId, "Message: " + e.Message + "   Stack Trace: " + e.StackTrace, -1);
            }
        }
Exemplo n.º 25
0
        /*
         * Pre:
         * Post: If all entered data is valid, a new audition is created in the database
         */
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            Audition audition;

            clearErrors();

            //make sure the entered data is valid before adding or updating
            if (dataIsValid())
            {
                int      districtId = Convert.ToInt32(ddlDistrict.SelectedValue);
                int      numJudges = Convert.ToInt32(txtNumJudges.Text);
                string   chairperson = ddlChairPerson.SelectedValue;
                DateTime auditionDate, freezeDate;
                DateTime.TryParse(txtDate.Value, out auditionDate);
                DateTime.TryParse(txtFreezeDate.Value, out freezeDate);
                TimeSpan startTime, endTime;

                //get start time
                string tempTime = txtStartTime.Value;
                tempTime = tempTime.Substring(0, tempTime.Length - 2) + ":00 " + tempTime.Substring(tempTime.Length - 2, 2);
                if (tempTime.Length == 10)
                {
                    tempTime = "0" + tempTime;
                }
                if (tempTime.Substring(tempTime.Length - 2, 2).ToUpper().Equals("PM"))
                {
                    tempTime = Utility.ConvertToPm(tempTime);
                }
                tempTime = tempTime.Substring(0, tempTime.Length - 2);
                TimeSpan.TryParse(tempTime, out startTime);

                //get end time
                tempTime = txtEndTime.Value;
                tempTime = tempTime.Substring(0, tempTime.Length - 2) + ":00 " + tempTime.Substring(tempTime.Length - 2, 2);
                if (tempTime.Substring(tempTime.Length - 2, 2).ToUpper().Equals("PM"))
                {
                    tempTime = Utility.ConvertToPm(tempTime);
                }
                tempTime = tempTime.Substring(0, tempTime.Length - 2);
                TimeSpan.TryParse(tempTime, out endTime);

                //if a new audition is being created and the same audition doesn't already exist, add it
                if ((bool)Session[creatingNew] && !DbInterfaceAudition.AuditionExists(districtId, auditionDate.Year))
                {
                    audition = new Audition(districtId, numJudges, txtVenue.Text, chairperson,
                                            ddlTheorySeries.Text, auditionDate, freezeDate,
                                            startTime, endTime, true);

                    //if the audition was successfully created, display a success message
                    if (audition.auditionId != -1)
                    {
                        displaySuccessMessageAndOptions();
                        Session[completed] = true;
                    }
                    else
                    {
                        lblErrorMsg.Text = "The audition could not be created. Please make sure " +
                                           "all entered data is valid.";
                        lblErrorMsg.Visible = true;
                    }
                }
                //update the information of an existing audition
                else if (!(bool)Session[creatingNew])
                {
                    int auditionId = Convert.ToInt32(txtIdHidden.Text);

                    audition = new Audition(auditionId, districtId, numJudges, txtVenue.Text,
                                            chairperson, ddlTheorySeries.SelectedValue, auditionDate,
                                            freezeDate, startTime, endTime, true);

                    if (audition.auditionId != -1 && audition.updateInDatabase())
                    {
                        displaySuccessMessageAndOptions();
                        Session[completed] = true;
                    }
                    else
                    {
                        lblErrorMsg.Text    = "An error occurred while updating the audition.";
                        lblErrorMsg.Visible = true;
                    }
                }
                //display an error message if the audition already exists
                else
                {
                    lblErrorMsg.Text    = "An audition for this venue already exists";
                    lblErrorMsg.Visible = true;
                }
            }
        }
Exemplo n.º 26
0
        /*
         * Pre:  audition must exist as the id of an audition in the system
         * Post: The existing data for the audition associated with the auditionId
         *       is loaded to the page.
         * @param auditionId is the id of the audition being edited
         */
        private void loadAuditionData(int auditionId)
        {
            Audition audition = null;

            try
            {
                audition = DbInterfaceAudition.LoadAuditionData(auditionId);

                //load data to page
                if (audition != null)
                {
                    txtIdHidden.Text = audition.auditionId.ToString();
                    ddlDistrict.DataBind();
                    ddlDistrict.SelectedIndex =
                        ddlDistrict.Items.IndexOf(ddlDistrict.Items.FindByValue(
                                                      audition.districtId.ToString()));
                    txtVenue.Text = audition.venue;

                    if (audition.duetsAllowed)
                    {
                        ddlDuets.SelectedIndex = 1;
                    }

                    //txtNumJudges.Text = audition.numJudges.ToString();
                    ddlChairPerson.DataBind();
                    ddlChairPerson.SelectedIndex = ddlChairPerson.Items.IndexOf(
                        ddlChairPerson.Items.FindByValue(audition.chairpersonId));

                    // Set session times
                    SetTime(audition.startTimeSession1, ddlAmPmStart1, ddlHourStart1, ddlMinutesStart1);
                    SetTime(audition.endTimeSession1, ddlAmPmEnd1, ddlHourEnd1, ddlMinutesEnd1);
                    SetTime(audition.startTimeSession2, ddlAmPmStart2, ddlHourStart2, ddlMinutesStart2);
                    SetTime(audition.endTimeSession2, ddlAmPmEnd2, ddlHourEnd2, ddlMinutesEnd2);
                    SetTime(audition.startTimeSession3, ddlAmPmStart3, ddlHourStart3, ddlMinutesStart3);
                    SetTime(audition.endTimeSession3, ddlAmPmEnd3, ddlHourEnd3, ddlMinutesEnd3);
                    SetTime(audition.startTimeSession4, ddlAmPmStart4, ddlHourStart4, ddlMinutesStart4);
                    SetTime(audition.endTimeSession4, ddlAmPmEnd4, ddlHourEnd4, ddlMinutesEnd4);

                    //dates must be in form of YYYY-MM-DD
                    string month = audition.auditionDate.Month.ToString();
                    string day   = audition.auditionDate.Day.ToString();

                    if (month.Length == 1)
                    {
                        month = "0" + month;
                    }
                    if (day.Length == 1)
                    {
                        day = "0" + day;
                    }

                    txtDate.Value = audition.auditionDate.ToShortDateString();

                    month = audition.freezeDate.Month.ToString();
                    day   = audition.freezeDate.Day.ToString();

                    if (month.Length == 1)
                    {
                        month = "0" + month;
                    }
                    if (day.Length == 1)
                    {
                        day = "0" + day;
                    }

                    txtFreezeDate.Value = audition.freezeDate.ToShortDateString();
                }
                else
                {
                    showErrorMessage("Error: The competition information could not be loaded.");
                }
            }
            catch (Exception e)
            {
                showErrorMessage("Error: An error occurred while loading the competition data.");

                Utility.LogError("Create Badger Audition", "loadAuditionData", "auditionId: " + auditionId, "Message: " + e.Message + "   Stack Trace: " + e.StackTrace, -1);
            }
        }
Exemplo n.º 27
0
    //Initilization
    protected override void Start()
    {
        //start living entity base class
        base.Start();
        startingHealth = baseHealth;
        switch (dietinfo) {
            case 'h':
                dietType = Diet.Herbivorous;
                break;
            case 'o':
                dietType = Diet.Omnivorous;
                break;
            case 'p':
                dietType = Diet.Carnivorous;
                break;
        }

        //Action marker setup
        skinDefalt = GetComponent<Renderer>().material;
        defaltColor = skinDefalt.color;

        //navagation set up
        pathfinder = GetComponent<NavMeshAgent>();
        pathfinder.acceleration = acceleration;
        pathfinder.speed = movmentSpeed;

        currentState = State.Idle;
        currentTargetList = new List<Transform>();
        currentTargetType = targetType.Water;

        //Combat set up
        animatCombat = GetComponent<Combat>();
        attackDistanceThreshold = attackRange / 1.2f;
        animatCombat.SetStats(attackRange, attackAccuracy, attackDamage);

        //Sence Components set up
        //sight
        animatSight = GetComponent<Sight>();
        animatSight.SetStats(sightRange);

        //olfaction
        animatOlfaction = GetComponent<Olfaction>();
        animatOlfaction.SetStats(olfactionRange, olfactionAccuracy);

        //audition
        animatAudition = GetComponent<Audition>();
        animatAudition.SetStats(hearingRange);

        //Metabolism
        hunger = (int)(baseSatation/1.5);
        thirst = (int)(baseHydration/1.5);
        StartCoroutine(Metabolism());

        //Cognition
        spawnOrigin = GetComponentInParent<Spawner>();
        noOfTargetsConsumed = 0;
        StartCoroutine(DecisionBlock());
        StartCoroutine(ActionBlock());    

    }
Exemplo n.º 28
0
        public async Task <ActionResult <Audition> > DeleteAudition(Guid id)
        {
            Audition audition = await auditionService.Delete(id);

            return(audition);
        }
Exemplo n.º 29
0
        /*
         * Pre:  audition must exist as the id of an audition in the system
         * Post: The existing data for the audition associated with the auditionId
         *       is loaded to the page.
         * @param auditionId is the id of the audition being edited
         */
        private void loadAuditionData(int auditionId)
        {
            Audition audition = null;

            try
            {
                audition = DbInterfaceAudition.LoadAuditionData(auditionId);

                //load data to page
                if (audition != null)
                {
                    txtIdHidden.Text          = audition.auditionId.ToString();
                    ddlDistrict.SelectedIndex =
                        ddlDistrict.Items.IndexOf(ddlDistrict.Items.FindByValue(
                                                      audition.districtId.ToString()));
                    txtVenue.Text = audition.venue;
                    //txtNumJudges.Text = audition.numJudges.ToString();
                    ddlChairPerson.DataBind();
                    ListItem item = ddlChairPerson.Items.FindByValue(audition.chairpersonId);
                    ddlChairPerson.SelectedIndex = ddlChairPerson.Items.IndexOf(
                        ddlChairPerson.Items.FindByValue(audition.chairpersonId));
                    ddlTheorySeries.SelectedIndex = ddlTheorySeries.Items.IndexOf(
                        ddlTheorySeries.Items.FindByValue(audition.theoryTestSeries));

                    // Set session times
                    SetTime(audition.startTimeSession1, ddlAmPmStart1, ddlHourStart1, ddlMinutesStart1);
                    SetTime(audition.endTimeSession1, ddlAmPmEnd1, ddlHourEnd1, ddlMinutesEnd1);
                    SetTime(audition.startTimeSession2, ddlAmPmStart2, ddlHourStart2, ddlMinutesStart2);
                    SetTime(audition.endTimeSession2, ddlAmPmEnd2, ddlHourEnd2, ddlMinutesEnd2);
                    SetTime(audition.startTimeSession3, ddlAmPmStart3, ddlHourStart3, ddlMinutesStart3);
                    SetTime(audition.endTimeSession3, ddlAmPmEnd3, ddlHourEnd3, ddlMinutesEnd3);
                    SetTime(audition.startTimeSession4, ddlAmPmStart4, ddlHourStart4, ddlMinutesStart4);
                    SetTime(audition.endTimeSession4, ddlAmPmEnd4, ddlHourEnd4, ddlMinutesEnd4);

                    //dates must be in form of YYYY-MM-DD
                    string month = audition.auditionDate.Month.ToString();
                    string day   = audition.auditionDate.Day.ToString();

                    if (month.Length == 1)
                    {
                        month = "0" + month;
                    }
                    if (day.Length == 1)
                    {
                        day = "0" + day;
                    }

                    txtDate.Value = audition.auditionDate.ToShortDateString();

                    month = audition.freezeDate.Month.ToString();
                    day   = audition.freezeDate.Day.ToString();

                    if (month.Length == 1)
                    {
                        month = "0" + month;
                    }
                    if (day.Length == 1)
                    {
                        day = "0" + day;
                    }

                    txtFreezeDate.Value = audition.freezeDate.ToShortDateString();
                }
                else
                {
                    showErrorMessage("Error: The audition information could not be loaded.");
                }
            }
            catch (Exception e)
            {
                showErrorMessage("Error: An error occurred while loading the audition data.");

                Utility.LogError("Create District Audition", "loadAuditionData", "auditionId: " + auditionId, "Message: " + e.Message + "   Stack Trace: " + e.StackTrace, -1);
            }

            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "RefreshDatepickers", "refreshDatePickers()", true);
        }
Exemplo n.º 30
0
        public void ApplyAudition_WhenGivenProfileIdIsNotInDB_RedirectsToIndex()
        {
            /* Arrange */

            // Set active user parameters (For GetSessionInfo)
            var aUserId   = 1;
            var aProfId   = 11;
            var aLoggedIn = true;

            // Profile that is applying:


            var pData = new List <Profile>
            {
                new Profile {
                    ProfileId = aProfId, First_Name = "Elijas", Last_Name = "Reshmi", UserId = aUserId + 1
                },
                new Profile {
                    ProfileId = 12, First_Name = "Eugenia", Last_Name = "Cornelius", UserId = 2
                }
            }.AsQueryable();


            // Audition to be applied for:
            var appAud = new Audition {
                AuditionId = 1, Open_Date = System.DateTime.Now, Closed_Date = System.DateTime.Now, EnsembleId = 21, Audition_Location = "Galena, IL", Audition_Description = "Come audition with us", Instrument_Name = "Voice"
            };

            var aData = new List <Audition>
            {
                new Audition {
                    AuditionId        = 2, Open_Date = System.DateTime.Now, Closed_Date = System.DateTime.Now, EnsembleId = 22,
                    Audition_Location = "Galena, IL", Audition_Description = "Come audition with us", Instrument_Name = "Voice"
                },
            }.AsQueryable();

            // Create Mocked DB Sets
            var mockProfiles = new Mock <DbSet <Profile> >();

            mockProfiles.As <IQueryable <Profile> >().Setup(u => u.Provider).Returns(pData.Provider);
            mockProfiles.As <IQueryable <Profile> >().Setup(m => m.Expression).Returns(pData.Expression);
            mockProfiles.As <IQueryable <Profile> >().Setup(m => m.ElementType).Returns(pData.ElementType);
            mockProfiles.As <IQueryable <Profile> >().Setup(m => m.GetEnumerator()).Returns(pData.GetEnumerator());

            var mockAudition = new Mock <DbSet <Audition> >();

            mockAudition.As <IQueryable <Audition> >().Setup(u => u.Provider).Returns(aData.Provider);
            mockAudition.As <IQueryable <Audition> >().Setup(m => m.Expression).Returns(aData.Expression);
            mockAudition.As <IQueryable <Audition> >().Setup(m => m.ElementType).Returns(aData.ElementType);
            mockAudition.As <IQueryable <Audition> >().Setup(m => m.GetEnumerator()).Returns(aData.GetEnumerator());

            // Create a Mocked DB
            var mockDB = new Mock <PluggedContext>();

            // Set up necessary Mocked DB methods
            mockDB.Setup(x => x.Profiles)
            .Returns(mockProfiles.Object);

            mockDB.Setup(x => x.Auditions)
            .Returns(mockAudition.Object);


            // Create the "Table" that will save the new AuditionProfile
            List <AuditionProfile> addedAuditionProfiles = new List <AuditionProfile>();

            // Mock the behavior of adding the new AuditionProfile
            mockDB.Setup(x => x.Add(It.IsAny <AuditionProfile>()))
            .Callback <AuditionProfile>(addedAuditionProfiles.Add);

            // Create a Mocked hosting environment
            var mockHostEnv = new Mock <IHostingEnvironment>();

            var controllerMock = new Mock <HomeController>(mockDB.Object, mockHostEnv.Object);

            // Mock the request object and the resulting login information
            SessionModel fakeSM = new SessionModel();

            fakeSM.IsLoggedIn = aLoggedIn;
            fakeSM.UserID     = aUserId;

            var controller = controllerMock.Object;

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();
            var mockReq = controller.ControllerContext.HttpContext.Request;

            controllerMock.Setup(x => x.GetSessionInfo(mockReq)).Returns(fakeSM);
            controllerMock.CallBase = true;

            // Create the AuditionModel to be passed
            AuditionModel mo = new AuditionModel()
            {
                Audition = appAud
            };

            /* Act */

            var result = controller.ApplyAudition(mo);

            /* Assert */

            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("Index", redirectToActionResult.ActionName);
        }
Exemplo n.º 31
0
    //Initilization
    protected override void Start()
    {
        //start living entity base class
        base.Start();
        startingHealth = baseHealth;
        switch (dietinfo)
        {
        case 'h':
            dietType = Diet.Herbivorous;
            break;

        case 'o':
            dietType = Diet.Omnivorous;
            break;

        case 'p':
            dietType = Diet.Carnivorous;
            break;
        }

        //Action marker setup
        skinDefalt  = GetComponent <Renderer>().material;
        defaltColor = skinDefalt.color;

        //navagation set up
        pathfinder = GetComponent <NavMeshAgent>();
        pathfinder.acceleration = acceleration;
        pathfinder.speed        = movmentSpeed;

        currentState      = State.Idle;
        currentTargetList = new List <Transform>();
        currentTargetType = targetType.Water;

        //Combat set up
        animatCombat            = GetComponent <Combat>();
        attackDistanceThreshold = attackRange / 1.2f;
        animatCombat.SetStats(attackRange, attackAccuracy, attackDamage);

        //Sence Components set up
        //sight
        animatSight = GetComponent <Sight>();
        animatSight.SetStats(sightRange);

        //olfaction
        animatOlfaction = GetComponent <Olfaction>();
        animatOlfaction.SetStats(olfactionRange, olfactionAccuracy);

        //audition
        animatAudition = GetComponent <Audition>();
        animatAudition.SetStats(hearingRange);

        //Metabolism
        hunger = (int)(baseSatation / 1.5);
        thirst = (int)(baseHydration / 1.5);
        StartCoroutine(Metabolism());

        //Cognition
        spawnOrigin         = GetComponentInParent <Spawner>();
        noOfTargetsConsumed = 0;
        StartCoroutine(DecisionBlock());
        StartCoroutine(ActionBlock());
    }