Exemple #1
0
        public async Task <IActionResult> CurrentVisit(long VisitId)
        {
            var currentVisit = await _visitService.GetById(new GetByIdInDTO
            {
                Id     = VisitId,
                UserId = _userManager.GetUserAsync(HttpContext.User).Result.Id
            });

            if (currentVisit == null || currentVisit.State == StateVisit.Completed)
            {
                return(RedirectToAction("TimeTable", "Home", new { area = "Doctor" }));
            }

            var allMedicament = await _medicamentService.GetAllMedicament();

            var patient = await _patientAccountService.GetPatientById(currentVisit.PatientId);

            var visits = await _visitService.GetCompletedVisits(currentVisit.PatientId);

            visits.Reverse();



            CurrentVisitVM viewModel = new CurrentVisitVM()
            {
                Medicaments = allMedicament,
                FirstName   = patient.FirstName,
                LastName    = patient.LastName,
                Birth       = patient.Birth,
                VisitID     = currentVisit.Id,
                State       = currentVisit.State,
                Visits      = visits,
                PatientID   = patient.UserID
            };
            var specializationOutDto = await _specializationService.GetAllAsync();

            specializationOutDto.Select(x => x.Name).ToList().ForEach(name =>
            {
                viewModel.Specializations.Add(new SelectListItem
                {
                    Text  = name,
                    Value = name
                });
            });

            return(View(viewModel));
        }
        public async Task <IActionResult> MedicamentBase(string searchMedicament, string page = "A", string length = "10")
        {
            var tmpLength = Request.Cookies["cookieLength"];

            if (!String.IsNullOrEmpty(tmpLength))
            {
                length = tmpLength;
            }

            var  vModel      = new HomeVM();
            char charPage    = page[0];
            var  medicaments = await _medicamentService.GetMedicamentsByLetter(charPage);

            // Searching filter do not need to assign any page
            if (!String.IsNullOrEmpty(searchMedicament))
            {
                medicaments = await _medicamentService.GetAllMedicament();

                medicaments          = medicaments.FindAll(s => s.Name.ToLower().Contains(searchMedicament.ToLower()));
                vModel.medicamentsVM = new List <MedicamentVM>();
                foreach (var med in medicaments)
                {
                    vModel.medicamentsVM.Add(_mapper.Map <MedicamentVM>(med));
                }
                return(View(vModel));
            }

            // Without searching filter-normal view
            vModel.medicamentsVM = new List <MedicamentVM>();
            var medCounts = await _medicamentService.CountAllMedicaments();

            var medCountByLetter = medicaments.Count;
            var pageCounts       = medCountByLetter / Int32.Parse(length);

            foreach (var med in medicaments)
            {
                vModel.medicamentsVM.Add(_mapper.Map <MedicamentVM>(med));
            }

            return(View(vModel));
        }