public async Task <IActionResult> Create([FromRoute] string role, [FromBody] DetailedRegistrationRequest request)
        {
            try
            {
                await userService.CreateAsync(request, role);

                return(Ok());
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Beispiel #2
0
        public async Task CreateAsync(DetailedRegistrationRequest request, string role)
        {
            if (role == "NURSE")
            {
                Nurse nurse = new Nurse(request.Login, request.Password, request.Name, request.Surname);
                await nurseService.RegisterAsync(nurse);
            }

            if (role == "DOCTOR")
            {
                Doctor doctor = new Doctor(request.Login, request.Password, request.Name, request.Surname);
                await doctorService.RegisterAsync(doctor);
            }
        }
        public async Task <IActionResult> Register([FromBody] DetailedRegistrationRequest request)
        {
            Nurse nurse = new Nurse(request.Login, request.Password, request.Name, request.Surname);

            try
            {
                await nurseService.RegisterAsync(nurse);

                return(Ok());
            }
            catch (Exception e)
            {
                return(BadRequest(new BadRequestResponse(e.Message)));
            }
        }
        public async Task <IActionResult> Register([FromBody] DetailedRegistrationRequest request)
        {
            Device device = new Device(request.Login, request.Password);

            try
            {
                await deviceService.RegisterAsync(device);

                return(Ok());
            }
            catch (Exception e)
            {
                return(BadRequest(new BadRequestResponse(e.Message)));
            }
        }
Beispiel #5
0
        public async Task EditAsync(Guid id, DetailedRegistrationRequest request, string role)
        {
            if (role == "NURSE")
            {
                Nurse newNurse = new Nurse(request.Login, request.Password, request.Name, request.Surname);
                Nurse nurse    = await applicationContext.Nurses.Include(n => n.UserIdentity).AsNoTracking().SingleOrDefaultAsync(n => n.Id == id);

                if (nurse == null)
                {
                    throw new Exception(localizer["The user with such login doesn`t exist."]);
                }

                request.Password = nurse.UserIdentity.Password;
                request.Login    = nurse.UserIdentity.Login;

                await DeleteAsync(nurse.Id, role);
                await CreateAsync(request, role);
            }

            if (role == "DOCTOR")
            {
                Doctor newDoctor = new Doctor(request.Login, request.Password, request.Name, request.Surname);
                Doctor doctor    = await applicationContext.Doctors.Include(d => d.UserIdentity).AsNoTracking().SingleOrDefaultAsync(d => d.Id == id);

                if (doctor == null)
                {
                    throw new Exception(localizer["The user with such login doesn`t exist."]);
                }

                request.Password = doctor.UserIdentity.Password;
                request.Login    = doctor.UserIdentity.Login;

                await DeleteAsync(doctor.Id, role);
                await CreateAsync(request, role);
            }

            await applicationContext.SaveChangesAsync();
        }