public ChecklistItemViewModel(ChecklistItemInstance checklistItem) { if (checklistItem == null) { return; } DisplayText = checklistItem.DisplayText; Key = checklistItem.Key; IsExpanded = checklistItem.IsExpanded; Template = checklistItem.Template; IsCompleted = checklistItem.IsCompleted; Order = checklistItem.Order; Payload = checklistItem.Payload; Id = checklistItem.Id; }
public async Task <ChecklistItemViewModel> AddAsync(Guid checklistId, ChecklistItemViewModel value) { var entity = new ChecklistItemInstance { ChecklistInstanceId = checklistId, Created = DateTime.Now, DisplayText = value.DisplayText, Template = value.Template }; await Context.ChecklistItemInstances.AddAsync(entity); await Context.SaveChangesAsync(); return(new ChecklistItemViewModel(entity)); }
public async Task <ChecklistViewModel> CreateAsync(Guid portfolioId, Guid checklistId, Guid?propertyDetailsId) { var checklist = await Context.Checklists.FirstOrDefaultAsync(c => c.Id == checklistId); if (checklist != null) { var instance = new ChecklistInstance(checklist) { Created = DateTime.Now, PortfolioId = portfolioId, PropertyDetailsId = propertyDetailsId }; await Context.ChecklistInstances.AddAsync(instance); await Context.SaveChangesAsync(); var checklistItems = await Context.ChecklistItems.OrderBy(c => c.Order).AsNoTracking().Where(c => c.ChecklistId == checklist.Id).ToListAsync(); var checklistItemInstances = new List <ChecklistItemInstance>(); foreach (var checklistItem in checklistItems) { var newItem = new ChecklistItemInstance(checklistItem) { Created = DateTime.Now, Id = default(Guid), ChecklistInstanceId = instance.Id }; checklistItemInstances.Add(newItem); } await Context.ChecklistItemInstances.AddRangeAsync(checklistItemInstances); await Context.SaveChangesAsync(); return(new ChecklistViewModel(instance, checklistItemInstances, ChecklistOrigin.User.ToString())); } return(null); }