Esempio n. 1
0
        public ScheduleViewModel()
        {
            _scheduleManager = new ScheduleManager();
            _scheduleManager.UpdateScheduleIfNeeded();

            using (ClinicModelContainer container = new ClinicModelContainer())
            {
                _schedules = new ObservableCollection <DistrictSchedule>(
                    container.DistrictSchedules);

                foreach (var sch in _schedules)
                {
                    sch.Doctor             = sch.Doctor;
                    sch.Surgery            = sch.Surgery;
                    sch.Doctor.SiteDoctors = sch.Doctor.SiteDoctors;
                    sch.Doctor.SiteDoctors.First().Site = sch.Doctor.SiteDoctors.First().Site;
                }

                Sites = container.Sites.ToList();
            }

            _currentMonthNumber = DateTime.Now.Month;

            UpdateCurrentDays(_currentMonthNumber);

            _selectedDay = CurrentDays.ToList()
                           .Find(d => int.Parse(d.DayNumber) == DateTime.Now.Day);
            _selectedSite     = Sites[0];
            _selectedDayIndex = CurrentDays.IndexOf(SelectedDay);

            SelectNewSchedules(_selectedSite.Number, _currentMonthNumber,
                               int.Parse(_selectedDay.DayNumber));
        }
Esempio n. 2
0
 public List <DistrictSchedule> GetSchedule()
 {
     using (ClinicModelContainer container = new ClinicModelContainer())
     {
         return(container.DistrictSchedules.ToList());
     }
 }
Esempio n. 3
0
        public PatientCardsViewModel()
        {
            using (ClinicModelContainer container = new ClinicModelContainer())
            {
                var cards = container.PatientCards.ToList();
                cards.ForEach(card =>
                {
                    card.Sex       = card.Sex;
                    card.CardPages = card.CardPages;
                    card.Address   = card.Address;
                });

                PatientCards = new ObservableCollection <PatientCard>(cards);
            }
        }
Esempio n. 4
0
        public static void InitData()
        {
            using (ClinicModelContainer container = new ClinicModelContainer())
            {
                if (container.Doctors.Count() == 0)
                {
                    container.DoctorTypes.AddRange(InitDoctorTypes());
                    container.Specials.AddRange(InitSpecials());
                    container.Categories.AddRange(InitCategories());
                    container.SaveChanges();

                    container.Doctors.AddRange(InitDoctors(container.Specials.ToList(),
                                                           container.DoctorTypes.ToList(), container.Categories.ToList()));

                    container.SaveChanges();

                    container.SexSet.AddRange(InitSexes());
                    container.AddressSet.AddRange(InitAddresses());

                    container.SaveChanges();

                    container.PatientCards.AddRange(InitPatientCards(container.AddressSet.ToList(),
                                                                     container.SexSet.ToList()));

                    container.SaveChanges();

                    container.CardPages.AddRange(InitCardPages(container.PatientCards.ToList(),
                                                               container.Doctors.ToList()));

                    container.SaveChanges();

                    container.Sites.AddRange(InitSites());

                    container.SaveChanges();

                    container.SiteAddresses.AddRange(InitSiteAddresses(container.Sites.ToList(),
                                                                       container.AddressSet.ToList()));

                    container.SaveChanges();

                    container.Surgeries.AddRange(InitSurgeries());
                    container.SiteDoctors.AddRange(InitSiteDoctors(container.Sites.ToList(),
                                                                   container.Doctors.ToList()));

                    container.SaveChanges();
                }
            }
        }
Esempio n. 5
0
        public void UpdateScheduleIfNeeded()
        {
            using (ClinicModelContainer container = new ClinicModelContainer())
            {
                var schedules    = container.DistrictSchedules.ToList();
                var currentMonth = DateTime.Now.Month;

                if (schedules.Count() == 0 ||
                    currentMonth - schedules.Last().ReceiptDate.Month >= 1)
                {
                    var surgeries = container.Surgeries.ToList();
                    var sites     = container.Sites.ToList();

                    sites.ForEach(site =>
                    {
                        var doctors = site.SiteDoctors;

                        for (int i = DateTime.Now.Day;
                             i < DateTime.DaysInMonth(DateTime.Now.Year,
                                                      DateTime.Now.Month); i++)
                        {
                            for (int k = 9; k <= 15; k++)
                            {
                                var reciepeDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month,
                                                               i, k, 0, 0);
                                var doctor = doctors.First();
                                var surgey = surgeries[site.SiteId - 1];

                                schedules.Add(new DistrictSchedule()
                                {
                                    SurgeryId   = surgey.SurgeryId,
                                    Surgery     = surgey,
                                    DoctorId    = doctor.Doctor.DoctorId,
                                    Doctor      = doctor.Doctor,
                                    ReceiptDate = reciepeDate,
                                });
                            }
                        }
                    });

                    container.DistrictSchedules.AddRange(schedules);
                    container.SaveChanges();
                }
            }
        }
