Beispiel #1
0
 public void Update(DoctorBindingModel model)
 {
     using (var context = new ClinicDataBase())
     {
         using (var transaction = context.Database.BeginTransaction())
         {
             try
             {
                 var element = context.Doctors.FirstOrDefault(rec => rec.Id == model.Id);
                 if (element == null)
                 {
                     throw new Exception("Элемент не найден");
                 }
                 CreateModel(model, element);
                 context.SaveChanges();
                 transaction.Commit();
             }
             catch
             {
                 transaction.Rollback();
                 throw;
             }
         }
     }
 }
        private void ButtonCreateDoctor_OnClick(object sender, RoutedEventArgs e)
        {
            ValidateTextBoxes();

            var firstName     = TextBoxFirstName.Text;
            var secondName    = TextBoxSecondName.Text;
            var description   = TextBoxDescription.Text;
            var priceAsString = TextBoxPrice.Text;

            var price = Convert.ToInt32(priceAsString);

            var newDoctorModel = new DoctorBindingModel(
                0,
                firstName,
                secondName,
                description,
                price);

            var response = ApiClient.PostRequest <ResponseModel, DoctorBindingModel>("/api/doctor/createDoctor/", newDoctorModel);

            // TODO обработать ответ в popup :)

            ((ControlDoctorService)_hostWindow).UpdateDoctorsList();

            Close();
        }
        public HttpResponseMessage Post(DoctorBindingModel value)
        {
            try
            {
                Doctor doctor = m_repository.GetById(value.Id);
                doctor.Image                 = value.Image;
                doctor.Text                  = value.Text;
                doctor.PersonInfo.Name       = value.Name;
                doctor.PersonInfo.Surname    = value.Surname;
                doctor.PersonInfo.Middlename = value.Middlename;

                m_repository.Update(doctor);

                return(new HttpResponseMessage(HttpStatusCode.OK));
            }
            catch (EntityAlreadyExistsException exp)
            {
                return(ResponseCreator.GenerateResponse(HttpStatusCode.BadRequest, exp));
            }
            catch (EntityNotFoundException exp)
            {
                return(ResponseCreator.GenerateResponse(HttpStatusCode.NotFound, exp));
            }
            catch (Exception exp)
            {
                return(ResponseCreator.GenerateResponse(HttpStatusCode.InternalServerError, exp));
            }
        }
