/// <summary> /// Agrega|Actualiza un ScoreRuleByLeadSource /// </summary> /// <history> /// [emoguel] created 27/05/2016 /// </history> private async void btnAccept_Click(object sender, RoutedEventArgs e) { btnAccept.Focus(); List <ScoreRuleByLeadSourceDetail> lstScoreRuleDetails = (List <ScoreRuleByLeadSourceDetail>)dgrScores.ItemsSource; if (enumMode != EnumMode.Add && ObjectHelper.IsEquals(scoreRuleByLeadSource, oldScoreRuleByLeadSource) && !hasChageScores()) { _isClosing = true; Close(); } else { skpStatus.Visibility = Visibility.Visible; txtStatus.Text = "Saving Data..."; btnAccept.Visibility = Visibility.Collapsed; string strMsj = ValidateHelper.ValidateForm(this, "Score Rule", blnDatagrids: true); if (strMsj == "") { List <ScoreRuleByLeadSourceDetail> lstScoreDetail = (List <ScoreRuleByLeadSourceDetail>)dgrScores.ItemsSource; #region Listas var lstAdd = lstScoreDetail.Where(sj => !_lstScoreRulesDet.Any(sjj => sj.sjsp == sjj.sjsp && sj.sjls == sjj.sjls )).ToList(); var lstDel = _lstScoreRulesDet.Where(sj => !lstScoreDetail.Any(sjj => sj.sjsp == sjj.sjsp && sj.sjls == sjj.sjls )).ToList(); var lstUpd = _lstScoreRulesDet.Where(sj => lstScoreDetail.Any(sjj => sj.sjsp == sjj.sjsp && sj.sjls == sjj.sjls )).ToList(); #endregion int nRes = await BRScoreRulesByLeadSource.SaveScoreRuleByLeadSource(scoreRuleByLeadSource, lstAdd, lstDel, lstUpd, (enumMode == EnumMode.Edit));// await BRProducts.SaveProduct(product, (enumMode == EnumMode.edit), _productLegend, lstAdd, lstDel); UIHelper.ShowMessageResult("Score Rule By Lead Source", nRes); if (nRes > 0) { if (enumMode == EnumMode.Add) { var lstNewItem = await BRScoreRulesByLeadSource.GetScoreRuleByLeadSource(scoreRuleByLeadSource.sbls); scoreRuleByLeadSource = lstNewItem.FirstOrDefault(); } _isClosing = true; DialogResult = true; Close(); } } else { UIHelper.ShowMessage(strMsj); } skpStatus.Visibility = Visibility.Collapsed; btnAccept.Visibility = Visibility.Visible; } }
/// <summary> /// Llena el grid de ScoreRuleByLeadSources /// </summary> /// <param name="scoreRuleByLS">Objeto a seleccionar</param> /// <history> /// [emoguel] created 27/05/2016 /// </history> private async void LoadScoreRulesByLS(ScoreRuleByLeadSource scoreRuleByLS = null) { List <ScoreRuleByLeadSource> lstScoreRulesByLS = await BRScoreRulesByLeadSource.GetScoreRuleByLeadSource(); int nIndex = 0; dgrScoreRulesByLS.ItemsSource = lstScoreRulesByLS; if (lstScoreRulesByLS.Count > 0 && scoreRuleByLS != null) { scoreRuleByLS = lstScoreRulesByLS.Where(sb => sb.sbls == scoreRuleByLS.sbls).FirstOrDefault(); nIndex = lstScoreRulesByLS.IndexOf(scoreRuleByLS); } GridHelper.SelectRow(dgrScoreRulesByLS, nIndex); StatusBarReg.Content = lstScoreRulesByLS.Count + " Score Rules."; status.Visibility = Visibility.Collapsed; }