public void UpdateEntities(IDbSet <WTask> wTasks, IDbSet <WGroup> wGroups, ConfigDto config) { if (config == null || config.Groups == null || config.Tasks == null || wTasks == null || wGroups == null) { return; } foreach (var group in config.Groups) { var wGroupToUpdate = wGroups.Where(x => x.Id == group.Id).SingleOrDefault(); if (wGroupToUpdate == null) { wGroupToUpdate = new WGroup(); wGroups.Add(wGroupToUpdate); } wGroupToUpdate.WTasks = new List <WTask>(); _conversionService.ConvertFromDto(wGroupToUpdate, group); } foreach (var task in config.Tasks) { var wTaskToUpdate = wTasks.Where(x => x.Id == task.Id).SingleOrDefault(); if (wTaskToUpdate == null) { wTaskToUpdate = new WTask(); wTasks.Add(wTaskToUpdate); } wTaskToUpdate.WGroups = new List <WGroup>(); _conversionService.ConvertFromDto(wTaskToUpdate, task, wGroups, true); } }
public void ConvertFromDto(WGroup wGroup, GroupDto dto, IEnumerable <WTask> tasks, bool updateTasks) { ConvertFromDto(wGroup, dto); foreach (var task in dto.Tasks) { var wtask = tasks.Where(x => x.Id == task.Id).SingleOrDefault(); if (wtask == null) { continue; } if (!wGroup.WTasks.Contains(wtask)) { wGroup.WTasks.Add(wtask); } if (updateTasks) { if (wtask.WGroups == null) { wtask.WGroups = new List <WGroup>(); } if (!wtask.WGroups.Contains(wGroup)) { wtask.WGroups.Add(wGroup); } } } }
public void ConvertToDto(GroupDto dto, WGroup wGroup, IEnumerable <TaskDto> tasks, bool updateTasks) { ConvertToDto(dto, wGroup); if (dto.Tasks == null) { dto.Tasks = new List <TaskDto>(); } foreach (var wtask in wGroup.WTasks) { var task = tasks.Where(x => x.Id == wtask.Id).SingleOrDefault(); if (task == null) { continue; } if (!dto.Tasks.Contains(task)) { dto.Tasks.Add(task); } if (updateTasks) { if (task.Groups == null) { task.Groups = new List <GroupDto>(); } if (!task.Groups.Contains(dto)) { task.Groups.Add(dto); } } } }
public void ConvertToDto(GroupDto dto, WGroup group) { ConvertToNamedModelDto(dto, group); if (dto.Tasks == null) { dto.Tasks = new List <TaskDto>(); } }
public void ConvertFromDto(WGroup wGroup, GroupDto dto) { ConvertFromNamedModelDto(wGroup, dto); if (wGroup.WTasks == null) { wGroup.WTasks = new List <WTask>(); } }
public void GetGroupWithNotNullTask() { WTask t1 = new WTask() { Id = 12345, Name = "t1", Frequency = 1, StartDate = new DateTime(2017, 10, 10) }; WGroup g1 = new WGroup() { Id = 45678, Name = "g1", WTasks = new List <WTask>() { t1 } }; t1.WGroups = new List <WGroup>() { g1 }; using (WContext db = new WContext()) { db.WGroups.Add(g1); db.SaveChanges(); } bool resut = false; using (WContext db = new WContext()) { var dbActivity = db.WGroups.Include(a => a.WTasks).Where(x => x.Id == g1.Id).SingleOrDefault(); if (dbActivity != null && dbActivity.WTasks != null && dbActivity.WTasks.Count == 1) { resut = true; } } Assert.IsTrue(resut); }
public void Init() { using (var db = new WContext()) { Random random = new Random(1); WGroup g1 = new WGroup() { Name = "Zwierzęta", Description = "wszystkie moje domowe zwierzaki" }; WGroup g2 = new WGroup() { Name = "Rośliny", Description = "wszystkie rośliny doniczkowe" }; WGroup g3 = new WGroup() { Name = "Finanse" }; WGroup g4 = new WGroup() { Name = "Ważne", Description = "Lepiej o tym nie zapominać" }; WTask t1 = new WTask() { Name = "Nakarmić kota", Description = "Tom jest wybredny i je tylko Royal Canin", Frequency = 1, StartDate = DateTime.Today }; WTask t2 = new WTask() { Name = "Nakarmić psa", Description = "Burek zje wszystko", Frequency = 1, StartDate = DateTime.Today }; WTask t3 = new WTask() { Name = "Nakarmić rybki", Description = "Jeśli pływają brzuszkiem do góry to można przestać karmić", Frequency = 2, StartDate = DateTime.Today }; WTask t4 = new WTask() { Name = "Wymienić wodę rybkom", Frequency = 14, StartDate = DateTime.Today }; WTask t5 = new WTask() { Name = "Podlać kwiaty", Description = "Wszytkie oprócz rosiczki", Frequency = 3, StartDate = DateTime.Today }; WTask t6 = new WTask() { Name = "Podlać rosiczkę", Description = "Rosiczka jest mięsożerna, ale można i trzeba ją regularnie podlewać", Frequency = 1, StartDate = DateTime.Today }; WTask t7 = new WTask() { Name = "Zapłacić czynsz", Description = "1000zl plus ewentualne dopłaty", Frequency = 30, StartDate = DateTime.Today }; WTask t8 = new WTask() { Name = "Zapłacić za internet", Description = "60 plus ewentualne dopłaty", Frequency = 30, StartDate = DateTime.Today }; db.WTasks.Add(t1); db.WTasks.Add(t2); db.WTasks.Add(t3); db.WTasks.Add(t5); db.WTasks.Add(t6); db.WTasks.Add(t7); db.WTasks.Add(t8); db.WGroups.Add(g1); db.WGroups.Add(g2); db.WGroups.Add(g3); db.WGroups.Add(g4); db.SaveChanges(); foreach (var task in db.WTasks) { foreach (var activity in GenerateActivities(random, task)) { db.WActivities.Add(activity); } } Link(g1, t1); Link(g1, t2); Link(g1, t3); Link(g1, t4); Link(g2, t5); Link(g2, t6); Link(g3, t7); Link(g3, t8); Link(g4, t1); Link(g4, t7); db.SaveChanges(); var a = db.WActivities.ToList(); } }
private void Link(WGroup group, WTask task) { task.WGroups.Add(group); group.WTasks.Add(task); }
protected override void Seed(WContext db) { WGroup g1 = new WGroup() { Name = "Group1", Description = "Animals" }; WGroup g2 = new WGroup() { Name = "Group2", Description = "Plants" }; WTask t1 = new WTask() { Name = "Feed the cat", Description = "Royal Canin", Frequency = 1, StartDate = DateTime.Today }; WTask t2 = new WTask() { Name = "Feed the dog", Frequency = 1, StartDate = new DateTime(2017, 12, 01) }; WTask t3 = new WTask() { Name = "Water plant1", Frequency = 3, StartDate = new DateTime(2017, 12, 02) }; WTask t4 = new WTask() { Name = "water Maciek", Frequency = 1, StartDate = new DateTime(2017, 12, 03) }; WTask t5 = new WTask() { Name = "give insect to Maciek", Frequency = 20, StartDate = new DateTime(2017, 12, 01) }; WActivity a1 = new WActivity() { WTask = t1, Date = DateTime.Today, IsDone = true }; WActivity a2 = new WActivity() { WTask = t1, Date = new DateTime(2017, 12, 03), IsDone = false }; WActivity a3 = new WActivity() { WTask = t1, Date = new DateTime(2017, 12, 03), IsDone = true }; g1.WTasks.Add(t1); g1.WTasks.Add(t2); g1.WTasks.Add(t5); g2.WTasks.Add(t3); g2.WTasks.Add(t4); t1.WGroups.Add(g1); t2.WGroups.Add(g1); t3.WGroups.Add(g2); t4.WGroups.Add(g2); t5.WGroups.Add(g1); t5.WGroups.Add(g2); db.WGroups.Add(g1); db.WGroups.Add(g2); db.WTasks.Add(t1); db.WTasks.Add(t2); db.WTasks.Add(t3); db.WTasks.Add(t5); db.WActivities.Add(a1); db.WActivities.Add(a2); db.WActivities.Add(a3); db.SaveChanges(); }