private async Task AddToUpdateMhTask(MyHelperContext myHelperDbContext, MhTask mhTask, string description) { var updateMhTask = new UpdateMhTask { Description = description, UpdateDate = DateTime.Now, MhTask = mhTask }; await myHelperDbContext.UpdateMhTasks.AddAsync(updateMhTask); }
private void CreateMhTaskTags(MyHelperContext dbContext, MhTask parentMhTask, MhTask mhTask) { var mhTaskTags = parentMhTask.MhTaskTags .Select(x => new MhTaskTag { MhTask = mhTask, Tag = x.Tag }); dbContext.MhTaskTags.AddRangeAsync(mhTaskTags); }
private void CreateUpdateMhTask(MyHelperContext dbContext, MhTask mhTask) { var updateMhTask = new UpdateMhTask { Description = Constants.Updates.CreateChildMhTask, UpdateDate = DateTime.Now, MhTask = mhTask }; dbContext.UpdateMhTasks.AddAsync(updateMhTask); }
public async Task <ServerResponse <long> > CreateMhTaskAsync(MhTaskRequest mhTaskRequest, MhTask parentMhTask = null) { return(await BaseInvokeAsync(async() => { var mhTask = new MhTask { Name = mhTaskRequest.Name, Description = mhTaskRequest.Description, StartDate = mhTaskRequest.StartDate >= DateTime.Now ? mhTaskRequest.StartDate : DateTime.Now, IsRecurring = mhTaskRequest.IsRecurring, VisibleType = mhTaskRequest.VisibleType, AppUserId = mhTaskRequest.AppUserId }; if (parentMhTask != null) { mhTask.Parent = parentMhTask; } await DbContext.MhTasks.AddAsync(mhTask); if (mhTaskRequest.IsRecurring) { var scheduleMhTask = new ScheduleMhTask { MhTask = mhTask, MaxCount = mhTaskRequest.ScheduleMhTaskViewModel.MaxCount ?? 0, ScheduleMhTaskType = mhTaskRequest.ScheduleMhTaskViewModel.ScheduleMhTaskType }; await DbContext.ScheduleMhTasks.AddAsync(scheduleMhTask); } if (mhTaskRequest.TagIds.Any()) { var mhTaskTags = mhTaskRequest.TagIds .Join(DbContext.Tags, o => o, i => i.Id, (o, i) => i) .Select(x => new MhTaskTag { MhTask = mhTask, Tag = x }); await DbContext.MhTaskTags.AddRangeAsync(mhTaskTags); } await AddToUpdateMhTask(DbContext, mhTask, Constants.Updates.CreateMhTask); await DbContext.SaveChangesAsync(); return ServerResponseBuilder.Build(mhTask.Id); }, mhTaskRequest)); }
private MhTask CreateMhTask(MhTask parentMhTask, ScheduleMhTask scheduleMhTask) { var startDate = parentMhTask.Children.Any() && parentMhTask.Children.Last().StartDate >= parentMhTask.StartDate ? parentMhTask.Children.Last().StartDate : parentMhTask.StartDate; var mhTask = new MhTask { Name = parentMhTask.Name, Description = parentMhTask.Description, StartDate = startDate.AddDays((double)scheduleMhTask.ScheduleMhTaskType), AppUserId = parentMhTask.AppUserId, MhTaskState = EMhTaskState.ReSchedule, VisibleType = parentMhTask.VisibleType, Parent = parentMhTask }; parentMhTask.Children.Add(mhTask); return(mhTask); }