/// <summary> /// Guarda un Score Rule /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 26/05/2016 /// </history> private async void btnAccept_Click(object sender, RoutedEventArgs e) { btnAccept.Focus(); List <ScoreRuleDetail> lstScoreRuleDetails = (List <ScoreRuleDetail>)dgrScores.ItemsSource; if (enumMode != EnumMode.Add && ObjectHelper.IsEquals(scoreRule, oldScoreRule) && !hasChageScores()) { blnClosing = true; Close(); } else { string strMsj = ValidateHelper.ValidateForm(this, "Score Rule", blnDatagrids: true); if (strMsj == "") { skpStatus.Visibility = Visibility.Visible; txtStatus.Text = "Saving Data..."; List <ScoreRuleDetail> lstScoreDetail = (List <ScoreRuleDetail>)dgrScores.ItemsSource; #region Listas var lstAdd = lstScoreDetail.Where(su => !_lstScoreRuleDetail.Any(suu => su.sisp == suu.sisp && su.sisu == suu.sisu )).ToList(); var lstDel = _lstScoreRuleDetail.Where(su => !lstScoreDetail.Any(suu => su.sisp == suu.sisp && su.sisu == suu.sisu )).ToList(); var lstUpd = _lstScoreRuleDetail.Where(su => lstScoreDetail.Any(suu => su.sisp == suu.sisp && su.sisu == suu.sisu )).ToList(); #endregion int nRes = await BRScoreRules.SaveScore(scoreRule, lstAdd, lstDel, lstUpd, (enumMode == EnumMode.Edit));// await BRProducts.SaveProduct(product, (enumMode == EnumMode.edit), _productLegend, lstAdd, lstDel); skpStatus.Visibility = Visibility.Collapsed; UIHelper.ShowMessageResult("Score Rule", nRes); if (nRes > 0) { blnClosing = true; DialogResult = true; Close(); } } else { UIHelper.ShowMessage(strMsj); } } }
/// <summary> /// Llena el grid de SocreRules /// </summary> /// <param name="scoreRule">Objeto a seleccionar</param> /// <history> /// [emoguel] created 26/05/2016 /// </history> private async void LoadScoreRules(ScoreRule scoreRule = null) { int nIndex = 0; List <ScoreRule> lstScoreRules = await BRScoreRules.GetScoreRules(_nStatus, _scoreRuleFilter); dgrScoreRules.ItemsSource = lstScoreRules; if (lstScoreRules.Count > 0 && scoreRule != null) { scoreRule = lstScoreRules.Where(su => su.suID == scoreRule.suID).FirstOrDefault(); nIndex = lstScoreRules.IndexOf(scoreRule); } GridHelper.SelectRow(dgrScoreRules, nIndex); StatusBarReg.Content = lstScoreRules.Count + " Score Rules."; status.Visibility = Visibility.Collapsed; }