Beispiel #4
0
 private Doctor CreateModel(DoctorBindingModel model, Doctor doctor)
 {
     doctor.F_Name   = model.F_Name;
     doctor.L_Name   = model.L_Name;
     doctor.Login    = model.Login;
     doctor.Password = model.Password;
     doctor.EMail    = model.EMail;
     return(doctor);
 }
        public void Delete(DoctorBindingModel model)
        {
            var element = _doctorStorage.GetElement(new DoctorBindingModel {
                Id = model.Id
            });

            if (element == null)
            {
                throw new Exception("Пользователь не найден");
            }
            _doctorStorage.Delete(model);
        }
 public List <DoctorViewModel> Read(DoctorBindingModel model)
 {
     if (model == null)
     {
         return(_doctorStorage.GetFullList());
     }
     if (model.Id.HasValue)
     {
         return(new List <DoctorViewModel> {
             _doctorStorage.GetElement(model)
         });
     }
     return(_doctorStorage.GetFilteredList(model));
 }
        public async Task <IActionResult> CreatePeople(DoctorBindingModel DoctorModel)
        {
            RegistrationBinding BindingModel = new RegistrationBinding();

            BindingModel.DoctorModel = DoctorModel;
            Doctor doctor = new Doctor();

            doctor.Email     = BindingModel.DoctorModel.Email;
            doctor.Firstname = BindingModel.DoctorModel.Firstname;
            doctor.Lastname  = BindingModel.DoctorModel.Lastname;
            doctor.Gender    = BindingModel.DoctorModel.Gender;
            doctor.Specialty = BindingModel.DoctorModel.Specialty;
            doctor.Address   = BindingModel.DoctorModel.Address;
            if (ModelState.IsValid)
            {
                IdentityUser doctorUser = new IdentityUser();
                doctorUser.Email    = doctor.Email;
                doctorUser.UserName = doctor.UserName;
                var Password = "******";
                doctorUser.EmailConfirmed       = true;
                doctorUser.PhoneNumberConfirmed = true;
                doctorUser.TwoFactorEnabled     = false;
                doctorUser.LockoutEnabled       = true;
                doctorUser.AccessFailedCount    = 0;
                doctorUser.NormalizedEmail      = doctor.Email.Normalize();
                doctorUser.NormalizedUserName   = doctor.UserName.Normalize();
                doctorUser.PhoneNumber          = doctor.PhoneNumber;

                PasswordHasher <IdentityUser> hasher = new PasswordHasher <IdentityUser>();
                var PasswordHash = hasher.HashPassword(doctorUser, Password);
                doctorUser.PasswordHash = PasswordHash;

                var createDoctor = _userManager.CreateAsync(doctorUser);
                createDoctor.Wait();
                if (createDoctor.Result.Succeeded)
                {
                    var result = _userManager.AddToRoleAsync(doctorUser, "Doctor");
                    result.Wait();
                    doctor.UserId = doctorUser.Id;
                    _context.Add(doctor);
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View("Add", BindingModel));
        }
        public DoctorViewModel CreateDoctor(DoctorBindingModel doctorBindingModel)
        {
            var doctor = _doctorRepository.CreateDoctor(new Doctor
            {
                FirstName   = doctorBindingModel.FirstName,
                LastName    = doctorBindingModel.LastName,
                Description = doctorBindingModel.Description,
                Price       = doctorBindingModel.Price,
                IsActive    = true
            });

            return(new DoctorViewModel
            {
                FirstName = doctor.FirstName,
                LastName = doctor.LastName,
                Description = doctor.Description,
                Price = doctor.Price
            });
        }
        public void CreateOrUpdate(DoctorBindingModel model)
        {
            var element = _doctorStorage.GetElement(new DoctorBindingModel {
                Login = model.Login, EMail = model.EMail
            });

            if (element != null && element.Id != model.Id)
            {
                throw new Exception(" Доктор с такими данными уже существует");
            }
            if (model.Id.HasValue)
            {
                _doctorStorage.Update(model);
            }
            else
            {
                _doctorStorage.Insert(model);
            }
        }
        public DoctorViewModel UpdateDoctor(DoctorBindingModel doctorBindingModel)
        {
            var doctor = _doctorRepository.UpdateDoctor(new Doctor
            {
                Id          = doctorBindingModel.Id,
                FirstName   = doctorBindingModel.FirstName,
                LastName    = doctorBindingModel.LastName,
                Description = doctorBindingModel.Description,
                Price       = doctorBindingModel.Price
            });

            return(new DoctorViewModel
            {
                Id = doctor.Id,
                FirstName = doctor.FirstName,
                LastName = doctor.LastName,
                Description = doctor.Description,
                Price = doctor.Price
            });
        }
Beispiel #11
0
 public void Insert(DoctorBindingModel model)
 {
     using (var context = new ClinicDataBase())
     {
         using (var transaction = context.Database.BeginTransaction())
         {
             try
             {
                 context.Doctors.Add(CreateModel(model, new Doctor()));
                 context.SaveChanges();
                 transaction.Commit();
             }
             catch
             {
                 transaction.Rollback();
                 throw;
             }
         }
     }
 }
Beispiel #12
0
 public List <DoctorViewModel> GetFilteredList(DoctorBindingModel model)
 {
     if (model == null)
     {
         return(null);
     }
     using (var context = new ClinicDataBase())
     {
         return(context.Doctors
                .Where(rec => rec.Login == model.Login && rec.Password == model.Password)
                .Select(rec => new DoctorViewModel
         {
             Id = rec.Id,
             F_Name = rec.F_Name,
             L_Name = rec.L_Name,
             Login = rec.Login,
             Password = rec.Password,
             EMail = rec.EMail
         })
                .ToList());
     }
 }
Beispiel #13
0
 public DoctorViewModel GetElement(DoctorBindingModel model)
 {
     if (model == null)
     {
         return(null);
     }
     using (var context = new ClinicDataBase())
     {
         var doctor = context.Doctors
                      .FirstOrDefault(rec => rec.Login == model.Login || rec.Id == model.Id);
         return(doctor != null ?
                new DoctorViewModel
         {
             Id = doctor.Id,
             F_Name = doctor.F_Name,
             L_Name = doctor.L_Name,
             Login = doctor.Login,
             Password = doctor.Password,
             EMail = doctor.EMail
         } :
                null);
     }
 }
Beispiel #14
0
        public IHttpActionResult UpdateDoctor(DoctorBindingModel doctorBindingModel)
        {
            DoctorViewModel doctorViewModel = _doctorService.UpdateDoctor(doctorBindingModel);

            return(Ok(new ResponseModel(doctorViewModel, "Данные доктора успешно обновлены")));
        }
Beispiel #15
0
        public IHttpActionResult CreateDoctor(DoctorBindingModel doctorBindingModel)
        {
            DoctorViewModel doctorViewModel = _doctorService.CreateDoctor(doctorBindingModel);

            return(Ok(new ResponseModel(doctorViewModel)));
        }