Пример #1
0
        public ActionResult Modify(AuditionViewModel viewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var entity = new AuditionModel()
                    {
                        CityId      = viewModel.CityId,
                        Venue       = viewModel.Venue,
                        CreatedBy   = new Guid(),
                        CreatedDate = DateTime.UtcNow,
                        AuditionId  = viewModel.AuditionId,
                        IsActive    = viewModel.IsActive,
                        PlaceId     = viewModel.PlaceId,
                        Day         = viewModel.Day,
                        Date        = viewModel.Date,
                        MaxDate     = viewModel.MaxDate
                    };

                    var response = _AuditionBusinessAccess.InsertUpdateAudition(entity);

                    return(Json(new { Status = response, Message = response ? "Audition Content Saved Successfully." : "Something went wrong. Please try after sometime." }, JsonRequestBehavior.AllowGet));
                }

                return(Json(new { Status = false, Message = "Something went wrong. Please try after sometime." }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                LogService.Log(ex.Message);
                return(RedirectToAction("Index", "Error"));
            }
        }
Пример #2
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);
        }
Пример #3
0
 public bool InsertUpdateAudition(AuditionModel entity)
 {
     try
     {
         return(_AuditionDataAccess.InsertUpdateAudition(entity));
     }
     catch (Exception ex)
     {
         LogService.Log("Error in GetAuditionById of AuditionBusinessAccess: " + ex.Message);
         throw ex;
     }
 }
Пример #4
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);
        }
Пример #5
0
        public ActionResult GetAuditionById(int auditionId)
        {
            bool          status         = false;
            AuditionModel auditionEntity = new AuditionModel();

            try
            {
                auditionEntity = _AuditionBusinessAccess.GetAuditionById(auditionId);
                status         = true;
            }
            catch (Exception ex)
            {
                status = false;
            }
            return(Json(new { Status = status, Audition = auditionEntity }, JsonRequestBehavior.AllowGet));
        }
        public AuditionModel GetAuditionById(int auditionId)
        {
            AuditionModel result = new AuditionModel();

            try
            {
                Dictionary <string, object> inputparam = new Dictionary <string, object>();
                inputparam.Add("AuditionId", auditionId);
                result = DataBaseHelper.ExecuteStoreProcedure <AuditionModel>(connectionString, "prcGetAuditionById", inputparam).FirstOrDefault();
                return(result);
            }
            catch (Exception ex)
            {
                LogService.Log("Error in GetAuditionById of AuditionDataAccess: " + ex.Message);
                throw ex;
            }
        }
        public bool InsertUpdateAudition(AuditionModel entity)
        {
            var result = false;

            try
            {
                Dictionary <string, object> inputparam = new Dictionary <string, object>();
                inputparam.Add("Id", entity.AuditionId);
                inputparam.Add("CityID", entity.CityId);
                inputparam.Add("Venue", entity.Venue);
                inputparam.Add("Day", entity.Day);
                if (string.IsNullOrWhiteSpace(entity.PlaceId))
                {
                    inputparam.Add("PlaceId", DBNull.Value);
                }
                else
                {
                    inputparam.Add("PlaceId", entity.PlaceId);
                }


                inputparam.Add("Date", entity.Date);
                inputparam.Add("MaxDate", DateTime.UtcNow);//entity.MaxDate
                inputparam.Add("IsActive", entity.IsActive);
                inputparam.Add("CreatedBy", entity.CreatedBy);
                inputparam.Add("CreatedDate", entity.CreatedDate);

                result = DataBaseHelper.ExecuteStoreProcedure <int>(connectionString, "dbo.prcInsertUpdateAudition", inputparam).FirstOrDefault() > 0;
            }
            catch (Exception ex)
            {
                LogService.Log("Error in InsertUpdateAudition of AuditionDataAccess: " + ex.Message);
                throw ex;
            }
            return(result);
        }
Пример #8
0
        public void Audition_WhenLoggedIn_DisplaysAppropriateEnsemble()
        {
            /* Arrange */

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

            var aData = new List <Audition>
            {
                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"
                },
                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();

            // The ensemble that we expect to get as a result for this test.
            var expectedEns = new Ensemble {
                EnsembleId = 21, Ensemble_Name = "Queen"
            };

            var eData = new List <Ensemble>
            {
                expectedEns,
                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(expectedEns, viewModel.Ensemble);
        }
Пример #9
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);
        }