Esempio n. 6
0
        public DoctorsViewModel()
        {
            using (ClinicModelContainer container = new ClinicModelContainer())
            {
                var specials = container.Specials.ToList();
                var doctors  = container.Doctors.ToList();

                doctors.ForEach(doctor =>
                {
                    doctor.Category = doctor.Category;
                    doctor.Special  = doctor.Special;
                });

                Specials = specials;
                Doctors  = doctors;

                SelectedDoctors = new ObservableCollection <Doctor>(Doctors);
            }
        }
Esempio n. 7
0
        public CardPagesViewModel(PatientCard card)
        {
            PatientCard = card;

            using (ClinicModelContainer container = new ClinicModelContainer())
            {
                _pages = container.CardPages.Where(p => p.PatientCardId == card.PatientCardId)
                         .ToList();
                _pages.ForEach(p =>
                {
                    p.PatientCard     = PatientCard;
                    p.Doctor          = p.Doctor;
                    p.Doctor.Category = p.Doctor.Category;
                    p.Doctor.Special  = p.Doctor.Special;
                });
            }

            _currentPageIndex = 0;
            PageCount         = _pages.Count;

            CurrentPage = _pages[_currentPageIndex];
        }
Esempio n. 8
0
 public SessionRepo(ClinicModelContainer context) : base(context)
 {
     _context = context;
 }
Esempio n. 9
0
 public PsychologistRepo(ClinicModelContainer context) : base(context)
 {
 }
Esempio n. 10
0
 public ClientRepo(ClinicModelContainer context) : base(context)
 {
 }
Esempio n. 11
0
        public static void SeedData()
        {
            using (var context = new ClinicModelContainer())
            {
                var psychologists = context.Psychologists.ToList();
                var clients       = context.Clients.ToList();
                var sessions      = context.Sessions.ToList();

                context.Sessions.RemoveRange(sessions);
                context.Clients.RemoveRange(clients);
                context.Psychologists.RemoveRange(psychologists);

                context.SaveChanges();


                var addedPsychologists = new List <Psychologist>();
                var addedClients       = new List <Client>();
                var addedSessions      = new List <Session>();


                var psychologistCount = _random.Next(20, 60);

                for (var i = 0; i < psychologistCount; i++)
                {
                    var psychologist = new Psychologist
                    {
                        Id    = Guid.NewGuid(),
                        Email = GenerateEmail(),
                        Name  = GenerateNames(_random.Next(10, 25))
                    };


                    var clientsCount = _random.Next(1, 6);

                    for (var j = 0; j < clientsCount; j++)
                    {
                        var sessionsCount = _random.Next(1, 6);

                        var client = new Client
                        {
                            Id             = Guid.NewGuid(),
                            Email          = GenerateEmail(),
                            Name           = GenerateNames(_random.Next(10, 25)),
                            PsychologistId = psychologist.Id
                        };

                        for (var k = 0; k < sessionsCount; k++)
                        {
                            var coeff   = _random.Next(0, 2) % 2 == 0 ? 1 : -1;
                            var diff    = _random.Next(1, 25);
                            var session = new Session
                            {
                                Id             = Guid.NewGuid(),
                                BookedDate     = DateTime.Now.AddDays(coeff * diff).AddHours(coeff * diff),
                                ClientId       = client.Id,
                                PsychologistId = psychologist.Id,
                                Type           = _random.Next(1, 6) % 2 == 0 ? Type.Audio : Type.Video
                            };

                            addedSessions.Add(session);
                        }

                        addedClients.Add(client);
                    }

                    addedPsychologists.Add(psychologist);
                }


                context.Psychologists.AddRange(addedPsychologists);
                context.Clients.AddRange(addedClients);
                context.Sessions.AddRange(addedSessions);

                context.SaveChanges();
            }
        }
Esempio n. 12
0
 public RepoUnitOfWork(IContainer container, ClinicModelContainer context)
 {
     _container = container;
     _context   = context;
 }