コード例 #1
0
        public DoctorCardModel GetDoctor(int id)
        {
            Doctor doctor = _doctorReposatory.Query().Where(a => a.User_Id == id)
                            .Include(a => a.Certificates)
                            .Include(a => a.Specialization)
                            .Include(a => a.User)
                            .ThenInclude(a => a.Addresses)
                            .Include(a => a.User)
                            .ThenInclude(a => a.Phones).FirstOrDefault();


            DoctorCardModel doctorModel = new DoctorCardModel
            {
                Age          = doctor.User.Age,
                Bio          = doctor.Bio,
                Degree       = doctor.Degree,
                Salary       = doctor.Salary,
                Status       = doctor.Status,
                Experience   = doctor.Experience,
                Certificates = MapCertificationModels(doctor.Certificates),
                Spc_Name     = doctor.Specialization.Spc_Name,
                User         = _mapper.Map <UserProfileModel>(doctor.User),
                Addresses    = MapAddressModels(doctor.User.Addresses),
                Phones       = MapPhoneModels(doctor.User.Phones),
                Reviews      = GetReviews(doctor.User_Id)
            };

            return(doctorModel);
        }
コード例 #2
0
        public void EditDoctor(DoctorCardModel model)
        {
            Doctor doctor = _doctorReposatory.Query().Where(a => a.User_Id == model.User.Id)
                            .Include(a => a.Specialization)
                            .Include(a => a.User)
                            .ThenInclude(a => a.Addresses)
                            .Include(a => a.User)
                            .ThenInclude(a => a.Phones).FirstOrDefault();
            Specialization specialization = _specializationReposatory.Query().Where(a => a.Spc_Name == model.Spc_Name).FirstOrDefault();

            doctor.Bio        = model.Bio;
            doctor.Degree     = model.Degree;
            doctor.Experience = model.Experience;
            doctor.Salary     = model.Salary;
            doctor.Spec_Id    = specialization.Id;

            _doctorReposatory.Update(doctor);

            doctor.User.Image  = model.User.Image;
            doctor.User.Age    = model.Age;
            doctor.User.Email  = model.User.Email;
            doctor.User.Fname  = model.User.Fname;
            doctor.User.Gender = model.User.Gender;
            doctor.User.Lname  = model.User.Lname;

            _userReposatory.Update(doctor.User);

            foreach (Address item in doctor.User.Addresses.ToList <Address>())
            {
                _addressReposatory.Delete(item);
            }

            foreach (AddressModel item in model.Addresses.ToList <AddressModel>())
            {
                _addressReposatory.Add(new Address
                {
                    AddressType = item.AddressType,
                    City        = item.City,
                    Region      = item.Region,
                    street      = item.street,
                    Usr_Id      = doctor.User_Id
                });
            }

            foreach (Phone item in doctor.User.Phones.ToList <Phone>())
            {
                _phoneReposatory.Delete(item);
            }

            foreach (PhoneModel item in model.Phones.ToList <PhoneModel>())
            {
                _phoneReposatory.Add(new Phone()
                {
                    Number = item.Number,
                    Usr_Id = doctor.User_Id
                });
            }
        }
コード例 #3
0
        public ActionResult <DoctorCardModel> GetProfile(int userID)
        {
            ActionResult    respose = BadRequest("invalid Id");
            DoctorCardModel doctor  = _doctorService.GetDoctor(userID);

            if (doctor != null)
            {
                respose = Ok(doctor);
            }
            return(doctor);
        }
コード例 #4
0
 public ActionResult Post(DoctorCardModel model)
 {
     _doctorService.EditDoctor(model);
     return(Ok());
 }