public async Task OnGetAsync() { _logger.Log(LogLevel.Information, TitleFilter); var games = from g in _context.Game select g; if (!string.IsNullOrEmpty(TitleFilter)) { games = games.Where(g => g.Title.ToLower().Contains(TitleFilter.ToLower())); } _logger.Log(LogLevel.Information, ReleaseDate.ToString()); games = games.Where(m => Before ? m.ReleaseDate <= ReleaseDate : m.ReleaseDate >= ReleaseDate); games = games.Where(m => //if Before ? m.ReleaseDate <= ReleaseDate : // else m.ReleaseDate >= ReleaseDate ); Game = await games.ToListAsync(); }
private void SearchAsYouType() { if (this.searchBox.Text == this.lastSearchTerm) { return; } if (string.IsNullOrWhiteSpace(this.searchBox.Text) || this.searchBox.SelectedText == this.searchBox.Text) { this.FilterTitlesAndUpdate(); return; } Func <string, string, bool> containsSubstring = (x, y) => x.Contains(y, StringComparison.OrdinalIgnoreCase); var foundTitles = TitleFilter.FilterTitles(this.allTitles, this.titleFilter) .Where( a => containsSubstring(a.Name.RemoveDiacritics(), this.searchBox.Text) || containsSubstring(a.TitleId, this.searchBox.Text) || containsSubstring(a.Serial, this.searchBox.Text)) .ToArray(); if (foundTitles.Any()) { this.titlesDataGrid.DataSource = new SortableBindingList <Nintendo3DSTitle>(foundTitles); this.SortDataGrid(); } else { this.UpdateAction("No titles found."); } this.lastSearchTerm = this.searchBox.Text; }
public MovieGallery CreateGallery(string filter) { Trace.TraceInformation("MovieGallery.CreateFilteredCollection"); List <TitleFilter> filters; if (existingFilters != null) { filters = new List <TitleFilter>(existingFilters); } else { filters = new List <TitleFilter>(1); } TitleFilter newFilter = new TitleFilter(filterType, filter); if (!filters.Contains(newFilter)) { filters.Add(newFilter); } MovieGallery movies = new MovieGallery(filters); movies.SortMovies(); return(movies); }
private async void MainForm_Shown(object sender, EventArgs e) { this.SetVersion(); this.currentTitleStatusLabel.Text = string.Empty; if (!File.Exists(Files.DbPath)) { var result = MessageBox.Show( Properties.Resources.Disclaimer, "boo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (result == DialogResult.Cancel) { Environment.Exit(0); } this.statusProgressbar.Style = ProgressBarStyle.Marquee; this.UpdateAction("Downloading database..."); await Task.Run(() => DatabaseParser.DownloadDatabase(Files.DbPath)); this.UpdateAction($"Prettifying JSON in \"{Files.DbPath}\"..."); File.WriteAllText(Files.DbPath, JsonPrettifier.FormatJson(File.ReadAllText(Files.DbPath))); } if (!File.Exists(Files.SizesPath)) { this.UpdateAction("Downloading sizes data..."); await Task.Run(() => DatabaseParser.DownloadSizes(Files.SizesPath)); } this.UpdateAction($"Reading data from \"{Files.DbPath}\" and \"{Files.SizesPath}\"..."); this.allTitles = DatabaseParser.ParseFromDatabase(Files.DbPath, Files.SizesPath); if (File.Exists(Files.FilterPath)) { this.titleFilter = TitleFilterStorage.ParseFilterSettings(Files.FilterPath); } this.titles = new SortableBindingList <Nintendo3DSTitle>(TitleFilter.FilterTitles(this.allTitles, this.titleFilter)); this.titlesDataGrid.DoubleBuffered(true); this.titlesDataGrid.DataSource = this.titles; this.SortDataGrid(); this.UpdateAction(string.Empty); this.currentTitleStatusLabel.Text = string.Empty; this.titlesCountLabel.Text = this.titles.Count + " titles"; this.statusProgressbar.Style = ProgressBarStyle.Blocks; this.generateAllTicketsButton.Enabled = true; this.filterButton.Enabled = true; this.generateQrCodeButton.Enabled = true; }
private void FilterTitlesAndUpdate() { this.UpdateAction("Filtering..."); this.statusProgressbar.Style = ProgressBarStyle.Marquee; this.titlesDataGrid.DataSource = this.titles = new SortableBindingList <Nintendo3DSTitle>(TitleFilter.FilterTitles(this.allTitles, this.titleFilter)); this.SortDataGrid(); this.UpdateAction(string.Empty); this.statusProgressbar.Style = ProgressBarStyle.Blocks; this.titlesCountLabel.Text = $"{this.titles.Count} titles"; }
private void InitializeCheckboxes(TitleFilter titleFilter) { this.regions_ALL_Checkbox.Checked = titleFilter.RegionFilter["ALL"]; this.regions_USA_Checkbox.Checked = titleFilter.RegionFilter["USA"]; this.regions_EUR_Checkbox.Checked = titleFilter.RegionFilter["EUR"]; this.regions_JPN_Checkbox.Checked = titleFilter.RegionFilter["JPN"]; this.types_eShop_Checkbox.Checked = titleFilter.TypeFilter["eShop"]; this.types_System_Checkbox.Checked = titleFilter.TypeFilter["System"]; this.types_Demo_Checkbox.Checked = titleFilter.TypeFilter["Demo"]; this.types_DLC_Checkbox.Checked = titleFilter.TypeFilter["DLC"]; this.types_Update_Checkbox.Checked = titleFilter.TypeFilter["Update"]; this.types_DSIWare_Checkbox.Checked = titleFilter.TypeFilter["DSIWare"]; this.other_UnknownNames_Checkbox.Checked = titleFilter.OtherFilter["Unknown"]; }
private void filterButton_Click(object sender, EventArgs e) { var dialog = new FilterDialog(this.titleFilter.Clone()); var result = dialog.ShowDialog(); if (result == DialogResult.OK) { if (!dialog.TitleFilter.Equals(this.titleFilter)) { this.titleFilter = dialog.TitleFilter.Clone(); TitleFilterStorage.WriteFilterSettings(this.titleFilter, Files.FilterPath); this.FilterTitlesAndUpdate(); } } }
public static void execute() { /* * Here is an example of how to use this class.The exectue() function is only an example for * using this tool.The code of this function will not be used. */ IMAP4AttFetcher fet = new IMAP4AttFetcher();/*Do not forget to input the parameters.*/ fet.ConnectServer("", 0, true, "un", "pwd"); SenderFilter sf = new SenderFilter(@"*****@*****.**");/*using string as rule , judge by sender*/ fet.AppendFilter(sf); TitleFilter tf = new TitleFilter(@"hello thomsonreuters");/*using string as rule , judge by title*/ fet.Update(DateTime.Now); fet.DisconnectServer(); }
private IReadOnlyCollection <DataSetValuePair> UpdateDatasetSource() { var sources = new List <DataSetValuePair>(); //var selectedPublisher = (Application.Current.Resources["Locator"] as ViewModelLocator).PublisherModule; var qualifications = ViewModelLocatorStatic.Locator.QualificationModule.Qualifications.Select(c => c.Model); //var books = selectedPublisher.Books.Select(c => c.Model); //clear sources for filtering. use where. sources.Add(new DataSetValuePair("QualificationDataset", qualifications.Where(c => TitleFilter != null && c.QualificationCode.ToLowerInvariant().Contains(TitleFilter.ToLowerInvariant())))); //sources.Add(new DataSetValuePair("BooksDataset", books.Where(c => TitleFilter != null && c.Title.ToLowerInvariant().Contains(TitleFilter.ToLowerInvariant())))); return(sources); }
private IReadOnlyCollection <DataSetValuePair> UpdateDatasetSource() { var sources = new List <DataSetValuePair>(); var courses = ViewModelLocatorStatic.Locator.CourseModule.Courses.Select(c => c.Model); sources.Add(new DataSetValuePair("CourseDataset", courses.Where(c => TitleFilter != null && c.CourseName.ToLowerInvariant().Contains(TitleFilter.ToLowerInvariant()) || c.CourseId.ToLowerInvariant().Contains(TitleFilter.ToLowerInvariant())))); return(sources); }
protected override void ExecuteInternal(JobExecutionContext context) { string connStr = ConfigurationManager.AppSettings["mergeData"]; OracleConnection conn = new OracleConnection(connStr); conn.Open(); OracleTransaction tran = conn.BeginTransaction(System.Data.IsolationLevel.ReadCommitted); var startTime = DateTime.UtcNow; var logEntity = new SCHEDULERLOG { STARTTIME = startTime }; var strInfo = new StringBuilder(); strInfo.AppendFormat("Source [Email:{0},Title:{1}]\n", ConfigurationManager.AppSettings["LongZhongSenderFilter"], ConfigurationManager.AppSettings["LongZhongTitleFilter"]); strInfo.AppendFormat("Destination [Type: Oracle DB, Address: {0}]\n", connStr); var lastSyncTime = Convert.ToDateTime("2016-11-16"); using (var cneEntities = new CnEEntities()) { var date = cneEntities.SCHEDULERLOGs.Where(x => x.STATUS == 0 && x.JOBTYPE == JobType).Select( x => (DateTime?)x.STARTTIME).Max(); if (date != null) { //ToGMT8 lastSyncTime = date.Value.AddHours(8); } } try { #region 执行数据同步程序 var attFetcherSever = ConfigurationManager.AppSettings["CnEServer"]; int attFetcherPort = int.Parse(ConfigurationManager.AppSettings["CnEPort"]); bool attFetcherUsingSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["CnEUsingSsl"]); string attFetcherUserName = ConfigurationManager.AppSettings["CnEUserName"]; string attFetcherPassWord = ConfigurationManager.AppSettings["CnEPassWord"]; string attFetcherSavingPath = ConfigurationManager.AppSettings["LongZhongSavingPath"]; var attFetcher = new IMAP4AttFetcher(attFetcherSever, attFetcherPort, attFetcherUsingSsl, attFetcherUserName, attFetcherPassWord, attFetcherSavingPath); var attFetcherSenderFilter = new SenderFilter(); /*Filter example. If there are more filters , please write like below.*/ string[] senders = ConfigurationManager.AppSettings["LongZhongSenderFilter"].Split(';'); foreach (var sender in senders) { var senderRegex = new Regex(sender, RegexOptions.Compiled); attFetcherSenderFilter.SetRule(senderRegex); } attFetcher.AppendFilter(attFetcherSenderFilter); var attFetcherTitleFilter = new TitleFilter(); var titleRegex = new Regex(ConfigurationManager.AppSettings["LongZhongTitleFilter"], RegexOptions.Compiled); attFetcherTitleFilter.SetRule(titleRegex); attFetcher.AppendFilter(attFetcherTitleFilter); attFetcher.Execute(lastSyncTime); /*Get the saved attachment names.*/ var attachmentFileNames = attFetcher.GetAttachmentFileNames(); //List<string> attachmentFileNames = Directory.GetFiles(@"C:\DataFeedApp\Scheduler\CnE\LongZhong").ToList<string>(); foreach (var tempattachname in attachmentFileNames) { LongZhongExcelManager manager = new LongZhongExcelManager(); manager.GetCellsByFirstSheet(tempattachname, strInfo); } var fold = new DirectoryInfo(attFetcherSavingPath); if (fold.Exists) { FileInfo[] files = fold.GetFiles(); foreach (FileInfo f in files)//删除目录下所有文件 { f.Delete(); } } if (attachmentFileNames.Count > 0) { MergeData merge = new MergeData(); merge.ExecuteLongZhongExcel(conn, tran); tran.Commit(); strInfo.Append("Execute Procedure : CREATEMAXENERGYYIELDTABLE, CREATEMAXCHEMISTRYOUTPUTTABLE \r\n"); strInfo.Append("Insert Into Table : GDT_CHEMISTRYOUTPUTMAX, GDT_ENERGYYIELDMAX \r\n"); } else { strInfo.Append("No files found\r\n"); } #endregion var endTime = DateTime.UtcNow; logEntity.ENDTIME = endTime; logEntity.JobStatus = JobStatus.Success; logEntity.RUNDETAIL = strInfo.ToString(); WriteLogEntity(logEntity); //merge data from temp to persistence } catch (Exception exception) { tran.Rollback(); logEntity.ENDTIME = DateTime.UtcNow.AddDays(-1); logEntity.JobStatus = JobStatus.Fail; logEntity.RUNDETAIL = strInfo + "\n" + exception; WriteLogEntity(logEntity); } finally { conn.Close(); conn.Dispose(); } }
public MovieGallery CreateGallery(string filter) { Trace.TraceInformation("MovieGallery.CreateFilteredCollection"); List<TitleFilter> filters; if (existingFilters != null) filters = new List<TitleFilter>(existingFilters); else filters = new List<TitleFilter>(1); TitleFilter newFilter = new TitleFilter(filterType, filter); if (!filters.Contains(newFilter)) filters.Add(newFilter); MovieGallery movies = new MovieGallery(filters); movies.SortMovies(); return movies; }
private IReadOnlyCollection <DataSetValuePair> UpdateDatasetSource() { var cases = ViewModelLocatorStatic.Locator.CaseModule.Cases; LoadDataSet(cases); if (SelectedMonth != null) { if (SelectedMonth == "All") { var filteredcases = cases; cases = new ObservableCollection <CaseModel>(filteredcases); } else { var monthSelected = MonthOptions.IndexOf(SelectedMonth); var filteredcases = cases.Where(f => f.Model.CaseHearingDate?.Month == monthSelected); cases = new ObservableCollection <CaseModel>(filteredcases); } LoadDataSet(cases); } if (SelectedYear != null) { var year = 0; try { year = Convert.ToInt32(SelectedYear); } catch (Exception e) { year = DateTime.Now.Year; } var filteredcases = cases.Where(f => f.Model.CaseHearingDate?.Year == year); cases = new ObservableCollection <CaseModel>(filteredcases); LoadDataSet(cases); } if (Day != null) { var filteredcases = cases.Where(f => f.Model.CaseHearingDate?.Day == Day); cases = new ObservableCollection <CaseModel>(filteredcases); LoadDataSet(cases); } if (SelectedStatus != null) { if (SelectedStatus == "All") { var filteredcases = cases; cases = new ObservableCollection <CaseModel>(filteredcases); LoadDataSet(cases); } else { var filteredpersons = cases.Where(f => f.Model.CaseStatus == SelectedStatus); cases = new ObservableCollection <CaseModel>(filteredpersons); LoadDataSet(cases); } } // if (Respondent != null) // { // var r = Respondent.ToLowerInvariant(); // var filteredpersons = // cases.Where(f => f.Respondent.Model.FirstName.ToLowerInvariant().Contains(r) || // f.Respondent.Model.LastName.ToLowerInvariant().Contains(r) // ); // cases = new ObservableCollection<CaseModel>(filteredpersons); // LoadDataSet(cases); // } if (!string.IsNullOrWhiteSpace(Respondent) || !string.IsNullOrEmpty(Respondent)) { try { var personCollection = new ObservableCollection <CaseModel>(); foreach (var person in cases) { if (!string.IsNullOrWhiteSpace(person.Respondent.ToString()) || !string.IsNullOrEmpty(person.Respondent.ToString())) { if (person.Respondent.Model.FirstName.ToLowerInvariant().Contains(Respondent.ToLowerInvariant())) { personCollection.Add(person); } } } cases = new ObservableCollection <CaseModel>(personCollection); LoadDataSet(cases); } catch (Exception e) { } } _sources.Add(new DataSetValuePair("CaseDataSet", _casesDataSet.Where(c => TitleFilter != null && c.CaseId.ToLowerInvariant().Contains(TitleFilter.ToLowerInvariant()) || c.CaseName.ToLowerInvariant().Contains(TitleFilter.ToLowerInvariant())))); return(_sources); }
public FilterDialog(TitleFilter titleFilter) { this.InitializeComponent(); this.TitleFilter = titleFilter; this.InitializeCheckboxes(titleFilter); }
public MovieGallery(TitleFilter filter) : this(new List <TitleFilter>() { filter }) { }
private void RemoveGenreMetaData() { if (lbGenreMetadata.SelectedItem != null) { List<TitleFilter> tfl = new List<TitleFilter>(); TitleFilter tf = new TitleFilter(TitleFilterType.Genre, ((GenreMetaData)lbGenreMetadata.SelectedItem).Name); tfl.Add(tf); if (TitleCollectionManager.GetFilteredTitles(tfl).Count() == 0) { TitleCollectionManager.RemoveGenreMetaData((GenreMetaData)lbGenreMetadata.SelectedItem); lbGenreMetadata.Items.Remove(lbGenreMetadata.SelectedItem); SetupFilterListContextMenu(); } else { if (XtraMessageBox.Show("The genre " + lbGenreMetadata.SelectedItem + " is assigned to movies. Do you want to set filter for this genre?", "Cannot delete genres.", MessageBoxButtons.YesNo) == DialogResult.Yes) { allMoviesToolStripMenuItem1.Checked = false; foreach (ToolStripMenuItem item in filterByGenreToolStripMenuItem.DropDownItems) if (item.Text != lbGenreMetadata.SelectedItem.ToString()) item.Checked = false; else item.Checked = true; showAllItemsInTitleListToolStripMenuItem.Checked = true; LoadMovies(); PopulateMovieListV2(SelectedTreeRoot); } } } }
public static void ExcuteMailSync(string jobType, DateTime syncStartTime, string attFetcherSavingPath, string senderFilter, string titleFilter, string userName, string password , Action <SCHEDULERLOG> saveLog , Action <List <string>, StringBuilder> syncCallback , Action <OracleConnection, OracleTransaction> mergeCallback ) { string connStr = ConfigurationManager.AppSettings["mergeData"]; OracleConnection conn = new OracleConnection(connStr); conn.Open(); OracleTransaction tran = conn.BeginTransaction(System.Data.IsolationLevel.ReadCommitted); var startTime = DateTime.UtcNow; var logEntity = new SCHEDULERLOG { STARTTIME = startTime }; var strInfo = new StringBuilder(); var lastSyncTime = syncStartTime; using (var cneEntities = new CnEEntities()) { var date = cneEntities.SCHEDULERLOGs.Where(x => x.STATUS == 0 && x.JOBTYPE == jobType).Select( x => (DateTime?)x.STARTTIME).Max(); if (date != null) { lastSyncTime = date.Value; } } try { #region 执行数据同步程序 strInfo.AppendFormat("Source [Type: Email , Sender: {0} ,Title {1} ]\n", senderFilter, titleFilter); strInfo.AppendFormat("Destination [Type: {0} Address: {1}]\n", "Oracle", connStr); var attFetcherSever = ConfigurationManager.AppSettings["CnEServer"]; int attFetcherPort = int.Parse(ConfigurationManager.AppSettings["CnEPort"]); bool attFetcherUsingSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["CnEUsingSsl"]); string attFetcherUserName = userName; string attFetcherPassWord = password; var attFetcher = new IMAP4AttFetcher(attFetcherSever, attFetcherPort, attFetcherUsingSsl, attFetcherUserName, attFetcherPassWord, attFetcherSavingPath); var attFetcherSenderFilter = new SenderFilter(); /*Filter example. If there are more filters , please write like below.*/ string[] senders = senderFilter.Split(';'); foreach (var sender in senders) { var senderRegex = new Regex(sender, RegexOptions.Compiled); attFetcherSenderFilter.SetRule(senderRegex); } attFetcher.AppendFilter(attFetcherSenderFilter); if (!string.IsNullOrEmpty(titleFilter)) { var attFetcherTitleFilter = new TitleFilter(); var titleRegex = new Regex(titleFilter, RegexOptions.Compiled); attFetcherTitleFilter.SetRule(titleRegex); attFetcher.AppendFilter(attFetcherTitleFilter); } attFetcher.Execute(lastSyncTime); /*Get the saved attachment names.*/ var attachmentFileNames = attFetcher.GetAttachmentFileNames(); //var attachmentFileNames=new List<string>(); //attachmentFileNames.Add(@"C:\DataFeedApp\Scheduler\CnE\路透数据20161109.xls"); StringBuilder sb = new StringBuilder(); //var attachmentFileNames = Directory.GetFiles(@"C:\xx\troil").ToList<string>(); syncCallback(attachmentFileNames, sb); var fold = new DirectoryInfo(attFetcherSavingPath); if (fold.Exists) { FileInfo[] files = fold.GetFiles(); foreach (FileInfo f in files)//删除目录下所有文件 { f.Delete(); } } if (attachmentFileNames.Count == 0) { strInfo.Append("No find files .\r\n"); } #endregion var endTime = DateTime.UtcNow; logEntity.ENDTIME = endTime; logEntity.JobStatus = JobStatus.Success; logEntity.RUNDETAIL = strInfo + sb.ToString(); saveLog(logEntity); //merge data from temp to persistence if (mergeCallback != null) { mergeCallback(conn, tran); } tran.Commit(); } catch (Exception exception) { tran.Rollback(); logEntity.ENDTIME = DateTime.UtcNow.AddDays(-1); logEntity.JobStatus = JobStatus.Fail; logEntity.RUNDETAIL = strInfo + "\n" + exception; saveLog(logEntity); } finally { conn.Close(); conn.Dispose(); } }
private void lbTags_SelectedIndexChanged(object sender, EventArgs e) { List<TitleFilter> tf = new List<TitleFilter>(); TitleFilter tag = new TitleFilter(TitleFilterType.Tag, (string)lbTags.SelectedItem); tf.Add(tag); titlesListView.SetFilter(tf); }
public MovieGallery(TitleFilter filter) : this(new List<TitleFilter>() { filter }) { }
public IActionResult DisplaySearchResults(String TitleString, String AuthorString, int UniqueNumber, int SelectedGenre, TitleFilter SelectedTitleFilter, AuthorFilter SelectedAuthorFilter, PopularityFilter SelectedPopularityFilter, DateFilter SelectedDateFilter, RatingFilter SelectedRatingFilter, StockFilter SelectedStockFilter) { List <Book> SelectedBooks = new List <Book>(); var query = from r in _context.Books.Include(b => b.Genre) select r; if (TitleString != null && TitleString != "") { query = query.Where(r => r.Title.Contains(TitleString)); } if (AuthorString != null && AuthorString != "") { query = query.Where(r => r.Author.Contains(AuthorString)); } if (UniqueNumber != 0) { query = query.Where(r => r.UniqueID == UniqueNumber); } if (SelectedGenre != 0) { Genre GenreToDisplay = _context.Genres.Find(SelectedGenre); query = query.Where(r => r.Genre == GenreToDisplay); } if (SelectedStockFilter == StockFilter.True) { query = query.Where(b => b.CopiesOnHand > 0); } //if no sort SelectedBooks = query.Include(b => b.Reviews).ToList(); if (SelectedTitleFilter == TitleFilter.Ascending) { SelectedBooks = query.OrderBy(r => r.Title).ToList(); } else if (SelectedTitleFilter == TitleFilter.Descending) { SelectedBooks = query.OrderByDescending(r => r.Title).ToList(); } if (SelectedAuthorFilter == AuthorFilter.Ascending) { SelectedBooks = query.OrderBy(r => r.Author).ToList(); } else if (SelectedAuthorFilter == AuthorFilter.Descending) { SelectedBooks = query.OrderByDescending(r => r.Author).ToList(); } //POPULARTY FILTER CODE if (SelectedPopularityFilter == PopularityFilter.Ascending) { query = query.OrderByDescending(r => r.CopiesSold); } //don't need filter if not chosen - no else if (SelectedDateFilter == DateFilter.Oldest) { SelectedBooks = query.OrderBy(r => r.PublishedDate).ToList(); } else if (SelectedDateFilter == DateFilter.Newest) { SelectedBooks = query.OrderByDescending(r => r.PublishedDate).ToList(); } if (SelectedRatingFilter == RatingFilter.Descending) { //Int32 AvgRating = 0; //Int32 //List<Book> books = _context.Books.Include(b => b.Reviews).Where(b => b.Reviews != null).ToList(); //foreach(Book b in books) //{ // AvgRating += //} //foreach(Book book in query) SelectedBooks = query.OrderByDescending(r => r.AvgRating).ToList(); } //execute the query and store it into the SelectedRepositories list //SelectedBooks = query.Include(r => r.Reviews).ToList(); ViewBag.SelectedBooks = SelectedBooks.Count(); ViewBag.TotalBooks = _context.Books.Count(); //pass the filtered results to display in view return(View("Index", SelectedBooks)); }
protected override void ExecuteInternal(JobExecutionContext context) { var startTime = DateTime.UtcNow; var logEntity = new SCHEDULERLOG { STARTTIME = startTime }; var strInfo = new StringBuilder(); strInfo.AppendFormat("Source [Type: {0} Address: {1} Title: {2}]\n", "Email", ConfigurationManager.AppSettings["OilChemSenderFilter"], ConfigurationManager.AppSettings["OilChemTitleFilter"]); strInfo.AppendFormat("Destination [Type: {0} Address: {1}]\n", "ORACLE", ConfigurationManager.AppSettings["CnECon"]); var lastSyncTime = DateTime.Now; using (var cneEntities = new CnEEntities()) { var date = cneEntities.SCHEDULERLOGs.Where(x => x.STATUS == 0 && x.JOBTYPE == JobType).Select( x => (DateTime?)x.STARTTIME).Max(); if (date != null) { lastSyncTime = date.Value; } } try { #region 执行数据同步程序 /*Attachment fetcher begins.*/ string attFetcherSever = ConfigurationManager.AppSettings["CnEServer"]; int attFetcherPort = int.Parse(ConfigurationManager.AppSettings["CnEPort"]); bool attFetcherUsingSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["CnEUsingSsl"]); string attFetcherUserName = ConfigurationManager.AppSettings["CnEUserName"]; string attFetcherPassWord = ConfigurationManager.AppSettings["CnEPassWord"]; string attFetcherSavingPath = ConfigurationManager.AppSettings["OilChemSavingPath"]; var attFetcher = new IMAP4AttFetcher(attFetcherSever, attFetcherPort, attFetcherUsingSsl, attFetcherUserName, attFetcherPassWord, attFetcherSavingPath); var attFetcherSenderFilter = new SenderFilter(); /*Filter example. If there are more filters , please write like below.*/ string[] senders = ConfigurationManager.AppSettings["OilChemSenderFilter"].Split(';'); foreach (var sender in senders) { var senderRegex = new Regex(sender, RegexOptions.Compiled); attFetcherSenderFilter.SetRule(senderRegex); } attFetcher.AppendFilter(attFetcherSenderFilter); var attFetcherTitleFilter = new TitleFilter(); var titleRegex = new Regex(ConfigurationManager.AppSettings["OilChemTitleFilter"], RegexOptions.Compiled); attFetcherTitleFilter.SetRule(titleRegex); attFetcher.AppendFilter(attFetcherTitleFilter); attFetcher.Execute(lastSyncTime); /*Get the saved attachment names.*/ var attachmentFileNames = attFetcher.GetAttachmentFileNames(); foreach (var tempattachname in attachmentFileNames) { var eos = new EnergyOilShandong(tempattachname); eos.ImportTheWholeExcel(strInfo); } var fold = new DirectoryInfo(attFetcherSavingPath); if (fold.Exists) { FileInfo[] files = fold.GetFiles(); foreach (FileInfo f in files)//删除目录下所有文件 { f.Delete(); } } #endregion var endTime = DateTime.UtcNow; logEntity.ENDTIME = endTime; logEntity.JobStatus = JobStatus.Success; logEntity.RUNDETAIL = strInfo.ToString(); WriteLogEntity(logEntity); } catch (Exception exception) { logEntity.ENDTIME = DateTime.UtcNow.AddDays(-1); logEntity.JobStatus = JobStatus.Fail; logEntity.RUNDETAIL = strInfo + "\n" + exception; WriteLogEntity(logEntity); } }
private IReadOnlyCollection <DataSetValuePair> UpdateDatasetSource() { var sources = new List <DataSetValuePair>(); var puroks = ViewModelLocatorStatic.Locator.PurokModule.PurokList; var _purokPersons = new ObservableCollection <PurokPerson>(); foreach (var purok in puroks) { _purokPersons.Add(new PurokPerson { Male = purok.MaleCount, Population = purok.NumberOfPersons, Female = purok.FemaleCount, Location = purok.Model?.Location, PurokHeadName = purok.PurokHead?.Model?.FirstName + " " + purok.PurokHead?.Model?.MiddleName + " " + purok.PurokHead?.Model?.LastName + " ", PurokName = purok.Model?.PurokName, PurokNo = purok.Model.PurokNo }); } if (StartPopulation != null && EndPopulation > 0) { var purokpersons = _purokPersons.Where(p => p.Population <= EndPopulation && p.Population >= StartPopulation); _purokPersons = new ObservableCollection <PurokPerson>(purokpersons); } sources.Add(new DataSetValuePair("AllPurokDataSet", _purokPersons.Where(c => TitleFilter != null && c.PurokName.ToLowerInvariant().Contains(TitleFilter.ToLowerInvariant())))); return(sources); }
/// <summary> /// Creates or finds an existing folder by 'Name' with a specific parentid. Returns an out addedTitle /// parameter if a new title was created, if title allready exists /// </summary> /// <param name="parentid"></param> /// <param name="Name"></param> /// <param name="titletype"></param> /// <param name="seriesNumber"></param> /// <param name="addedTitle"></param> /// <returns></returns> public static Title CreateFolderNonDuplicate(int? parentid, string Name, TitleTypes titletype, short? seriesNumber, out bool titleCreated) { // Build filter TitleFilter tf1 = new TitleFilter(TitleFilterType.Parent, parentid.ToString()); TitleFilter tf2 = new TitleFilter(TitleFilterType.Name, Name); List<TitleFilter> tf = new List<TitleFilter>(); tf.Add(tf1); tf.Add(tf2); List<Title> existingTitle = (from t in TitleCollectionManager.GetFilteredTitles(tf) where t.Name == Name select t).ToList(); if (existingTitle.Count() > 0) { titleCreated = false; return existingTitle[0]; } else { Title addedTitle = null; titleCreated = true; return CreateFolder(parentid, Name, titletype, seriesNumber); } }
protected override void ExecuteInternal(JobExecutionContext context) { var connStr = ConfigurationManager.AppSettings["mergeData"]; var conn = new OracleConnection(connStr); conn.Open(); OracleTransaction tran = conn.BeginTransaction(System.Data.IsolationLevel.ReadCommitted); var startTime = DateTime.UtcNow; var logEntity = new SCHEDULERLOG { STARTTIME = startTime }; var strInfo = new StringBuilder(); strInfo.AppendFormat("Source [Email:{0}]\n", ConfigurationManager.AppSettings["CoffedSenderFilter"]); strInfo.AppendFormat("Destination [Type: Oracle DB, Address: {0}]\n", connStr); strInfo.AppendFormat("Destination Table:Cofeed\n" + "\r\n"); var lastSyncTime = Convert.ToDateTime("2016-09-03"); using (var cneEntities = new CnEEntities()) { var date = cneEntities.SCHEDULERLOGs.Where(x => x.STATUS == 0 && x.JOBTYPE == JobType).Select( x => (DateTime?)x.STARTTIME).Max(); if (date != null) { //ToGMT8 lastSyncTime = date.Value.AddHours(8); } } try { StringBuilder sb = new StringBuilder(); #region 执行数据同步程序 var attFetcherSever = ConfigurationManager.AppSettings["CnEServer"]; int attFetcherPort = int.Parse(ConfigurationManager.AppSettings["CnEPort"]); bool attFetcherUsingSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["CnEUsingSsl"]); string attFetcherUserName = ConfigurationManager.AppSettings["CnEUserName"]; string attFetcherPassWord = ConfigurationManager.AppSettings["CnEPassWord"]; string attFetcherSavingPath = ConfigurationManager.AppSettings["CoffedSavingPath"]; var attFetcher = new IMAP4AttFetcher(attFetcherSever, attFetcherPort, attFetcherUsingSsl, attFetcherUserName, attFetcherPassWord, attFetcherSavingPath); var attFetcherSenderFilter = new SenderFilter(); string[] senders = ConfigurationManager.AppSettings["CoffedSenderFilter"].Split(';'); foreach (var sender in senders) { var senderRegex = new Regex(sender, RegexOptions.Compiled); attFetcherSenderFilter.SetRule(senderRegex); } attFetcher.AppendFilter(attFetcherSenderFilter); var attFetcherTitleFilter = new TitleFilter(); var titleRegex = new Regex(ConfigurationManager.AppSettings["CoffedTitleFilter"], RegexOptions.Compiled); attFetcherTitleFilter.SetRule(titleRegex); attFetcher.AppendFilter(attFetcherTitleFilter); attFetcher.Execute(lastSyncTime); var attachmentFileNames = attFetcher.GetAttachmentFileNames(); foreach (var tempattachname in attachmentFileNames) { CofeedManager manager = new CofeedManager(); manager.GetCellsByFirstSheet(tempattachname, sb); } strInfo.Append(sb); var fold = new DirectoryInfo(attFetcherSavingPath); if (fold.Exists) { FileInfo[] files = fold.GetFiles(); foreach (FileInfo f in files)//删除目录下所有文件 { f.Delete(); } } #endregion if (attachmentFileNames.Count > 0) { MergeData merge = new MergeData(); merge.Execute(conn, tran); tran.Commit(); strInfo.Append("Execute Procedure : createMaxAgricultrueTable \r\n"); strInfo.Append("Insert Into Table : GDT_AgricultureMax \r\n"); } else { strInfo.Append("No files found\r\n"); } var settingFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"config\Ftp-Cofeed-data-sync.xml"); var settingManager = new FtpSyncXmlManager(File.ReadAllText(settingFilePath), lastSyncTime, startTime.AddHours(8)); settingManager.Init(); var ftpSync = new FtpSyncLoad(settingManager, strInfo); ftpSync.Excute(); var endTime = DateTime.UtcNow; logEntity.ENDTIME = endTime; logEntity.JobStatus = JobStatus.Success; logEntity.RUNDETAIL = strInfo.ToString(); WriteLogEntity(logEntity); } catch (Exception exception) { tran.Rollback(); logEntity.ENDTIME = DateTime.UtcNow.AddDays(-1); logEntity.JobStatus = JobStatus.Fail; logEntity.RUNDETAIL = strInfo + "\n" + exception; WriteLogEntity(logEntity); } finally { conn.Close(); } }