本文整理汇总了C#中IPersonRepository.Get方法的典型用法代码示例。如果您正苦于以下问题:C# IPersonRepository.Get方法的具体用法?C# IPersonRepository.Get怎么用?C# IPersonRepository.Get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPersonRepository
的用法示例。
在下文中一共展示了IPersonRepository.Get方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Create
public static async Task<TimeSheetViewModel> Create(DateTime? selectedDate,
string userId,
IPersonRepository personRepository,
ITimeSheetRepository timeSheetRepository)
{
DateTime? startOfWeek = null;
DateTime? endOfWeek = null;
if (selectedDate == null)
{
throw new ArgumentNullException();
}
switch (selectedDate.Value.DayOfWeek)
{
case DayOfWeek.Monday:
startOfWeek = selectedDate.Value.AddDays(-1);
endOfWeek = selectedDate.Value.AddDays(5);
break;
case DayOfWeek.Tuesday:
startOfWeek = selectedDate.Value.AddDays(-1);
endOfWeek = selectedDate.Value.AddDays(4);
break;
case DayOfWeek.Wednesday:
startOfWeek = selectedDate.Value.AddDays(-2);
endOfWeek = selectedDate.Value.AddDays(3);
break;
case DayOfWeek.Thursday:
startOfWeek = selectedDate.Value.AddDays(-3);
endOfWeek = selectedDate.Value.AddDays(2);
break;
case DayOfWeek.Friday:
startOfWeek = selectedDate.Value.AddDays(-4);
endOfWeek = selectedDate.Value.AddDays(1);
break;
case DayOfWeek.Saturday:
startOfWeek = selectedDate.Value.AddDays(-5);
endOfWeek = selectedDate.Value;
break;
case DayOfWeek.Sunday:
startOfWeek = selectedDate.Value;
endOfWeek = selectedDate.Value.AddDays(6);
break;
}
if (startOfWeek == null || endOfWeek == null)
{
throw new InvalidDataException();
}
var person = await personRepository.Get(userId);
var projects = person.Projects.ToList();
var timeSheetEntries = await timeSheetRepository.FindAsync(te =>
te.PersonId == person.Id &&
DbFunctions.TruncateTime(te.EntryDate) >= DbFunctions.TruncateTime(startOfWeek) &&
DbFunctions.TruncateTime(te.EntryDate) <= DbFunctions.TruncateTime(endOfWeek));
var timeSheetViewModel = new TimeSheetViewModel
{
StartOfWeek = startOfWeek.Value,
EndOfWeek = endOfWeek.Value,
Today = selectedDate.Value,
Person = person,
Projects = projects,
TimeSheetEntries = timeSheetEntries,
TimeSheetProjectPerDayOfWeekSummaries = TimeSheetProjectPerDayOfWeekSummary.CreateWeeklySummaries(startOfWeek.Value, endOfWeek.Value,
projects.ToArray(), timeSheetEntries.ToArray())
};
return timeSheetViewModel;
}