public ConsultantsController(IDb db)
        {
            projects = new Projects(db.One);

            //Create some data if not existing...
            var per = new ConsultantsAgent().TheOneWithFullName("Per Persson");

            var p = projects.ForConsultant(per.Id).ToList();

            if (p.Count == 0)
            {
                var customers = new CustomersAgent();
                var finnair   = customers.TheOneWithName("Finnair");

                var project = new Project(finnair, "Finnair's new app");
                project.AddConsultant(per);
                projects.Save(project);

                var stina = new ConsultantsAgent().TheOneWithFullName("Stina Johansson");
                var bruce = new ConsultantsAgent().TheOneWithFullName("Bruce Wayne");

                project = new Project(finnair, "Yet another app");
                project.AddConsultant(per);
                project.AddConsultant(stina);
                project.AddConsultant(bruce);
                projects.Save(project);
            }
        }
        public Day Get(Guid consultantId, DateTime date)
        {
            var consultants = new ConsultantsAgent();
            var consultant  = consultants.TheOneWithId(consultantId);

            var days = new Days(db.One);
            var day  = days.CertainDayForConsultant(consultant, date);

            if (day == null)
            {
                day = new Day(consultant, date);
            }

            return(day);
        }
        public void Post(Guid consultantId, DateTime date, [FromBody] RegistrationDTO registrationDTO)
        {
            var consultants = new ConsultantsAgent();
            var consultant  = consultants.TheOneWithId(consultantId);

            var days = new Days(db.One);
            var day  = days.CertainDayForConsultant(consultant, date);

            if (day == null)
            {
                day = new Day(consultant, date);
            }

            var projects     = new Projects(db.One);
            var project      = projects.TheOneWithName(registrationDTO.projectName);
            var registration = new Registration(Duration.Create(registrationDTO.duration), registrationDTO.activity, project);

            day.AddRegistration(registration);
            days.Save(day);
        }
        public IEnumerable <Consultant> Get()
        {
            var consultants = new ConsultantsAgent();

            return(consultants.All());
        }