public int AddHospitalDetail(string clientId, AccountModel model, IHospitalDetailsRepository _hospitalDetailsRepository) { HospitalDetails _hospitalDetail = new HospitalDetails { HospitalId = clientId, HospitalName = model.FirstName, Email = model.Email, jobType = model.jobType, Mobile = Convert.ToInt32(model.PhoneNumber), FacilityId = model.FacilityId }; return(_hospitalDetailsRepository.Insert(_hospitalDetail)); }
// GET: api/Doctor public HttpResponseMessage Getdoctor(string country = null, string city = null, string diseaseType = null) { IHospitalDetailsRepository _hospitalRepo = RepositoryFactory.Create <IHospitalDetailsRepository>(ContextTypes.EntityFramework); List <HospitalDetails> hospitalDetails = _hospitalRepo.Find( x => country != null ? x.Country == country : x.Country == x.Country && city != null ? x.City == city : x.City == x.City); List <string> _hospitalid = new List <string>(); foreach (var hospitalDetail in hospitalDetails ?? new List <HospitalDetails>()) { _hospitalid.Add(hospitalDetail.HospitalId); } string _hospitalId = string.Join(",", _hospitalid); IDoctorRepository _doctorRepo = RepositoryFactory.Create <IDoctorRepository>(ContextTypes.EntityFramework); var result = _doctorRepo.Find(x => x.HospitalId.Contains(_hospitalId) && diseaseType != null ? x.Specialization.Contains(diseaseType) : x.Specialization == x.Specialization ); return(Request.CreateResponse(HttpStatusCode.Accepted, result)); }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { var userStore = new UserStore <ApplicationUser>(new ApplicationDbContext()); var manager = new UserManager <ApplicationUser>(userStore); var userFindByEmail = manager.FindByEmail(context.UserName); var user = userFindByEmail != null ? await manager.FindAsync(userFindByEmail.UserName, context.Password) : await manager.FindAsync(context.UserName, context.Password); if (user == null) { context.SetError("Please check username and password"); } else { if (user.JobType == 2) { _hospitalDetailsRepository = RepositoryFactory.Create <IHospitalDetailsRepository>(ContextTypes.EntityFramework); hospitalDetails = _hospitalDetailsRepository.Find(x => x.HospitalId.Trim() == user.Id.Trim()).FirstOrDefault(); jobType = hospitalDetails.jobType; isEmailConfirmed = hospitalDetails.EmailConfirmed; } else if (user.JobType == 1) { _clientDetailRepo = RepositoryFactory.Create <IClientDetailRepository>(ContextTypes.EntityFramework); clientDetailRepo = _clientDetailRepo.Find(x => x.ClientId.Trim() == user.Id.Trim()).FirstOrDefault(); jobType = clientDetailRepo.Jobtype; isEmailConfirmed = clientDetailRepo.EmailConfirmed; } else if (user.JobType == 3) { _doctorRepository = RepositoryFactory.Create <IDoctorRepository>(ContextTypes.EntityFramework); doctor = _doctorRepository.Find(x => x.DoctorId.Trim() == user.Id.Trim()).FirstOrDefault(); jobType = doctor.jobType; isEmailConfirmed = true; } else if (user.JobType == 4) { _secretaryRepository = RepositoryFactory.Create <ISecretaryRepository>(ContextTypes.EntityFramework); secretary = _secretaryRepository.Find(x => x.SecretaryId.Trim() == user.Id.Trim()).FirstOrDefault(); jobType = secretary.jobType; isEmailConfirmed = true; } else { _hospitalDetailsRepository = RepositoryFactory.Create <IHospitalDetailsRepository>(ContextTypes.EntityFramework); hospitalDetails = _hospitalDetailsRepository.Find(x => x.HospitalId.Trim() == user.Id.Trim()).FirstOrDefault(); jobType = hospitalDetails.jobType; isEmailConfirmed = hospitalDetails.EmailConfirmed; } if (!isEmailConfirmed) { context.SetError("Please verify your email address"); } else { var identity = new ClaimsIdentity(context.Options.AuthenticationType); identity.AddClaim(new Claim("UserId", user.Id)); identity.AddClaim(new Claim("Username", user.UserName)); identity.AddClaim(new Claim("Email", user.Email)); identity.AddClaim(new Claim("FirstName", user.FirstName)); identity.AddClaim(new Claim("LastName", user.LastName == null ? "" : user.LastName)); identity.AddClaim(new Claim("LoggedOn", DateTime.Now.ToString())); identity.AddClaim(new Claim("PhoneNo", user.PhoneNumber == null ? " " : user.PhoneNumber)); identity.AddClaim(new Claim("JobType", user.JobType.ToString())); context.Validated(identity); } } }