本文整理汇总了C#中IAllReadyDataAccess.GetTask方法的典型用法代码示例。如果您正苦于以下问题:C# IAllReadyDataAccess.GetTask方法的具体用法?C# IAllReadyDataAccess.GetTask怎么用?C# IAllReadyDataAccess.GetTask使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IAllReadyDataAccess
的用法示例。
在下文中一共展示了IAllReadyDataAccess.GetTask方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ToModel
public static AllReadyTask ToModel(this TaskViewModel taskViewModel, IAllReadyDataAccess dataAccess)
{
var activity = dataAccess.GetActivity(taskViewModel.ActivityId);
if (activity == null)
return null;
bool newTask = true;
AllReadyTask dbtask;
if (taskViewModel.Id == 0)
{
dbtask = new AllReadyTask();
}
else
{
dbtask = dataAccess.GetTask(taskViewModel.Id);
newTask = false;
}
dbtask.Id = taskViewModel.Id;
dbtask.Description = taskViewModel.Description;
dbtask.Activity = activity;
dbtask.EndDateTime = taskViewModel.EndDateTime.HasValue ? taskViewModel.EndDateTime.Value.UtcDateTime : new Nullable<DateTime>();
dbtask.StartDateTime = taskViewModel.EndDateTime.HasValue ? taskViewModel.StartDateTime.Value.UtcDateTime : new Nullable<DateTime>();
dbtask.Name = taskViewModel.Name;
dbtask.RequiredSkills = dbtask.RequiredSkills ?? new List<TaskSkill>();
taskViewModel.RequiredSkills = taskViewModel.RequiredSkills ?? new List<int>();
////Remove old skills
//dbtask.RequiredSkills.RemoveAll(ts => !taskViewModel.RequiredSkills.Any(s => ts.SkillId == s));
////Add new skills
//dbtask.RequiredSkills.AddRange(taskViewModel.RequiredSkills
// .Where(rs => !dbtask.RequiredSkills.Any(ts => ts.SkillId == rs))
// .Select(rs => new TaskSkill() { SkillId = rs, TaskId = taskViewModel.Id }));
// Workaround: POST is bringing in empty AssignedVolunteers. Clean this up. Discussing w/ Kiran Challa.
// Workaround: the if statement is superflous, and should go away once we have the proper fix referenced above.
if (taskViewModel.AssignedVolunteers != null)
{
var bogusAssignedVolunteers = (from assignedVolunteer in taskViewModel.AssignedVolunteers
where string.IsNullOrEmpty(assignedVolunteer.UserId)
select assignedVolunteer).ToList();
foreach (var bogus in bogusAssignedVolunteers)
{
taskViewModel.AssignedVolunteers.Remove(bogus);
}
}
// end workaround
if (taskViewModel.AssignedVolunteers != null && taskViewModel.AssignedVolunteers.Count > 0)
{
var taskUsersList = taskViewModel.AssignedVolunteers.Select(tvm => new TaskSignup
{
Task = dbtask,
User = dataAccess.GetUser(tvm.UserId)
}).ToList();
// We may be updating an existing task
if (newTask || dbtask.AssignedVolunteers.Count == 0)
{
dbtask.AssignedVolunteers = taskUsersList;
}
else
{
// Can probably rewrite this more efficiently.
foreach (TaskSignup taskUsers in taskUsersList)
{
if (!(from entry in dbtask.AssignedVolunteers
where entry.User.Id == taskUsers.User.Id
select entry).Any())
{
dbtask.AssignedVolunteers.Add(taskUsers);
}
}
}
}
return dbtask;
}