Exemple #1
0
        public ActionResult AddVisit(VisitVM v)
        {
            v.Desired.RemoveAll(periodVM => periodVM.Start == null && periodVM.End == null);
            v.Unavailable.RemoveAll(periodVM => periodVM.Start == null);

            v.Unavailable = v.Unavailable.Select(u => new PeriodVM
            {
                Start = u.Start.Value.Date,
                End   = u.Start.Value.Date.AddDays(1).AddSeconds(-1)
            }).ToList();

            var response = Client.PostAsJsonAsync("api/address/CheckAddress", v).Result;

            if (!response.IsSuccessStatusCode)
            {
                ModelState.AddModelError(nameof(v.Street), "Der Ort konnte nicht von Google gefunden werden, bitte alternative Adresse oder Koordinaten angeben.");
                v.AlternativeAddressNeeded = true;
            }


            if (!ModelState.IsValid)
            {
                return(View("Create", v));
            }


            response = Client.PostAsJsonAsync("api/visit", v).Result;
            if (!response.IsSuccessStatusCode)
            {
                ModelState.AddModelError("Request", "mit dem Request ist etwas schief gelaufen " + response.StatusCode);
                return(View("Create", v));
            }

            return(View("Thanks", v));
        }
Exemple #2
0
        public void Insert(VisitVM visitVM)
        {
            if (IsEarlier(visitVM.Idopont.Year, visitVM.Idopont.Month, visitVM.Idopont.Day))
            {
                throw new Exception("Rendelés nem vehető fel a mainál korábbi időpontra!");
            }

            db.visits.Add(new visit(visitVM.OrvosId, visitVM.BetegTaj, visitVM.SzolgaltatasId, visitVM.Idopont));
        }
Exemple #3
0
 public void Add(VisitVM visitVM)
 {
     try
     {
         repository.Insert(visitVM);
         view.bindingList.Add(visitVM);
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #4
0
        public void Modify(VisitVM visitVM, int index)
        {
            using (var serviceRepository = new ServiceRepository())
            {
                visitVM.SzolgaltatasId = serviceRepository.GetServiceByName(visitVM.SzolgaltatasNev).Id;
            }

            try
            {
                repository.Update(visitVM);
                view.bindingList.RemoveAt(index);
                view.bindingList.Insert(index, visitVM);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #5
0
        public void Update(VisitVM param)
        {
            var visit          = db.visits.Find(param.VisitId);
            var korabbiIdopont = visit.Idopont;

            if (visit != null)
            {
                if (IsEarlier(korabbiIdopont.Year, korabbiIdopont.Month, korabbiIdopont.Day))
                {
                    throw new Exception("Korábbi orvosi rendelés adatai nem módosíthatók.");
                }

                if (IsEarlier(param.Idopont.Year, param.Idopont.Month, param.Idopont.Day))
                {
                    throw new Exception("Korábbi időpontra nem módosítható a rendelés.");
                }

                db.Entry(visit).CurrentValues.SetValues(param);
            }
        }
Exemple #6
0
        public BindingList <VisitVM> GetAllVisits(
            int page         = 0,
            int itemsPerPage = 0,
            string search    = null,
            string sortBy    = null,
            bool ascending   = true)
        {
            var query = db.visits.OrderBy(x => x.Id).AsQueryable();

            // Keresés
            if (!string.IsNullOrWhiteSpace(search))
            {
                search = search.ToLower();

                query = query.Where(x => x.Id.ToString().ToLower().Contains(search) ||
                                    x.Idopont.ToString().ToLower().Contains(search) ||
                                    (x.patient.Vezeteknev.ToLower() + " " + x.patient.Keresztnev)
                                    .Contains(search) ||
                                    (x.doctor.Vezeteknev.ToLower() + " " + x.doctor.Keresztnev).Contains(search) ||
                                    x.service.Nev.ToLower().Contains(search));
            }

            // Sorbarendezés
            if (!string.IsNullOrWhiteSpace(sortBy))
            {
                switch (sortBy)
                {
                case "Beteg neve":
                    query = ascending
                            ? query.OrderBy(x => x.patient.Vezeteknev).ThenBy(x => x.patient.Keresztnev)
                            : query.OrderByDescending(x => x.patient.Vezeteknev).ThenBy(x => x.patient.Keresztnev);
                    break;

                case "Orvos neve":
                    query = ascending
                            ? query.OrderBy(x => x.doctor.Vezeteknev).ThenBy(x => x.doctor.Keresztnev)
                            : query.OrderByDescending(x => x.doctor.Vezeteknev).ThenBy(x => x.doctor.Keresztnev);
                    break;

                case "Igénybe vett szolgáltatás":
                    query = ascending
                            ? query.OrderBy(x => x.service.Nev)
                            : query.OrderByDescending(x => x.service.Nev);
                    break;

                default:
                    query = ascending ? query.OrderBy(x => x.Idopont) : query.OrderByDescending(x => x.Idopont);
                    break;
                }
            }

            // Összes találat kiszámítása
            _totalItems = query.Count();

            // Oldaltördelés
            if (page + itemsPerPage > 0)
            {
                query = query.Skip((page - 1) * itemsPerPage).Take(itemsPerPage);
            }

            var dblist = query.ToList();

            var rendelesVMList = new List <VisitVM>();

            foreach (var visit in dblist)
            {
                string betegNeve = visit.patient.Vezeteknev + " " + visit.patient.Keresztnev;
                int    orvosId   = visit.doctor.Id;
                string orvosNeve = visit.doctor.Vezeteknev + " " + visit.doctor.Keresztnev;

                var visitVM = new VisitVM(visit.Id, visit.Idopont, visit.patient.Taj, betegNeve, orvosId, orvosNeve,
                                          visit.service.Id, visit.service.Nev);

                rendelesVMList.Add(visitVM);
            }

            return(new BindingList <VisitVM>(rendelesVMList));
        }