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")); } }
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); }
public bool InsertUpdateAudition(AuditionModel entity) { try { return(_AuditionDataAccess.InsertUpdateAudition(entity)); } catch (Exception ex) { LogService.Log("Error in GetAuditionById of AuditionBusinessAccess: " + ex.Message); throw ex; } }
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); }
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); }
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); }
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); }