当前位置: 首页>>代码示例>>C#>>正文


C# IPersonRepository.Get方法代码示例

本文整理汇总了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;
        }
开发者ID:naingyelin,项目名称:TimeSheetMvcSln,代码行数:70,代码来源:TimeSheetViewModel.cs


注:本文中的IPersonRepository.Get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。