2

いくつかのクエリを作成する必要があり、これらのクエリはダッシュボードでグラフを作成するために使用されます。クエリは多くの計算であり、非永続的なクラスです。

最初にクラスを作成しましたが、これについてのみ HPerformance_ListView と HPerformance_DetailView がありますが、それを設定するためのデータ プロバイダーがありません。システムは EF コンテキストからデータを入力しようとしますが、これは不可能です。

[NavigationItem]
[NonPersistent]
public class HPerformance
{
    public decimal Valor { get; set; }
    public decimal Meta { get; set; }
    public decimal Percentual { get; set; }
}

そしてクエリクラス

public class MetasVendas
{
    public MetasVendas()
    {
        fromDate = DateTime.Now.AddMonths(-1);
        toDate = DateTime.Now;
        revenda = 0;
    }

    public DateTime fromDate { get; set; }
    public DateTime toDate { get; set; }
    public long revenda { get; set; }

    public BindingList<HPerformance> _hPerformance()
    {
        var r = _calculoMetaEValor();

        var rr = r.GroupBy(g => true).Select(s => new HPerformance()
        {
            Valor = s.Sum(v => v.TotalUSacess + v.TotalUSradio),
            Meta = s.Sum(v => v.Meta),
            Percentual = s.Sum(vv => vv.TotalUSacess + vv.TotalUSradio) / s.Sum(vv => vv.Meta)
        });

        return new BindingList<HPerformance>(rr.ToList());
    }

ダッシュボード コントローラーでは、これは処理方法がわからないコードです。私の例はうまくいきません

public partial class DashboardDealerGoalExecute : ViewController<DashboardView>
{
    void parametersViewItem_ControlCreated(object sender, EventArgs e)
    {
        DashboardViewItem viewItem = (DashboardViewItem)sender;

        if (viewItem.Id == "HPerformance")
        {
            ListView _hPerformance = (ListView)viewItem.InnerView;

            if (parameters != null && parameters.Dealer != null)
            {
                BindingList<HPerformance> hp =
                    new MetasVendas()
                    {
                        fromDate = parameters.FromDate,
                        toDate = parameters.ToDate,
                        revenda = parameters.Dealer.ID
                    }._hPerformance();
                _hPerformance.CurrentObject = hp;
            }
        }

HPerformanceはダッシュボード アイテムであり、HPerformanceクラス (最初のコード) に接続されています。メソッドHPerformance_ListViewごとに入力されるように設定するにはどうすればよいですか?_hPerformance()

ありがとう、マルコ・カストロ

4

0 に答える 0