Esempio n. 1
0
        /// <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;
        }