public async Task <bool> Create(string password, ReceptionistServiceModel receptionistServiceModel)
        {
            var user = new HospitalMSUser {
                UserName = receptionistServiceModel.Email, Email = receptionistServiceModel.Email
            };
            var userCreateResult = await userManager.CreateAsync(user, password);

            if (userCreateResult.Succeeded)
            {
                user.EmailConfirmed = true;
                user.IsFirstLogin   = false;

                await userManager.AddToRoleAsync(user, GlobalConstants.ReceptionistRoleName);
            }

            Hospital hospitalFromDb = await GetHospitalFromDb(receptionistServiceModel);

            if (hospitalFromDb == null)
            {
                throw new ArgumentNullException(nameof(hospitalFromDb));
            }

            receptionistServiceModel.HospitalMSUserId = user.Id;

            Receptionist receptionist = AutoMapper.Mapper.Map <Receptionist>(receptionistServiceModel);

            receptionist.Hospital = hospitalFromDb;
            context.Receptionists.Add(receptionist);

            int result = await context.SaveChangesAsync();

            return(result > 0);
        }
        public async Task <bool> Edit(string id, ReceptionistServiceModel receptionistServiceModel)
        {
            Hospital hospitalFromDb = await GetHospitalFromDb(receptionistServiceModel);

            if (hospitalFromDb == null)
            {
                throw new ArgumentNullException(nameof(hospitalFromDb));
            }

            Receptionist receptionistFromDb = await context.Receptionists.SingleOrDefaultAsync(receptionist => receptionist.Id == id);

            if (receptionistFromDb == null)
            {
                throw new ArgumentNullException(nameof(receptionistFromDb));
            }

            receptionistFromDb.FirstName   = receptionistServiceModel.FirstName;
            receptionistFromDb.LastName    = receptionistServiceModel.LastName;
            receptionistFromDb.PhoneNumber = receptionistServiceModel.PhoneNumber;
            receptionistFromDb.Hospital    = hospitalFromDb;


            context.Receptionists.Update(receptionistFromDb);
            int result = await context.SaveChangesAsync();

            return(result > 0);
        }
示例#3
0
        public async Task <IActionResult> Edit(string id, ReceptionistEditInputModel receptionistEditInputModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(receptionistEditInputModel));
            }

            ReceptionistServiceModel receptionistServiceModel = AutoMapper.Mapper.Map <ReceptionistServiceModel>(receptionistEditInputModel);

            await receptionistService.Edit(id, receptionistServiceModel);

            return(Redirect("/Administration/Receptionist/All"));
        }
示例#4
0
        public async Task <IActionResult> Create(ReceptionistCreateInputModel receptionistCreateInputModel)
        {
            if (!ModelState.IsValid)
            {
                await GetAllHospitals();

                return(View(receptionistCreateInputModel));
            }

            ReceptionistServiceModel receptionistServiceModel = AutoMapper.Mapper.Map <ReceptionistServiceModel>(receptionistCreateInputModel);

            await receptionistService.Create(receptionistCreateInputModel.Password, receptionistServiceModel);


            return(Redirect("/Administration/Receptionist/All"));
        }
 private Task <Hospital> GetHospitalFromDb(ReceptionistServiceModel receptionistServiceModel)
 {
     return(context.Hospitals
            .SingleOrDefaultAsync(hospital => hospital.Name == receptionistServiceModel.HospitalName));
 }