Exemplo n.º 1
0
        public async Task <int> CreateDoctor(CreateDoctorViewModel model)
        {
            var doctor = new Doctor
            {
                Name           = model.Name,
                Surname        = model.Surname,
                Email          = model.Email,
                Phone          = model.Phone,
                Specialization = (Specialization)Enum.Parse(typeof(Specialization), model.Specialization),
            };

            try
            {
                await _dbContext.Doctors.AddAsync(doctor);

                await _dbContext.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw new ClinicException(ErrorCodes.SavingChangesError, ex);
            }


            return(doctor.Id);
        }
Exemplo n.º 2
0
        public async Task <ActionResult> CreateDoctor(CreateDoctorViewModel model)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                IdentityResult result =
                    await UserManager.CreateAsync(user, model.Password);

                ApplicationUser applicationUser = UserManager.FindByEmail(user.Email);



                if (!result.Succeeded)
                {
                    return(View("Error", result.Errors));
                }
                if (result.Succeeded)
                {
                    result = await UserManager.AddToRoleAsync(applicationUser.Id, "Administrators");

                    return(RedirectToAction("Index"));
                }
                else
                {
                    AddErrorsFromResult(result);
                }
            }
            return(View(model));
        }
Exemplo n.º 3
0
        public ActionResult Create()
        {
            var doctor = new CreateDoctorViewModel();

            doctor.Specialities = GetDoctorTypeListForPatientsViewModel(_specialityService.GetAllSpecialities());
            return(View(doctor));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Create(CreateDoctorViewModel model)
        {
            if (!ModelState.IsValid)
            {
                model.Specializations = _doctorService.GetSpecializations();

                return(View(model));
            }

            var doctorId = await _doctorService.CreateDoctor(model);

            return(RedirectToAction("Details", new { id = doctorId }));
        }
Exemplo n.º 5
0
        public async Task <ActionResult> Create(CreateDoctorViewModel doctorViewModel)
        {
            if (!ModelState.IsValid)
            {
                doctorViewModel.Specialities =
                    GetDoctorTypeListForPatientsViewModel(_specialityService.GetAllSpecialities());
                return(View(doctorViewModel));
            }
            var doctor = _mapper.Map <CreateDoctorViewModel, Doctor>(doctorViewModel);

            if (!_doctorService.CheckUniqueness(doctor))
            {
                ModelState.AddModelError("", "Doctor with same UserName or Email exist!");
                doctorViewModel.Specialities =
                    GetDoctorTypeListForPatientsViewModel(_specialityService.GetAllSpecialities());
                return(View(doctorViewModel));
            }
            await _doctorService.Create(doctor);

            _loggerService.Info($"{User.Identity.Name} added {doctor.FirstName} {doctor.LastName}");
            return(RedirectToAction("Index"));
        }