コード例 #1
0
        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));
        }
コード例 #2
0
        // 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));
        }
コード例 #3
0
        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);
                }
            }
        }