public static void GetShowsShouldReturnProperCollection() { var mockProvider = new Mock <ITVMazeDataProvider>(); var shows = MockedShows(); var members1 = MockedCastMembers(1); var members2 = MockedCastMembers(2); mockProvider.Setup(s => s.GetShows(0)).Returns(shows); mockProvider.Setup(s => s.GetCastMembers(1)).Returns(members1); mockProvider.Setup(s => s.GetCastMembers(2)).Returns(members2); var manager = new ShowManager(mockProvider.Object); var returnedShows = manager.GetShows(0); Assert.NotEmpty(returnedShows); var ageSortedProperly = false; foreach (var s in returnedShows) { var a1 = s.Cast[0]; var a2 = s.Cast[1]; ageSortedProperly = a2.Birthdate > a1.Birthdate; break; } Assert.True(ageSortedProperly); }
private void DataBind() { PagedDataSource pdsShows = new PagedDataSource(); pdsShows.DataSource = ShowManager.GetShowsBySql(Convert.ToInt32(Request.QueryString["movieId"]), DateTime.Now.ToShortDateString()); dlShows.DataSource = pdsShows; dlShows.DataBind(); }
protected void btnQueryDate_Click(object sender, EventArgs e) { PagedDataSource pdsShows = new PagedDataSource(); pdsShows.DataSource = ShowManager.GetShowsBySql(Convert.ToInt32(Request.QueryString["movieId"]), Calendar1.SelectedDate.ToShortDateString()); dlShows.DataSource = pdsShows; dlShows.DataBind(); }
private void DataBind(int movieId) { PagedDataSource pdsShows = new PagedDataSource(); pdsShows.DataSource = ShowManager.GetShowsBySql(movieId, DateTime.Now.ToShortDateString()); dlShows.DataSource = pdsShows; dlShows.DataBind(); }
protected void btnShowAdd_Click(object sender, EventArgs e) { int id = Convert.ToInt32(Request.QueryString["movieId"]); string date = lblDate.Text.Trim().ToString(); string time = tbTime.Text.Trim().ToString(); string hall = tbHall.Text.Trim().ToString(); ShowManager.AddShow(id, date, time, hall); DataBind(); }
protected void btnRemove_Click(object sender, EventArgs e) { Button btn = sender as Button; string date = btn.Attributes["date"].ToString().Substring(0, 10); string time = btn.Attributes["time"].ToString(); int id = Convert.ToInt32(Request.QueryString["movieId"]); ShowManager.RemoveShowsByIdByDate(id, date, time); DataBind(); }
public ShowsManager(ISettings settings) : base(settings) { _seriesManager = new ShowManager(); var tempCollectionShowModels = Storage.GetShowModel(); if (tempCollectionShowModels != null) { _serieCollection = new SerieCollection(); _serieCollection.Set(tempCollectionShowModels); } }
public ActionResult Edit(int show_id) { //проверить относится ли show_id к текущему пользователю, кроме Admin string current_user = System.Web.HttpContext.Current.User.Identity.Name; if (UserManager.GetUserShows(current_user).Any(x => x.SHOW_ID == show_id) || IsAdmin) { var show = ShowManager.GetShow(show_id); return(View(show)); } return(RedirectToAction("User", "Show", new { user_login = current_user })); }
/// <summary> /// Пометить "модерация" /// </summary> public ActionResult SetMod(int show_id, bool value) { ShowManager.SetMod(show_id, value); if (value) { UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Пометить_заказ_как_модерируемый); } else { UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Пометить_заказ_как_немодерируемый); } return(new EmptyResult()); }
public static void GetShowsShouldPauzeWhen429Occurrs() { var mockProvider = new Mock <ITVMazeDataProvider>(); var shows = MockedShows(); var members1 = MockedCastMembers(1); var members2 = MockedCastMembers(2); var count = 0; mockProvider.Setup(s => s.GetShows(0)).Returns(shows); mockProvider.Setup(s => s.GetCastMembers(1)).Callback(() => { count++; if (count == 1) { throw new DataSourceOverloadException(); } }).Returns(members1); mockProvider.Setup(s => s.GetCastMembers(2)).Returns(members2); var manager = new ShowManager(mockProvider.Object); var stopwatch = Stopwatch.StartNew(); var returnedShows = manager.GetShows(0); var duration = stopwatch.ElapsedMilliseconds; Assert.NotEmpty(returnedShows); Assert.True(duration > 5000); var ageSortedProperly = false; foreach (var s in returnedShows) { var a1 = s.Cast[0]; var a2 = s.Cast[1]; ageSortedProperly = a2.Birthdate > a1.Birthdate; break; } Assert.True(ageSortedProperly); }
public ActionResult Edit(Show show) { if (ModelState.IsValid) { //Если не Admin, то поле ALLOWMOD и PAID брать из базы if (!IsAdmin) { Show sh = ShowManager.GetShow(show.SHOW_ID); if (sh != null) { show.ALLOWMOD = sh.ALLOWMOD; show.PAID = sh.PAID; } } SQLReturnResult res = ShowManager.SaveShow(show); switch (res.Result) { case AppEnums.SQLExecResult.Success: UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Сохранить_параметры_заказа, string.Format("Сохранение параметров заказа № {0}", show.SHOW_ID)); //если заказ добавлял админ, то перенаправить в /Admin/UserShows, иначе /User/UserShows if (IsAdmin) { AppUser user = UserManager.GetUser(show.USER_ID); return(RedirectToAction("User", "Show", new { user_login = user.USER_LOGIN })); } TempData["result"] = "Операция прошла успешно!"; return(RedirectToAction("User", "Show")); case AppEnums.SQLExecResult.SyntaxError: TempData["result"] = "При сохранении данных произошла ошибка!" + res.Message; break; } } return(View(show)); }
public ActionResult Delete(int show_id) { SQLReturnResult res = ShowManager.DeleteShow(show_id); switch (res.Result) { case AppEnums.SQLExecResult.Success: //если заказ добавлял админ, то перенаправить в /Admin/UserShows, иначе /User/UserShows UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Удалить_заказ); if (IsAdmin) { AppUser user = UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name); return(RedirectToAction("User", "Show", new { user_login = user.USER_LOGIN })); } TempData["result"] = "Заказ успешно удален!"; break; case AppEnums.SQLExecResult.SyntaxError: TempData["result"] = "При удалении заказа произошла ошибка!" + res.Message; break; } return(RedirectToAction("User", "Show")); }
private void Awake( ) { instance = this; }
/// <summary> /// Core logic to scrapping the API data to persistent local database /// </summary> private void ScrappingApiToDatabase() { if (!_isLocked) { try { _isLocked = true; var page = "?page="; using (var context = new ApplicationContext()) { var _castShowRepository = new ShowManager(context); long pageNumber = 0; // Always update our dataset on start of this Services or once a week if service is running. if (lastUpdateExistingDataDataTime == null || (DateTime.Now - lastUpdateExistingDataDataTime).TotalDays > 7) { lastUpdateExistingDataDataTime = DateTime.Now; } else { var allShows = _castShowRepository.GetAll().ToList(); var maxShowId = allShows.Count > 0 ? allShows.Max(s => s.ShowId) : 1; // 250 row per page. pageNumber = Convert.ToInt64(Math.Round(Convert.ToDouble(maxShowId / 250))); } var showPageContent = string.Empty; do { long rangeToId = (pageNumber + 1) * _pageSize; var localPageShowList = _castShowRepository.GetRange((rangeToId - _pageSize) + 1, rangeToId); try { showPageContent = _httpWebRequestHandler.GetSourceTvMazeContent($"{RequestConstants.Url}{page}{(pageNumber).ToString()}"); if (!showPageContent.Equals(string.Empty) && !showPageContent.Equals("404")) { JArray showJsonArray = JArray.Parse(showPageContent); var shows = new List<Show>(); for (int i = 0; i < showJsonArray.Count; i++) { dynamic showSourceData = JObject.Parse(showJsonArray[i].ToString()); var showId = (long)showSourceData.id; shows.Add(new Show() { ShowId = showId, Name = showSourceData.name, ShowCasts = GetShowCastDetailFromSource(showId) }); } // Merge the show data to local persists storage. _castShowRepository.Merge(shows, localPageShowList.ToList()); pageNumber++; } } catch(WebException ex) { // 404: we have reached the end of the pages. if (ex.Message.Contains("404")) { showPageContent = "404"; } else { // Wait a hour and try the page again. TimeSpan sleepTimeSpan = new TimeSpan(1, 0, 0); Thread.Sleep(sleepTimeSpan); } } } while (!showPageContent.Equals("404")); } } finally { _isLocked = false; } } else { // Skip this iteration because there is one still busy. } }
void Start() { ItsShow = this; }