public static async Task DownloadCompleted(string fullPath) { var data = ParseLocalVideoPath(fullPath); if (data != null) { data = ObjectCacher.DownloadingFiles.ContainsKey(data.VideoId) ? ObjectCacher.DownloadingFiles[data.VideoId] : data; if (ObjectCacher.DownloadingFiles.ContainsKey(data.VideoId)) { ObjectCacher.DownloadingFiles.Remove(data.VideoId); } var category = ControllerRepository.Db(x => x.GetVideoCategory(UserData.CurrentUser.EntityId.Value, data.category_Id)).FirstOrDefault(); if (category != null) { category.Videos = new List <VideoData>(); category.Videos.Add(new VideoData { Video_Id = data.VideoId, Title = data.Title, ThumpUrl = data.ThumpUrl, Quality = data.Quality, Duration = data.Duration, Description = data.Description, Auther = data.Auther, Resolution = data.Resolution }); /// Save the changes to DownloadCoins, that has been made in FileService await UserData.SaveUserChanges(); await UserData.SaveCategory(category); } } }
public SimpleRepositoryService() { this.gatewayRepository = new GatewayRepository(); this.controllerRepository = new ControllerRepository(); this.dummyWebService = new ExternalServiceMock(); this.controllerTypeRepository = new ControllerTypeRepository(); }
protected void AddUserController_Click(object sender, EventArgs e) { ControllerRepository conUserReb = new ControllerRepository(); conUserReb.AddUserController(Convert.ToInt32(ddlUsers.SelectedValue), Convert.ToInt32(txtCotrollerId.Text)); BindRepeater(); }
/// <summary> /// Reward the user after watching an ads /// </summary> public static void Reward() { var amount = decimal.Parse(ControllerRepository.Db(x => x.GetSetting("VideoRewardAmount")).Value); UserData.CurrentUser.DownloadCoins += amount; UserData.SaveUserChanges(); }
private void _btnDislike_Clicked(object sender, EventArgs e) { var item = (sender as ImageButton).BindingContext as VideoCategoryView; ControllerRepository.Db(x => x.Vote(VideoSearchType.PlayList, Ratingtype.Down, item.EntityId.Value, UserData.CurrentUser.EntityId.Value)).Await(); DataBinder(); }
/// <summary> /// Load Application Settings from the db /// </summary> /// <param name="mainActivity"></param> public static void LoadApplicationSettings(IMainActivity mainActivity) { mainActivity.YDeveloperKey = ControllerRepository.Db(x => x.GetSetting("YoutubeDeveloperKey")).Value; mainActivity.AdsApplicationIds = ControllerRepository.Db(x => x.GetSetting("AdsApplicationIds")).Value; mainActivity.BannerAdd = ControllerRepository.Db(x => x.GetSetting("BannerAdd")).Value; mainActivity.RewardAddId = ControllerRepository.Db(x => x.GetSetting("RewardAddId")).Value; }
public async Task DataBinder(MethodInformation method = null) { if (!this.UserIsLogedIn()) { return; } var l = await this.StartLoading(); myPlaylist.ItemsSource = UserData.VideoCategoryViews; myPlaylist.Header.IsVisible = myPlaylist.HasItems; playListSuggesting.ItemsSource = ControllerRepository.Db(x => x.GetUserSuggestion(UserData.CurrentUser.EntityId.Value)); playListSuggesting.Header.IsVisible = playListSuggesting.HasItems; playListUserSeach.ItemsSource = ControllerRepository.Y(x => x.SearchAsync(UserData.CurrentUser.EntityId.Value, "", 10, 1, null, VideoSearchType.Recommendation)).Await()?.ToItemList(); playListUserSeach.Header.IsVisible = playListUserSeach.HasItems; //adsBanner.IsVisible = UserData.CurrentUser.UserType != UserType.Premium; l.EndLoading(); if (!myPlaylist.HasItems && !UserData.Notified) { UserData.Notified = true; var config = new ToastConfig("BackgroundModeMessage".GetString()) .SetDuration(TimeSpan.FromSeconds(8)) .SetMessageTextColor(Color.Red) .SetBackgroundColor(Color.WhiteSmoke) .SetPosition(ToastPosition.Bottom); UserDialogs.Instance.Toast(config); } // start the ads //await Methods.ReguastNewAdd?.Invoke(); }
public Video LoadData() { if (!_video.IsVideo) { var title = _video.Title; _video.LoadVideos(); if (!_video.Videos.Any()) { return(this); } var v = _video.Videos.FirstOrDefault(x => x.IsVideo); v.Videos = _video.Videos; _video = v; PlayListTitle = title; LoadlstPlayListVideos(); } else { var index = searchedVideos.FindIndex(x => x.Id == _video.Id); searchedVideos = ControllerRepository.Y(x => x.SearchAsync(UserData.CurrentUser.EntityId.Value, "", 30, 1, _video.Title, VideoSearchType.Mix)).Await().ToItemList(); // get relevant Videos searchedVideos.RemoveAll(x => x.Id == _video.Id); searchedVideos.Insert(0, _video); LoadlstVideos(); } return(this); }
private static int DeleteRecordsByController(Controller controller) { int ret = 0; using (TransactionalDbClient tc = ionixFactory.CreateTransactionalDbClient()) { ControllerRepository controllerRepository = new ControllerRepository(tc.Cmd); ActionRepository actionRepository = new ActionRepository(tc.Cmd); List <Server.Models.Action> controllerActions = actionRepository.SelectByControllerId(controller.Id).ToList(); if (!controllerActions.IsEmptyList()) { List <int> controllerActionIds = new List <int>(controllerActions.Count); controllerActions.ForEach((aa) => controllerActionIds.Add(aa.Id)); //RoleControllerAction Siliniyor. RoleActionRepository roleControllerActionRepository = new RoleActionRepository(tc.Cmd); ret += roleControllerActionRepository.DeleteByControllerActionIds(controllerActionIds); //controllerAction Siliniyor. ret += actionRepository.DeleteByControllerId(controller.Id); } //controller Siliniyor. ret += controllerRepository.Delete(controller); tc.Commit(); } return(ret); }
private async void _txtSearch_QuerySubmitted(object sender, AutoSuggestBoxQuerySubmittedEventArgs e) { if (!await Methods.AppSettings.ValidateStoragePermission() || string.IsNullOrEmpty(_txtSearch.Text)) { return; } var text = _txtSearch.Text; if (e?.ChosenSuggestion != null) { text = e.ChosenSuggestion.ToString(); } if (string.IsNullOrWhiteSpace(text)) { return; } var l = await this.StartLoading(); var videos = ControllerRepository.Y(x => x.SearchAsync(UserData.CurrentUser.EntityId.Value, text, 6, 1, null, VideoSearchType.All)).Await(); var src = new SearchView(videos, _txtSearch.Text); src.Open(); l.EndLoading(); }
public Video(VideoWrapper video, List <VideoWrapper> allCollection) { InitializeComponent(); _video = video; searchedVideos = allCollection; screanHeight = Height; yVideo.OnFullScrean = b => { expandableView.IsVisible = !b && PageO != PageOrientation.Horizontal; expandableViewPlayList.IsVisible = _video.HasVideos && !b && PageO != PageOrientation.Horizontal; }; yVideo.OnVideoStarted = v => { if (_video.HasVideos && lstPlayListVidos != null && (lstPlayListVidos.SelectedItem != null || lstVidos?.SelectedItem == null)) { lstPlayListVidos.SelectedItem = _video; } else if (lstVidos != null) { lstVidos.SelectedItem = _video; } }; yVideo.OnError = (e) => { //Methods.Logger() }; // play next and ignore the error yVideo.OnVideoEnded = VideoEnded; yVideo.OnNext = VideoEnded; yVideo.OnPrev = () => { AutoPlay(false); }; this.AddTrigger(ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveCategory(null)), ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveVideo(null))); }
private List <int> BodyContainsCon(EmailMessage email) { ControllerRepository getConIdBySiteId = new ControllerRepository(); List <int> controllerId = new List <int>(); List <Controller> listControllers = listOfControllers.Where(controller => email.TextBody.ToString().Contains(controller.ControllerName)).ToList(); foreach (var item in listControllers) { controllerId.Add(item.ControllerId); } List <Site> listSites = listOfSites.Where(site => email.TextBody.ToString().Contains(site.SiteName) | email.TextBody.ToString().Contains(site.SiteCode)).ToList(); foreach (var item in listSites) { List <int> GetControllerIdsBySiteId = getConIdBySiteId.GetControllerIdsBySiteId(item.SiteId); controllerId.AddRange(GetControllerIdsBySiteId); } if (controllerId.Count != 0) { return(controllerId); } return(new List <int> { -1 }); }
public static async Task SaveUserChanges() { MethodInformation info = null; CurrentUser = ControllerRepository.Db(x => x.SaveUser(CurrentUser), (u, i) => { info = u; }); await info?.ExecuteTrigger(); }
private static List <Controller> getAllControllers() { ControllerRepository getAllCon = new ControllerRepository(); List <Controller> listOfControllers = getAllCon.GetAllControllers(); return(listOfControllers); }
public MainPage() { InitializeComponent(); BackgroundColor = (Color)Application.Current.Resources["applicationColor"]; this.AddTrigger(ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveVideo(null))) .AddTrigger(ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveCategory(null))) .AddTrigger(ControllerRepository.GetInfo <IDbController, Realm.Of.Y.Manager.Models.Container.DB_models.User>(x => x.SaveUser(null))) .AddTrigger(ControllerRepository.GetInfo <IDbController, Models.Container.DB_models.User>(x => x.LogIn(null, null, null))); }
protected void DeleteUserCon_Click(object sender, ImageClickEventArgs e) { var btn = (ImageButton)sender; int conUserId = Convert.ToInt32(btn.CommandArgument); ControllerRepository conUserReb = new ControllerRepository(); conUserReb.DeleteUserController(conUserId); BindRepeater(); }
public Home() { this.AddTrigger(ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveVideo(null))) .AddTrigger(ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveCategory(null))) .AddTrigger(ControllerRepository.GetInfo <IDbController, Models.Container.DB_models.User>(x => x.LogIn(null, null, null))); this.LoadValueConverters(); InitializeComponent(); DataBinder(); }
public LocalVideo(long categoryId) { _category_Id = categoryId; InitializeComponent(); this.AddTrigger( ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveCategory(null)), ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveVideo(null))); expandableView.IsExpanded = true; }
public SearchResult(VideoSearchType videoSearchType, string searchFor) { _searchfor = searchFor; _videoSearchType = videoSearchType; this.AddTrigger( ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveCategory(null)), ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveVideo(null))); InitializeComponent(); }
public VideosProperties(VideoWrapper video, long categoryId) { InitializeComponent(); _categoryId = categoryId; lstVideosProperties.Category_Id = categoryId; _requastedItem = video; this.AddTrigger( ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveCategory(null)), ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveVideo(null))); }
protected void btnSave_Click(object sender, EventArgs e) { ControllerRepository controllerRep = new ControllerRepository(); int id = Convert.ToInt32(hdnId.Value); if (string.IsNullOrWhiteSpace(txtConName.Text.ToString().Trim())) { lblErrorMsg.Text = "Controller must have name"; lblErrorMsg.ForeColor = Color.Red; lblErrorMsg.Font.Bold = true; txtConName.Focus(); return; } if (ddlTechnology.SelectedIndex == 0) { lblErrorMsg.Text = "Controller must have Technology"; lblErrorMsg.ForeColor = Color.Red; lblErrorMsg.Font.Bold = true; ddlTechnology.Focus(); return; } if (id < 0) { int idController = controllerRep.InsertNewController(GetVaules()); if (idController > 0) { Page.Response.Redirect(Page.Request.Url.ToString(), true); setTextBoxesNull(); } else { setTextBoxesNull(); } } else { bool idController = controllerRep.UpdateController(GetUpdateVaules(id)); if (idController) { Page.Response.Redirect(Page.Request.Url.ToString(), true); DoneOrNot.Text = "Done"; setTextBoxesNull(); } else { DoneOrNot.Text = "You have problem"; setTextBoxesNull(); } } }
private void BindDDlUser() { ControllerRepository users = new ControllerRepository(); DataTable Users = users.GetUsers(); ddlUsers.DataValueField = "UserID"; ddlUsers.DataTextField = "FullName"; ddlUsers.DataSource = Users; ddlUsers.DataBind(); ddlUsers.Items.Insert(0, "--Select User--"); }
/// <summary> /// Reload/Load the userData /// </summary> /// <returns></returns> public static void LoadUserData(bool forceReload = true) { if (CurrentUser == null) { return; } if (forceReload) { VideoCategoryViews = CurrentUser?.EntityId.HasValue ?? false?ControllerRepository.Db(x => x.GetVideoCategory(CurrentUser.EntityId, null)) : new List <VideoCategoryView>(); } }
public SearchView(YVideoCollection videos, string text) { InitializeComponent(); _videos = videos; stVideoContainer.HeaderIsVisible = _videos.Playlists.Any(); lstAlbums.HeaderIsVisible = _videos.Albums.Any(); stVideoContainer.HeaderIsVisible = _videos.Videos.Any(); textSearch = text; this.AddTrigger( ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveCategory(null)), ControllerRepository.GetInfo <IDbController, Task>(x => x.SaveVideo(null))); }
private void PlayListSuggesting_SelectedItemChanged(object sender, EventArgs e) { var category = playListSuggesting.SelectedItem as VideoCategoryView; var videos = ControllerRepository.Db(x => x.GetVideoData(null, category.EntityId, null, 1)).Await(); var videoWrappers = videos?.Select(x => new VideoWrapper(x)).ToList(); var playList = new VideoWrapper() { Title = videoWrappers.First().Title, Videos = videoWrappers, IsVideo = false, IsPlaylist = true }; new Video(playList, videoWrappers).LoadData().Open(); playListSuggesting.SelectedItem = null; }
private void _txtSearch_TextChanged(object sender, dotMorten.Xamarin.Forms.AutoSuggestBoxTextChangedEventArgs e) { if (e.Reason == AutoSuggestionBoxTextChangeReason.UserInput) { Task.Run(async() => { var source = ControllerRepository.Y(x => x.GetSuggestQueries(_txtSearch.Text)).Await()?.ToList(); Device.BeginInvokeOnMainThread(() => { _txtSearch.ItemsSource = source; }); }); } }
private void BindControllersList(string technologyId) { DataTable dataTable = new DataTable(); ControllerRepository controllers = new ControllerRepository(); dataTable = controllers.GetControllerAssign(int.Parse(technologyId)); ddlContrcoller.DataValueField = "ControllerId"; ddlContrcoller.DataTextField = "ControllerName"; ddlContrcoller.DataSource = dataTable; ddlContrcoller.DataBind(); ddlContrcoller.Items.Insert(0, "--Select Controller--"); }
/// <summary> /// Save VideoCategory /// </summary> /// <param name="videoCategories"></param> public static async Task <long> SaveCategory(VideoCategory videoCategory) { MethodInformation info = null; if (videoCategory.State == State.Removed) { UserData.DirectoryManager.Folder(videoCategory.Name).Delete(); } var id = ControllerRepository.Db(x => x.SaveCategory(videoCategory), (i, x) => info = i).Await(); LoadUserData(true); await info.ExecuteTrigger(); return(await Task.FromResult(id)); }
private UnitOfWork() { this._context = new CapInnovativeIdiaDbContext(); Idia = new IdiaRepository(_context); User = new UserRepository(_context); Role = new RoleRepository(_context); Account = new AccountRepository(_context); Controller = new ControllerRepository(_context); ControllerAction = new ControllerActionRepository(_context); UserAccess = new UserAccessRepository(_context); Team = new TeamRepository(_context); IdiaCategory = new IdiaCategoryRepository(_context); IdiaProposal = new IdiaProposalRepository(_context); IdiaStatus = new IdiaStatusRepository(_context); }
/// <summary> /// Prepare a downloadable object /// </summary> /// <param name="ytubeItem"></param> /// <param name="videoCategory"></param> /// <returns></returns> public static YFileDownloadItem GetDownloadableItem(this VideoData ytubeItem) { var videoCategory = ControllerRepository.Db(x => x.GetVideoCategory(UserData.CurrentUser.EntityId, ytubeItem.Category_Id)).FirstOrDefault(); if (ytubeItem.Video_Id.ToLower().Contains("youtube")) { ytubeItem.Video_Id = ytubeItem.Video_Id.Split('=').Last(); } var v = new YFileDownloadItem(); v.Playlist = videoCategory?.Name; v.VideoId = ytubeItem.Video_Id; v.Title = ytubeItem.Title; v.category_Id = videoCategory?.EntityId; v.ThumpUrl = ytubeItem.ThumpUrl; return(v); }
public int ClearNonExistRecords() { int ret = 0; using (DbClient client = DataFactory.CretDbClient()) { ControllerRepository controllerRepository = new ControllerRepository(client.Cmd); List<Controller> controllers = controllerRepository.Select().ToList(); if (controllers.Count > 0) { ActionRepository actionRepository = new ActionRepository(client.Cmd); ControllerActionsList reflecteds = ControllerActionsList.Create<ReflectControllerApi, ReflectControllerMvc>(AppDomain.CurrentDomain.GetAssemblies()); foreach (Controller controller in controllers) { ControllerActions ca = reflecteds.FirstOrDefault((item) => String.Equals(controller.Name, item.ControllerType.Name.Replace("Controller", ""))); if (null != ca) { List<Models.Action> actions = actionRepository.SelectByControllerId(controller.Id).ToList(); foreach (Models.Action action in actions) { ActionMethodInfo ami = ca[action.Name]; if (null == ami)//Mesela method silindi veya ismi değiştirildi. { ret = DeleteRecordsByControllerAction(action); } } } else { ret += DeleteRecordsByController(controller); } } } } return ret; }
// RadioButton button List< çalışmıyor.> //Reflection ile gelen ekrandan oluşan verilerin db ye yansıltılması. public int Save(IEnumerable<RoleControllerActionEntity> list) { int ret = 0; if (!list.IsEmptyList()) { //Öncelikle Her nekadar entity de Role name olsa bile tek bir role adı olmalı. O yüzden kontrol ediyoruz. HashSet<string> roleNames = new HashSet<string>(); HashSet<ControllerType> cts = new HashSet<ControllerType>(); list.ForEach((e) => { roleNames.Add(e.RoleName); cts.Add(e.Type); }); if (roleNames.Count != 1) throw new ArgumentException("RoleActionEntity List contains more than one role"); if (cts.Count != 1) throw new ArgumentException("RoleActionEntity List contains more than one ControlType(Api or Mvc)"); using (TransactionalDbClient tc = DataFactory.CreateTransactionalDbClient()) { RoleRepository roleRepository = new RoleRepository(tc.Cmd); ControllerRepository controllerRepository = new ControllerRepository(tc.Cmd); ActionRepository actionRepository = new ActionRepository(tc.Cmd); IndexedEntityList<Role> dbRoles = new IndexedEntityList<Role>(roleRepository.Select(), r => r.Name); IndexedEntityList<Controller> dbControllers = new IndexedEntityList<Controller>(controllerRepository.Select(), a => a.Name); IndexedEntityList<Models.Action> dbActions = new IndexedEntityList<Models.Action>(actionRepository.Select(), a => a.ControllerId, a => a.Name); List<RoleAction> dbEntityList = new List<RoleAction>(list.Count()); Role dbRole = null; foreach (RoleControllerActionEntity uiEntity in list)//Storage veritabanından geldi. { // Buradayız ama. controller den gelecek check edi,lmiş contooler ve action ları RoleControllerAction tablosuna yazmak. dbRole = dbRoles.Find(uiEntity.RoleName); if (null == dbRole) { dbRole = DataFactory.CreateEntity<Role>(); dbRole.Name = uiEntity.RoleName;//Yani db de yoksa bile eğer reflection ile gelmiş ise yani eklendi ise db ye de ekle. roleRepository.Insert(dbRole); dbRoles.Add(dbRole); // yeni db ye eklenen kayıt cache lenmiş dataya ekleniyor. } //Önceklikle Controller Denetlenmeli. Controller dbController = dbControllers.Find(uiEntity.ControllerName); if (null == dbController) { dbController = DataFactory.CreateEntity<Controller>(); dbController.Name = uiEntity.ControllerName; dbController.Type = (Byte)((Int32)uiEntity.Type); controllerRepository.Insert(dbController); dbControllers.Add(dbController); } Models.Action dbControllerAction = dbActions.Find(dbController.Id, uiEntity.ActionName); if (null == dbControllerAction)//Yani db de yoksa bile eğer reflection ile gelmiş ise yani eklendi ise db ye de ekle. { dbControllerAction = DataFactory.CreateEntity<Models.Action>(); dbControllerAction.Name = uiEntity.ActionName; dbControllerAction.ControllerId = dbController.Id; actionRepository.Insert(dbControllerAction); dbActions.Add(dbControllerAction); } RoleAction dbEntity = DataFactory.CreateEntity<RoleAction>(); dbEntity.ActionId = dbControllerAction.Id; dbEntity.RoleId = dbRole.Id; dbEntity.Enabled = uiEntity.Enabled; dbEntityList.Add(dbEntity); // else cascade silinecek. } if (dbRole == null) throw new InvalidOperationException("Role can not be null"); RoleActionRepository roleActionRepository = new RoleActionRepository(tc.Cmd); //Örneğin RoleControllerAction Tablosunun hepsi Silenebilir. SqlQuery deleteQuery = @"delete rca from RoleAction rca inner join Action ca on rca.ActionId=ca.Id inner join Controller c on ca.ControllerId = c.Id where c.Type=@0 and rca.RoleId=@1".ToQuery(cts.First().Cast<int>(), dbRole.Id);//Zaten tüm elemanlar aynı ControllerType' a sahip olmak zorunda. ret += tc.DataAccess.ExecuteNonQuery(deleteQuery); ret = roleActionRepository.BatchInsert(dbEntityList); tc.Commit(); } } return ret; }
private static int DeleteRecordsByController(Controller controller) { int ret = 0; using (TransactionalDbClient tc = DataFactory.CreateTransactionalDbClient()) { ControllerRepository controllerRepository = new ControllerRepository(tc.Cmd); ActionRepository actionRepository = new ActionRepository(tc.Cmd); List<Models.Action> controllerActions = actionRepository.SelectByControllerId(controller.Id).ToList(); if (!controllerActions.IsEmptyList()) { List<int> controllerActionIds = new List<int>(controllerActions.Count); controllerActions.ForEach((aa) => controllerActionIds.Add(aa.Id)); //RoleControllerAction Siliniyor. RoleActionRepository roleControllerActionRepository = new RoleActionRepository(tc.Cmd); ret += roleControllerActionRepository.DeleteByControllerActionIds(controllerActionIds); //controllerAction Siliniyor. ret += actionRepository.DeleteByControllerId(controller.Id); } //controller Siliniyor. ret += controllerRepository.Delete(controller); tc.Commit(); } return ret; }