void Sorting(RevisionCl rowL, int newEtap, int oldEtap) { try { if (revL != null) { if (revL.All(r => r.Etap != newEtap)) // чтобы не было дублирующих этапов { var removeRows = revL.Where(r => r.Etap == oldEtap).OrderByDescending(r => r).ToList(); int removeRowsCount = removeRows.Count(); if (removeRows != null) { foreach (var rem in removeRows) { revL.Remove(rem); } List <int> ind = new List <int>(); var devidedByRevicion = revL.GroupBy(g => g.Revision); if (devidedByRevicion != null && devidedByRevicion.Count() > 0) { foreach (var devR in devidedByRevicion) { var lastEt = devR.LastOrDefault(r => r.Etap <= newEtap); if (lastEt == null) { lastEt = devR.Last(); } ind.Add(revL.IndexOf(lastEt)); } } else { ind = Enumerable.Repeat(-1, removeRowsCount).ToList(); } if (ind != null && ind.Count == removeRowsCount) { int chet = ind.Count - 1; foreach (var rem in removeRows) { var rev = (rem as RevisionCl).Copy(); rev.Etap = newEtap; revL.Insert(ind[chet] + 1, new RevisionClWithEvent(rev)); chet -= 1; } } } } } } catch { throw; } }
private void btnAdd_Click(object sender, EventArgs e) { var formats = GetOutputFormats().ToArray(); if (formats.Length == 0) { MessageBox.Show("Please select at least one output formats (Folder, Cbz...)"); return; } var items = (from DataGridViewRow row in dgvChapter.Rows where row.Selected select row.DataBoundItem as Chapter).ToList(); items.Reverse(); foreach (var item in items.Where(item => _downloadQueue.All(r => r.Chapter.Url != item.Url))) { _downloadQueue.Add(new DownloadChapterTask(item, txtSaveTo.Text, formats)); } }
private void btnAdd_Click(object sender, EventArgs e) { var formats = GetOutputFormats().ToArray(); if (formats.Length == 0) { MessageBox.Show("Please select at least one output format (Folder, Cbz...)"); return; } var items = (from DataGridViewRow row in dgvChapter.Rows where row.Selected select row.DataBoundItem as Chapter).ToList(); items = ApplicationConfiguration.DeepClone <IEnumerable <Chapter> >(items).ToList(); items.Reverse(); foreach (var item in items.Where(item => _downloadQueue.All(r => r.Chapter.Url != item.Url))) { var savePath = GetSavePath(item); _downloadQueue.Add(new DownloadChapterTask(item, savePath, formats)); } }
internal IEnumerable <string> TestPackage() { if (Code.Length != 3) { yield return("**CRITICAL** Package code must have exactly 3 chars."); } if (string.IsNullOrWhiteSpace(SourceCodeFile)) { yield return("Source code file path cannot be empty."); } if (string.IsNullOrWhiteSpace(Docs)) { yield return("Docs file path cannot be empty."); } var processed = new HashSet <string>(); ushort counter = 0; foreach (var test in Tests) { if (!test.ValidateTest()) { yield return($"Test {(test.TestName.Length == 0 ? "(unnamed)" : test.TestCodeName)} failed tests."); } else { if (test.IsInSubGroup()) { if (processed.Contains(test.SubGroupName())) { continue; } processed.Add(test.SubGroupName()); counter++; } else if (processed.Contains(test.TestCodeName)) { yield return($"Test name {test.TestCodeName} duplicate found."); } else if (test.Type == "Normal") { counter++; } } } for (var i = 0; i < counter; i++) { if (Tests.All(test => test.SubGroupName() != i.ToString())) { yield return($"Test group {i} is missing."); } } }
private void btnAdd_Click(object sender, EventArgs e) { var items = new List <Chapter>(); foreach (DataGridViewRow row in dgvChapter.Rows) { if (row.Selected) { items.Add((Chapter)row.DataBoundItem); } } items.Reverse(); foreach (Chapter item in items) { if (_downloadQueue.All(r => r.Chapter.Url != item.Url)) { _downloadQueue.Add(new DownloadChapterTask(item, txtSaveTo.Text, GetOutputFormats())); } } }
private void AdicionarProcesso(Processo processo) { if (_processos.All(p => p.Id != processo.Id)) { _processos.Add(new ProcessProduction { Descricao = processo.Descricao, Id = (int)processo.Id, Ordem = _processos.Count == 0 ? 1 : _processos.Max(p => p.Ordem) + 1 }); CarregarProcessos(); } }
private void ActiveTasksForm_Load(object sender, EventArgs e) { Text = ResourceManager.GetString("ActiveTasks"); ActiveTasks.AddRange(TaskManager.Tasks); TaskManager.TaskCompleted += TaskCompleted; TaskManager.TaskManagerCompleted += TaskManagerCompleted; if (!ActiveTasks.Any() || ActiveTasks.All(x => x.InnerTask.IsCompleted)) { AllTasksCompleted?.Invoke(); } ActiveTasksGridView.AutoGenerateColumns = false; ActiveTasksGridView.DataSource = ActiveTasks; ActiveTasksGridView.Refresh(); }
/// <summary> /// Hooks up event handlers for <see cref="DesktopIntegration.AccessPoints.DefaultAccessPoint"/>s. /// </summary> /// <typeparam name="T">The specific kind of <see cref="DesktopIntegration.AccessPoints.DefaultAccessPoint"/> to handle.</typeparam> /// <param name="checkBoxSimple">The simple mode checkbox for this type of <see cref="DesktopIntegration.AccessPoints.CommandAccessPoint"/>.</param> /// <param name="labelSimple">A simple mode description for this type of <see cref="DesktopIntegration.AccessPoints.CommandAccessPoint"/>.</param> /// <param name="checkBoxSelectAll">The "select all" checkbox for this type of <see cref="DesktopIntegration.AccessPoints.CommandAccessPoint"/>.</param> /// <param name="model">A model represeting the underlying <see cref="Store.Model.Capabilities.DefaultCapability"/>s and their selection states.</param> private void SetupDefaultAccessPoint <T>(CheckBox checkBoxSimple, Label labelSimple, CheckBox checkBoxSelectAll, BindingList <T> model) where T : CapabilityModel { bool suppressEvent = false; checkBoxSelectAll.CheckedChanged += delegate { if (!suppressEvent) { model.SetAllUse(checkBoxSelectAll.Checked); } }; _switchToBasicMode += () => SetDefaultAccessPointCheckBox(checkBoxSimple, labelSimple, model); _switchToAdvancedMode += () => { SetDefaultAccessPointCheckBox(checkBoxSimple, model); suppressEvent = true; checkBoxSelectAll.Checked = model.All(element => element.Use); suppressEvent = false; }; }
protected override bool CanAccept() { return(mItems.Count > 0 && mItems.All(i => i.SelectedItem != null)); }
public FreeCellGame() { Width = DefaultWidth; Height = DefaultHeight; var Margin = (DefaultWidth - CardInfo.Width * 8) / 9; var GameOverBox = new TextBox { Width = DefaultWidth, TextAlignment = System.Windows.TextAlignment.Center, Foreground = Brushes.White, Background = Brushes.Transparent, BorderThickness = new Thickness(0), IsReadOnly = true, FontSize = 24, }.MoveTo(0, DefaultHeight / 2).AttachTo(this); GameOver += delegate { GameOverBox.Text = "Congratulations! You Won!"; }; #region king var KingCanvas = new Canvas { Width = 96, Height = 96 }.AttachTo(this).MoveTo( (DefaultWidth - 32) / 2, Margin * 2 + (CardInfo.Height - 32) / 2 ); var KingRight = new kingbitm().AttachTo(KingCanvas); var KingLeft = new kingleft().AttachTo(KingCanvas); var KingSmile = new kingsmil().AttachTo(KingCanvas); KingSmile.Hide(); #endregion this.MyDeck.Overlay.MouseMove += (sender, args) => { var p = args.GetPosition(this.MyDeck.Overlay); if (p.X < DefaultWidth / 2) { KingLeft.Show(); KingRight.Hide(); } else { KingLeft.Hide(); KingRight.Show(); } }; this.MyStatus = new StatusControl().AttachContainerTo(this).MoveContainerTo( (DefaultWidth - StatusControl.Width) / 2, (DefaultHeight - StatusControl.Height) ); //this.MyStatus.Container.Hide(); // add autoscroll ? this.MyDeck.SizeTo(DefaultWidth, DefaultHeight); this.MyDeck.AttachContainerTo(this); this.MyDeck.GetRank = e => (int)RankMapping[e]; System.Console.WriteLine("--- freecell ---"); System.Console.WriteLine("adding card infos... "); MyDeck.UnusedCards.AddRange(CardInfo.FullDeck()); this.MyStatus.CardsLeft = MyDeck.UnusedCards.Count; this.MyStatus.Score = -1; this.MyStatus.Update(); System.Console.WriteLine("creating stacklists... "); PlayStacks = MyDeck.CreateStackList(); PlayStacks.ForEachNewItem( k => { k.CardMargin = new Vector { Y = 20 }; k.Update(); } ); TempStacks = MyDeck.CreateStackList(); Func<bool> Rule_WinConditionMet = delegate { if (PlayStacks.All(s => s.Cards.Count > 0)) return false; if (TempStacks.All(s => s.Cards.Count == 0)) return false; return true; }; Action MyStatus_UpdateCardsLeft = delegate { MyStatus.CardsLeft = 0; PlayStacks.ForEach(q => MyStatus.CardsLeft += q.Cards.Count); TempStacks.ForEach(q => MyStatus.CardsLeft += q.Cards.Count); }; GoalStacks = MyDeck.CreateStackList(); GoalStacks.ForEachNewItem( k => { k.CardMargin.Y = 0; k.Cards.ForEachNewItem( card => { Console.WriteLine("GoalStacks ForEachNewItem " + new { k.CardMargin.Y }); if (card.Info.Rank == CardInfo.RankEnum.RankKing) { KingSmile.Show(); card.VisibleSide = Card.SideEnum.BackSide; if (Rule_WinConditionMet()) { // winner! MyDeck.Sounds.win(); if (this.GameOver != null) this.GameOver(); } else { 600.AtDelay(KingSmile.Hide); } } MyStatus_UpdateCardsLeft(); MyStatus.Update(); } ); } ); Func<Card, Card, bool> RuleForStackingCardsInGoalStack = (Previous, Current) => { if (Cheat) return true; if (Previous == null) return Current.Info.Rank == CardInfo.RankEnum.RankAce; if (Previous.Info.Suit != Current.Info.Suit) return false; if (Previous.Rank != Current.Rank + 1) return false; return true; }; Func<Card, Card, bool> RuleForStackingCardsInPlayStack = (Previous, Current) => { if (Cheat) return true; if (Previous.Info.SuitColor == Current.Info.SuitColor) return false; if (Previous.Rank + 1 != Current.Rank) return false; return true; }; #region rules MyDeck.ApplyCardRules += delegate(Card card) { #region MovedByLocalPlayer card.MovedByLocalPlayer += delegate { var FrozenTokens = new { card.CurrentStack, card.PreviousStack }; Console.WriteLine(new { HistoryMove = card, StackedCards = card.StackedCards.Length, Previous = card.PreviousStack, Current = card.CurrentStack }.ToString()); History.History.Add( delegate { // we already are at the state we want to be if (card.CurrentStack == FrozenTokens.PreviousStack) return; card.VisibleSide = Card.SideEnum.TopSide; card.AnimatedMoveToStack(FrozenTokens.PreviousStack, null); this.MyDeck.Sounds.deal(); MyStatus.Moves--; MyStatus_UpdateCardsLeft(); MyStatus.Update(); }, delegate { MyStatus.Moves++; MyStatus.Update(); // we already are at the state we want to be if (card.CurrentStack == FrozenTokens.CurrentStack) return; card.AnimatedMoveToStack(FrozenTokens.CurrentStack, null); this.MyDeck.Sounds.deal(); } ); }; #endregion card.VisibleSide = Card.SideEnum.TopSide; card.ValidateDragStart = delegate { if (Cheat) return true; // cannot remove cards from goal stack if (GoalStacks.Contains(card)) return false; // cannot drag a pile of cards unless alternate colors and descending numbers return card.SelectedCards.AllWithPrevious(RuleForStackingCardsInPlayStack); }; card.ValidateDragStop = CandidateStack => { if (Cheat) return true; if (TempStacks.Contains(CandidateStack)) { // temp only holds one card if (CandidateStack.Cards.Count > 0) return false; // and only one card can be inserted if (card.StackedCards.Length > 0) return false; return true; } if (PlayStacks.Contains(CandidateStack)) { if (CandidateStack.Cards.Count == 0) return true; return (RuleForStackingCardsInPlayStack(CandidateStack.Cards.Last(), card)); } if (GoalStacks.Contains(CandidateStack)) { if (CandidateStack.Cards.Count == 0) { return (RuleForStackingCardsInGoalStack(null, card)); } return (RuleForStackingCardsInGoalStack(CandidateStack.Cards.Last(), card)); } return false; }; }; #endregion System.Console.WriteLine("creating goalstack... "); GoalStacks.AddRange( Enumerable.Range(0, 4).ToArray( i => new CardStack { Name = "GoalStack " + i }.MoveTo( DefaultWidth - Margin / 2 - ((CardInfo.Width + Margin / 2) * 4) + i * (CardInfo.Width + Margin / 2), Margin * 2 ) ) ); System.Console.WriteLine("creating tempstack... "); TempStacks.AddRange( Enumerable.Range(0, 4).ToArray( i => new CardStack { Name = "TempStack " + i }.MoveTo( Margin + i * (CardInfo.Width + Margin / 2), Margin * 2 ) ) ); System.Console.WriteLine("creating playstack... "); PlayStacks.AddRange( Enumerable.Range(0, 8).ToArray( i => new CardStack { Name = "PlayStack " + i }.MoveTo( Margin + (i) * (CardInfo.Width + Margin), Margin * 4 + CardInfo.Height ).Apply( s => { var Count = 6; if (i < 4) Count = 7; s.Cards.AddRange(MyDeck.FetchCards(Count)); } ) ) ); }
public SolitaireGame() { Width = DefaultWidth; Height = DefaultHeight; System.Console.WriteLine("--- solitare ---"); this.MyStatus = new StatusControl().AttachContainerTo(this).MoveContainerTo( (DefaultWidth - StatusControl.Width) / 2, (DefaultHeight - StatusControl.Height) ); var GameOverBox = new TextBox { Width = DefaultWidth, TextAlignment = System.Windows.TextAlignment.Center, Foreground = Brushes.White, Background = Brushes.Transparent, BorderThickness = new Thickness(0), IsReadOnly = true, FontSize = 24, }.MoveTo(0, DefaultHeight / 2).AttachTo(this); // add autoscroll ? this.MyDeck.SizeTo(DefaultWidth, DefaultHeight); this.MyDeck.AttachContainerTo(this); this.MyDeck.GetRank = e => (int)RankMapping[e]; System.Console.WriteLine("adding card infos... "); MyDeck.UnusedCards.AddRange(CardInfo.FullDeck()); this.MyStatus.Score = -1; this.MyStatus.CardsLeft = this.MyDeck.UnusedCards.Count; this.MyStatus.Update(); MyDeck.Stacks.ListChanged += (sender, args) => { if (args.ListChangedType == ListChangedType.ItemAdded) { // fixme: dynamically set backside for this card //var s = MyDeck.Stacks[args.NewIndex]; //s.SetBackground(MyDeck.GfxPath + "/spider.empty.png"); } }; System.Console.WriteLine("creating stacklists... "); PlayStacks = MyDeck.CreateStackList(); TempStacks = MyDeck.CreateStackList(); GoalStacks = MyDeck.CreateStackList(); PlayStacks.ForEachNewItem( delegate(CardStack s) { s.CardMargin = new Vector { Y = 20 }; s.Update(); s.Cards.ListChanged += (sender, args) => { if (args.ListChangedType == ListChangedType.ItemDeleted) s.RevealLastCard(); }; } ); GameOver += delegate { GameOverBox.Text = "Congratulations! You Won!"; }; System.Console.WriteLine("creating goalstack... "); var Margin = (DefaultWidth - CardInfo.Width * 7) / 8; var ReserveStack = new CardStack().MoveTo(Margin, Margin); var UsedChoiceStack = new CardStack().MoveTo(Margin + CardInfo.Width + Margin, Margin); var ChoiceStack = new CardStack().MoveTo(Margin + CardInfo.Width + Margin, Margin); TempStacks.AddRange( ReserveStack, UsedChoiceStack, ChoiceStack ); ReserveStack.CardMargin.X = 0; ReserveStack.CardMargin.Y = 0; UsedChoiceStack.CardMargin.X = 0; UsedChoiceStack.CardMargin.Y = 0; ChoiceStack.CardMargin.X = 20; ChoiceStack.CardMargin.Y = 0; #region rules Func<bool> Rule_WinConditionMet = delegate { if (PlayStacks.All(s => s.Cards.Count > 0)) return false; if (TempStacks.All(s => s.Cards.Count == 0)) return false; return true; }; Func<Card, Card, bool> RuleForStackingCardsInGoalStack = (Previous, Current) => { if (Cheat) return true; if (Previous == null) return Current.Info.Rank == CardInfo.RankEnum.RankAce; if (Previous.Info.Suit != Current.Info.Suit) return false; if (Previous.Rank != Current.Rank + 1) return false; return true; }; Func<Card, Card, bool> RuleForStackingCardsInPlayStack = (Previous, Current) => { if (Cheat) return true; if (Previous.Info.SuitColor == Current.Info.SuitColor) return false; if (Previous.Rank + 1 != Current.Rank) return false; return true; }; #endregion MyDeck.ApplyCardRules += delegate(Card card) { card.MovedByLocalPlayer += delegate { MyStatus.Moves++; MyStatus.Update(); }; card.ValidateDragStart = delegate { if (Cheat) return true; // cannot remove cards from goal stack if (GoalStacks.Contains(card)) return false; if (TempStacks.Contains(card)) { return (card == ChoiceStack.LastOrDefault()); } // cannot drag a pile of cards unless alternate colors and descending numbers return card.SelectedCards.AllWithPrevious(RuleForStackingCardsInPlayStack); }; card.ValidateDragStop = CandidateStack => { if (Cheat) return true; if (TempStacks.Contains(CandidateStack)) { return false; } if (PlayStacks.Contains(CandidateStack)) { if (CandidateStack.Cards.Count == 0) return card.Info.Rank == CardInfo.RankEnum.RankKing; return (RuleForStackingCardsInPlayStack(CandidateStack.Cards.Last(), card)); } if (GoalStacks.Contains(CandidateStack)) { if (card.StackedCards.Length > 0) return false; return (RuleForStackingCardsInGoalStack(CandidateStack.Cards.LastOrDefault(), card)); } return false; }; }; GoalStacks.ForEachNewItem( s => { s.CardMargin.X = 0; s.CardMargin.Y = 0; s.Cards.ForEachNewItem( card => { this.MyStatus.CardsLeft--; this.MyStatus.Update(); if (card.Info.Rank == CardInfo.RankEnum.RankKing) { card.VisibleSide = Card.SideEnum.BackSide; if (Rule_WinConditionMet()) { // winner! MyDeck.Sounds.win(); if (this.GameOver != null) this.GameOver(); } } } ); } ); GoalStacks.AddRange( Enumerable.Range(0, 4).ToArray( i => new CardStack().MoveTo(DefaultWidth - ((CardInfo.Width + Margin) * 4) + i * (CardInfo.Width + Margin), Margin) ) ); System.Console.WriteLine("creating playstack... "); PlayStacks.AddRange( Enumerable.Range(0, 7).ToArray( i => new CardStack().MoveTo(Margin + i * (CardInfo.Width + Margin), Margin * 3 + CardInfo.Height).Apply(s => s.Cards.AddRange(MyDeck.FetchCards(i + 1))) ) ); ReserveStack.Cards.AddRange(MyDeck.FetchCards(MyDeck.UnusedCards.Count)); ReserveStack.Update(); PlayStacks.ForEach(k => k.Last().VisibleSide = Card.SideEnum.TopSide); UsedChoiceStack.Cards.ForEachNewItem( card => card.VisibleSide = Card.SideEnum.BackSide ); ChoiceStack.Cards.ForEachNewItem( card => card.VisibleSide = Card.SideEnum.TopSide ); ChoiceStack.Click += delegate { ChoiceStack.Update(); } ; ReserveStack.Overlay.Cursor = Cursors.Hand; ReserveStack.Cards.ForEachNewItem( card => card.VisibleSide = Card.SideEnum.BackSide ); var ReserveStackEnabled = true; ReserveStack.Click += delegate { if (!ReserveStackEnabled) return; if (ReserveStack.Cards.Count == 0) { MyDeck.Sounds.deal(); ChoiceStack.FirstOrDefault().Apply( card => { card.AnimatedMoveToStack(ReserveStack, null, null); } ); UsedChoiceStack.FirstOrDefault().Apply( card => { card.AnimatedMoveToStack(ReserveStack, null, null); } ); } else { ReserveStackEnabled = false; ChoiceStack.Cards.ToArray().ForEach( card => { card.AttachToStack(UsedChoiceStack); } ); UsedChoiceStack.Update(); 3.Times( SignalNext => ReserveStack.LastOrDefault().Apply( card => { card.BringToFront(); Console.WriteLine(card.ToString()); card.AnimatedMoveToStack(ChoiceStack, null, null); MyDeck.Sounds.deal(); 200.AtDelay(SignalNext); } ) ); } // a timepoint when movements are done.. this should ba an event actually 2000.AtDelay(() => ReserveStackEnabled = true); }; }
private void GetLocalDisk(BindingList <ChiaDirectory> directories, BindingList <ChiaDirectory> temp1Directories, BindingList <ChiaDirectory> temp2Directories) { try { var drivers = DriveInfo.GetDrives().Where(c => c.DriveType != DriveType.CDRom); //移除 for (int i = directories.Count - 1; i >= 0; i--) { ChiaDirectory chiaDirectory = directories[i]; if (drivers.All(c => c.Name != chiaDirectory.DriveName)) { directories.Remove(chiaDirectory); } } for (int i = temp1Directories.Count - 1; i >= 0; i--) { ChiaDirectory chiaDirectory = temp1Directories[i]; if (drivers.All(c => c.Name != chiaDirectory.DriveName)) { temp1Directories.Remove(chiaDirectory); } } for (int i = temp2Directories.Count - 1; i >= 0; i--) { ChiaDirectory chiaDirectory = temp2Directories[i]; if (drivers.All(c => c.Name != chiaDirectory.DriveName)) { temp2Directories.Remove(chiaDirectory); } } //添加 foreach (DriveInfo driveInfo in drivers) { if (directories.All(c => c.DriveName != driveInfo.Name)) { ChiaDirectory chiaDirectory = new ChiaDirectory(); chiaDirectory.DriveName = driveInfo.Name; chiaDirectory.Checked = true; directories.Add(chiaDirectory); } if (temp1Directories.All(c => c.DriveName != driveInfo.Name)) { ChiaDirectory tempDirectory = new ChiaDirectory(); tempDirectory.DriveName = driveInfo.Name; temp1Directories.Add(tempDirectory); } if (temp2Directories.All(c => c.DriveName != driveInfo.Name)) { ChiaDirectory tempDirectory = new ChiaDirectory(); tempDirectory.DriveName = driveInfo.Name; temp2Directories.Add(tempDirectory); } } //设置最终目录选定状态 for (int i = 0; i < directories.Count; i++) { cblD.SetItemChecked(i, directories[i].Checked); } } catch (Exception exception) { SetMessage(exception.Message + exception.StackTrace, MessageType.Error); } }
void Invariant() { Contract.Invariant(AvailableDevices != null); Contract.Invariant(AvailableDevices.All(d => d.Path.Contains(SearchPattern))); Contract.Invariant(AvailableDevices.SequenceEqual(AvailableDevices.OrderBy(d => d.Path))); }
public BindingList <Product> GetProductsRequisitionsOrder(int ordemProducao, out BindingList <int> requisicoesSelecionadas) { requisicoesSelecionadas = new BindingList <int>(); try { _getIgdData.Open(); var returnList = new BindingList <Product>(); using ( var myCommand = new SqlCommand( @"SELECT tblprodutos.Id, tblprodutos.Codigo , tblprodutos.Descricao , CASE WHEN tblrequisicaodemateriais.Devolucao = 1 THEN tblprodutosmovimento.Quantidade * -1 ELSE tblprodutosmovimento.Quantidade END AS Quantidade, tblrequisicaodemateriais.Id AS IdRequisicao FROM dbo.tblordemproducao INNER JOIN [DevDive.Yerbalatina].dbo.tblordemdeproducaorequisicoes ON tblordemdeproducaorequisicoes.IdOrdemProducao = tblordemproducao.Id INNER JOIN dbo.tblrequisicaodemateriais ON tblrequisicaodemateriais.Id = tblordemdeproducaorequisicoes.IdRequisicaoDeMateriais INNER JOIN dbo.tblrequisicaodemateriaisprodutos ON tblrequisicaodemateriaisprodutos.IdRequisicao = tblrequisicaodemateriais.Id INNER JOIN dbo.tblprodutosmovimento ON tblprodutosmovimento.Id = tblrequisicaodemateriaisprodutos.IdProdutoMovimento INNER JOIN dbo.tblprodutos ON tblprodutos.Id = tblprodutosmovimento.IdProduto WHERE tblordemproducao.Id =@OrdemProducao", _getIgdData) ) { var pIdProduto = new SqlParameter("@OrdemProducao", SqlDbType.Int) { Value = ordemProducao }; myCommand.Parameters.Add(pIdProduto); var myReader = myCommand.ExecuteReader(); while (myReader.Read()) { returnList.Add(new Product { Id = Convert.ToInt32(myReader["Id"]), Codigo = myReader["Codigo"].ToString(), Descricao = myReader["Descricao"].ToString(), Quantidade = Convert.ToDecimal(myReader["Quantidade"]) }); var idRequisicao = Convert.ToInt32(myReader["IdRequisicao"]); if (requisicoesSelecionadas.All(p => p != idRequisicao)) { requisicoesSelecionadas.Add(idRequisicao); } } } return(returnList); } catch (Exception ex) { _getIgdData.Close(); } finally { _getIgdData.Close(); } return(null); }
private bool GetDOMeetings() { Console.WriteLine(DateTime.Now.ToString("yy-MM-dd HH:mm:ss.fff") + " DO Meetings"); CheckDynamicOdds(); BindingList <Meeting> newDynOdds = null; try { int type = (racingToolStripMenuItem.Checked ? (int)Meeting.MeetingTypes.Racing : 0) + (harnessToolStripMenuItem.Checked ? (int)Meeting.MeetingTypes.Harness : 0) + (greyhoundToolStripMenuItem.Checked ? (int)Meeting.MeetingTypes.Greyhound : 0); DateTime date = DateTime.UtcNow.Add(Zone.GetUtcOffset(DateTime.UtcNow)); Console.WriteLine(DateTime.Now.ToString("yy-MM-dd HH:mm:ss.fff") + " Get DO Meetings"); newDynOdds = dynOdds.GetMeetingsAll(date, type); mf.EventTypeIds = new HashSet <string>(bfEventTypeIds.Where(evt => Meeting.getBFMeetingTypesStrings(type).Contains(evt.Key)).Select(evt => evt.Value)); } catch (HttpRequestException e) { MessageBox.Show("Error updating meetings:" + Environment.NewLine + e.Message, "API Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } catch (System.Exception e) { logger.Error("Error updating meetings", e); MessageBox.Show("Error updating meetings:" + Environment.NewLine + e.Message, "API Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } if (newDynOdds == null) { logger.Error("Meetings list is null"); MessageBox.Show("Error updating meetings:" + Environment.NewLine + "Meetings list is null", "API Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } Console.WriteLine(DateTime.Now.ToString("yy-MM-dd HH:mm:ss.fff") + " Add/Remove Meetings"); List <Meeting> toRemove = meetings.Where(o1 => newDynOdds.All(o2 => o2.ID != o1.ID)).ToList(); dgvMeetings.SelectionChanged -= dgvMeetings_SelectionChanged; foreach (Meeting m in toRemove) // meeting not in tmp { meetings.Remove(meetings.First(o1 => o1.ID == m.ID)); } foreach (Meeting m in newDynOdds.Where(o1 => meetings.Any(o2 => o2.ID == o1.ID))) // meeting in both { Meeting old = meetings.First(o1 => o1.ID == m.ID); int i = meetings.IndexOf(old); meetings[i] = old.MergeWith(m); meetings.ResetItem(i); } foreach (Meeting m in newDynOdds.Where(o1 => meetings.All(o2 => o2.ID != o1.ID))) // meeting only in tmp { meetings.Add(m); } dgvMeetings.SelectionChanged += dgvMeetings_SelectionChanged; if (dgvMeetings.Rows.Count > 0) { dgvMeetings.Rows[0].Selected = true; dgvMeetings_SelectionChanged(dgvMeetings, null); } return(true); }
public static void Test(Form form) { bool AutomaticTests = true; bool showCloneForm = !AutomaticTests; #if !DEBUG if (!AutomaticTests) { MessageBox.Show("The application should be compiled in DEBUG mode"); } #endif // - - - - TestResults.Clear(); { string title = "ToolStrip contains a FlowLayoutSetting that builds using an inherited private field."; var data = new ToolStrip(); data.LayoutStyle = ToolStripLayoutStyle.Flow; var data2 = EasySerializeThenDeserializeWinForm(data); bool ok = (data2 != null) && data2.LayoutStyle == ToolStripLayoutStyle.Flow; AddTestResult(title + " {" + data.GetType().Name + "}", ok); if (!AutomaticTests) { Debugger.Break(); } } { string title = "ControlBindingsCollection"; var data = new Form(); data.DataBindings.Add("Width", data, "Height"); var data2 = EasySerializeThenDeserializeWinForm(data.DataBindings); bool ok = (data2 != null) && data2.Count == 1; AddTestResult(title + " {" + data.GetType().Name + "}", ok); if (!AutomaticTests) { Debugger.Break(); } } { string title = "Main Form"; var data = new Form(); var t = data.Text; data.Text = "fen2"; data.Controls.Add(new Label() { Text = "Hello" }); var data2 = EasySerializeThenDeserializeWinForm(data); bool ok = (data2 != null); AddTestResult(title + " {" + data.GetType().Name + "}", ok); data.Text = t; data2.Visible = false; if (showCloneForm) { data2.ShowDialog(); } else { data2.WindowState = FormWindowState.Minimized; data2.Show(); } data2.Close(); if (!AutomaticTests) { Debugger.Break(); } } { string title = "ControlBindingsCollection + simple Form"; var data = new Form(); data.DataBindings.Add("Width", data, "Height"); var data2 = EasySerializeThenDeserializeWinForm(data); bool ok = (data2 != null); AddTestResult(title + " {" + data.GetType().Name + "}", ok); if (!AutomaticTests) { Debugger.Break(); } } { string title = "BindingContext"; var data = new BindingContext(); var data2 = EasySerializeThenDeserializeWinForm(data); bool ok = (data2 != null); AddTestResult(title + " {" + data.GetType().Name + "}", ok); if (!AutomaticTests) { Debugger.Break(); } } if (!AutomaticTests) { bool AllOK = TestResults.All(p => p.Success); Debugger.Break(); } }