Ejemplo n.º 1
0
    public async Task Bind(Portfolio p_, PerfRowCol columnClicked_, CarbonClient cc_)
    {
      m_lastLoaded = p_;
      m_cc = cc_;
      m_overrides.ClearOverrides();

      if (p_ == null) return;

      ultraTabControl1.Tabs[0].Text = string.Format("P&&L [{0}]", p_.RootName);

      await loadColumnCharts();

      // period pnl
      {
        PerfRowCol usedCol = columnClicked_;
        var startDate = DateTime.Today;
        var endDate = DateTime.Today;

        var pnl = await p_.GetHistoricPnl(cc_, m_exposureType);

        if (pnl != null && pnl.TimeSeries != null)
        {
          switch (columnClicked_)
          {
            case PerfRowCol.Yesterday:
              startDate = MyCalendar.PrevWeekDay(DateTime.Today);
              endDate = startDate;
              break;
            case PerfRowCol.MTD:
              startDate = DateTime.Today.FirstOfMonth();
              break;
            case PerfRowCol.YTD:
              startDate = DateTime.Today.FirstOfYear();
              break;
            case PerfRowCol.QTD:
              startDate = DateTime.Today.FirstOfQuarter();
              break;
            case PerfRowCol.WTD:
              startDate = DateTime.Today.FirstOfWeek(DayOfWeek.Sunday);
              break;
            default:
              usedCol = PerfRowCol.MTD;
              startDate = DateTime.Today.FirstOfMonth();
              break;
          }
        }

        m_startDate = startDate;
        m_endDate = endDate;
        m_title = usedCol.ToString();

        await applyHistoryPnl();
      }
    }