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); }
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 }); } }
public ActionResult <DoctorCardModel> GetProfile(int userID) { ActionResult respose = BadRequest("invalid Id"); DoctorCardModel doctor = _doctorService.GetDoctor(userID); if (doctor != null) { respose = Ok(doctor); } return(doctor); }
public ActionResult Post(DoctorCardModel model) { _doctorService.EditDoctor(model); return(Ok()); }