示例#1
0
        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);
            }
        }
示例#2
0
        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);
                    }
                }
            }
        }
示例#3
0
        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);
                    }
                }
            }
        }
示例#4
0
 public void ConvertToDto(GroupDto dto, WGroup group)
 {
     ConvertToNamedModelDto(dto, group);
     if (dto.Tasks == null)
     {
         dto.Tasks = new List <TaskDto>();
     }
 }
示例#5
0
 public void ConvertFromDto(WGroup wGroup, GroupDto dto)
 {
     ConvertFromNamedModelDto(wGroup, dto);
     if (wGroup.WTasks == null)
     {
         wGroup.WTasks = new List <WTask>();
     }
 }
示例#6
0
        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);
        }
示例#7
0
        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();
            }
        }
示例#8
0
 private void Link(WGroup group, WTask task)
 {
     task.WGroups.Add(group);
     group.WTasks.Add(task);
 }
示例#9
0
        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();
        }