protected virtual MonthlyReportCollection ConvertToYearMonthResult(int year, MonthlyReportCollection reports) { MonthlyReportCollection rv = new MonthlyReportCollection(); DateTime today = DateTime.Today; int months; if (today.Year == year) { months = today.Month; } else { months = 12; } for (int i = months; i > 0; i--) { MonthlyReport report = reports.TryGetItem(year, i); if (report == null) { report = new MonthlyReport(); report.IsEmpty = true; report.ItemID = -i; report.TaskID = -1; report.Date = new DateTime(year, i, 1); } rv.Add(report); report["Month"] = i; } return(rv); }
public virtual object GetTeamReports(HttpContext context) { YZRequest request = new YZRequest(context); string myaccount = request.GetString("account", YZAuthHelper.LoginUserAccount); DateTime date = request.GetDateTime("date"); BPMObjectNameCollection accounts = new BPMObjectNameCollection(); accounts.Add(myaccount); using (BPMConnection bpmcn = new BPMConnection()) { bpmcn.WebOpen(); MemberCollection positions = OrgSvr.GetUserPositions(bpmcn, myaccount); foreach (Member position in positions) { DirectXSCollection xss = position.GetDirectXSs(bpmcn); foreach (DirectXS xs in xss) { if (!accounts.Contains(xs.UserAccount)) { accounts.Add(xs.UserAccount); } } } MonthlyReportCollection rv = new MonthlyReportCollection(); foreach (string account in accounts) { MonthlyReport monthlyReport; using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider) { using (IDbConnection cn = provider.OpenConnection()) { monthlyReport = MonthlyReportManager.TryGetReport(provider, cn, account, date); if (monthlyReport == null) { monthlyReport = new MonthlyReport(); monthlyReport.Account = account; monthlyReport.Date = date; } rv.Add(monthlyReport); } } User user = User.TryGetUser(bpmcn, account); monthlyReport["ShortName"] = user == null ? "" : user.ShortName; } return(rv); } }