Exemple #1
0
        private int EditPersonalInfo(PersonalHomepageViewModel PersonalHomepageModel, CDMIS.Models.PatientBasicInfo patient)
        {
            var user   = Session["CurrentUser"] as UserAndRole;
            var UserId = user.UserId;
            //var SetBasicInfo = service.SetBasicInfo(UserId, UserName, Birthday, Gender, BloodType, IDNo, DoctorId, InsuranceType, InvalidFlag, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
            //var SetBasicInfoDetail = service.SetBasicInfoDetail(Patient, CategoryCode, ItemCode, ItemSeq, Value, Description, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
            string CategoryCode = "Contact";
            int    ItemSeq      = 1;
            int    SortNo       = 1;
            int    Birthday     = 0;
            string avatarPath   = "";
            //System.Data.DataSet GetPatientBasicInfoDetailList = _ServicesSoapClient.GetPatientBasicInfoDetail(UserId, CategoryCode);

            var UserName = patient.UserName;
            var Gender   = Convert.ToInt32(patient.Gender);

            if (PersonalHomepageModel.Birthday != null)
            {
                var birthday = PersonalHomepageModel.Birthday;
                Birthday = Convert.ToInt32((birthday.Substring(0, 4) + birthday.Substring(5, 2) + birthday.Substring(8, 2)).ToString());
            }
            else
            {
                Birthday = 0;
            }
            var IDNo                        = PersonalHomepageModel.IDNO;
            var PhoneNumber                 = PersonalHomepageModel.PhoneNumber;
            var HomeAddress                 = PersonalHomepageModel.Address;
            var Occupation                  = PersonalHomepageModel.Occupation;
            var Nationality                 = PersonalHomepageModel.Nationality;
            var EmergencyContact            = PersonalHomepageModel.EmergencyContact;
            var EmergencyContactPhoneNumber = PersonalHomepageModel.EmergencyContactPhoneNumber;
            //var PhotoAddress = PersonalHomepageModel.PhotoAddress;
            HttpPostedFileBase image = Request.Files["fileUpload"];

            if (image != null && image.ContentLength > 0)
            {
                string fileName    = UserId + ".jpg";
                string filePath    = "";
                string hostAddress = System.Configuration.ConfigurationManager.AppSettings["WebServe"];
                filePath   = "PersonalPhoto/";
                avatarPath = fileName;
                ResizeAndSaveImage(image, 168, 168, filePath, fileName);
            }
            else
            {
                string[] s = PersonalHomepageModel.PhotoAddress.Split('/');
                avatarPath = s[s.Length - 1];
            }

            int setSuccessFlag = 0;

            if (user.Role == "Administrator" || user.Role == "Doctor" || user.Role == "HealthCoach")
            {
                var DoctorBasicInfo          = _ServicesSoapClient.GetDoctorInfo(UserId);
                var DoctorInvalidFlag        = Convert.ToInt32(DoctorBasicInfo.Tables[0].Rows[0]["InvalidFlag"].ToString());
                var SetDoctorBasicFlag       = _ServicesSoapClient.SetPsDoctor(UserId, UserName, Birthday, Gender, null, DoctorInvalidFlag, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetDoctorPhoneNumberFlag = _ServicesSoapClient.SetDoctorInfoDetail(UserId, CategoryCode, "Contact002_1", ItemSeq, PhoneNumber, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetDoctorHomeAddressFlag = _ServicesSoapClient.SetDoctorInfoDetail(UserId, CategoryCode, "Contact002_2", ItemSeq, HomeAddress, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetDoctorOccupationFlag  = _ServicesSoapClient.SetDoctorInfoDetail(UserId, CategoryCode, "Contact001_2", ItemSeq, Occupation, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetDoctorNationalityFlag = _ServicesSoapClient.SetDoctorInfoDetail(UserId, CategoryCode, "Contact001_3", ItemSeq, Nationality, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetDoctorECFlag          = _ServicesSoapClient.SetDoctorInfoDetail(UserId, CategoryCode, "Contact002_3", ItemSeq, EmergencyContact, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetDoctorECPNFlag        = _ServicesSoapClient.SetDoctorInfoDetail(UserId, CategoryCode, "Contact002_4", ItemSeq, EmergencyContactPhoneNumber, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetDoctorPhotoFlag       = _ServicesSoapClient.SetDoctorInfoDetail(UserId, CategoryCode, "Contact001_4", ItemSeq, avatarPath, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetDoctorIDNoFlag        = _ServicesSoapClient.SetDoctorInfoDetail(UserId, CategoryCode, "Contact001_1", ItemSeq, IDNo, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                if (user.Role == "Doctor" || user.Role == "HealthCoach")
                {
                    var SetDoctorUnitName = _ServicesSoapClient.SetDoctorInfoDetail(UserId, CategoryCode, "Contact001_5", ItemSeq, PersonalHomepageModel.UnitName, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                    var SetDoctorJobTitle = _ServicesSoapClient.SetDoctorInfoDetail(UserId, CategoryCode, "Contact001_6", ItemSeq, PersonalHomepageModel.JobTitle, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                    var SetDoctorLevel    = _ServicesSoapClient.SetDoctorInfoDetail(UserId, CategoryCode, "Contact001_7", ItemSeq, PersonalHomepageModel.Level, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                    var SetDoctorDept     = _ServicesSoapClient.SetDoctorInfoDetail(UserId, CategoryCode, "Contact001_8", ItemSeq, PersonalHomepageModel.Dept, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                    if (SetDoctorUnitName == true && SetDoctorJobTitle == true && SetDoctorLevel == true && SetDoctorDept == true)
                    {
                        setSuccessFlag = 1;
                    }
                    else
                    {
                        ModelState.AddModelError("", "数据库连接失败");
                        return(0);
                    }
                }
                SetDoctorPhoneNumberFlag = _ServicesSoapClient.SetPhoneNo(UserId, "PhoneNo", PhoneNumber, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType) == 1? true: false;
                if (SetDoctorBasicFlag == true && SetDoctorPhoneNumberFlag == true && SetDoctorHomeAddressFlag == true && SetDoctorOccupationFlag == true && SetDoctorNationalityFlag == true && SetDoctorECFlag == true && SetDoctorECPNFlag == true && SetDoctorPhotoFlag == true && SetDoctorIDNoFlag == true)
                {
                    setSuccessFlag = 1;
                    //return 1;
                }
                else
                {
                    ModelState.AddModelError("", "数据库连接失败");
                    return(0);
                }
            }
            //判断该用户是否为患者,同步Ps.BasicInfo表
            int isPatientFlag = 0;

            if (user.Role == "Doctor" || user.Role == "HealthCoach")
            {
                DataSet roleDs = _ServicesSoapClient.GetAllRoleMatch(UserId);
                if (roleDs.Tables.Count != 0)
                {
                    DataTable roleDt = roleDs.Tables[0];
                    foreach (DataRow dr in roleDt.Rows)
                    {
                        if (dr["RoleClass"].ToString() == "Patient")
                        {
                            isPatientFlag = 1;
                            break;
                        }
                    }
                }
            }
            if ((user.Role == "Doctor" || user.Role == "HealthCoach") && isPatientFlag == 1)
            {
                var GetBasicInfoList    = _ServicesSoapClient.GetUserBasicInfo(UserId);
                var BloodType           = Convert.ToInt32(GetBasicInfoList.BloodType);
                var DoctorId            = GetBasicInfoList.DoctorId;
                var InsuranceType       = GetBasicInfoList.InsuranceType;
                var InvalidFlag         = GetBasicInfoList.InvalidFlag;
                var SetPatientBasicFlag = _ServicesSoapClient.SetBasicInfo(UserId, UserName, Birthday, Gender, BloodType, null, DoctorId, InsuranceType, InvalidFlag, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                //var SetPatientPhoneNumberFlag = _ServicesSoapClient.SetBasicInfoDetail(UserId, CategoryCode, "Contact002_1", ItemSeq, PhoneNumber, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetPatientHomeAddressFlag = _ServicesSoapClient.SetBasicInfoDetail(UserId, CategoryCode, "Contact002_2", ItemSeq, HomeAddress, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetPatientOccupationFlag  = _ServicesSoapClient.SetBasicInfoDetail(UserId, CategoryCode, "Contact001_2", ItemSeq, Occupation, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetPatientNationalityFlag = _ServicesSoapClient.SetBasicInfoDetail(UserId, CategoryCode, "Contact001_3", ItemSeq, Nationality, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetPatientECFlag          = _ServicesSoapClient.SetBasicInfoDetail(UserId, CategoryCode, "Contact002_3", ItemSeq, EmergencyContact, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetPatientECPNFlag        = _ServicesSoapClient.SetBasicInfoDetail(UserId, CategoryCode, "Contact002_4", ItemSeq, EmergencyContactPhoneNumber, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetPatientPhotoFlag       = _ServicesSoapClient.SetBasicInfoDetail(UserId, CategoryCode, "Contact001_4", ItemSeq, avatarPath, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                var SetPatientIDNoFlag        = _ServicesSoapClient.SetBasicInfoDetail(UserId, CategoryCode, "Contact001_1", ItemSeq, IDNo, null, SortNo, user.UserId, user.TerminalName, user.TerminalIP, user.DeviceType);
                if (SetPatientBasicFlag == true && SetPatientHomeAddressFlag == true && SetPatientOccupationFlag == true && SetPatientNationalityFlag == true && SetPatientECFlag == true && SetPatientECPNFlag == true && SetPatientPhotoFlag == true && SetPatientIDNoFlag == true)
                {
                    setSuccessFlag = 1;
                    //return 1;
                }
                else
                {
                    ModelState.AddModelError("", "数据库连接失败");
                    return(0);
                }
            }
            if (setSuccessFlag == 1)
            {
                return(1);
            }
            else
            {
                return(0);
            }
        }
Exemple #2
0
        public ActionResult LogOn(LogOnModel LogOnModel, string control, string page)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var UserId    = LogOnModel.UserId;
                    var Password  = LogOnModel.Password;
                    var Type      = "";
                    var EmailFlag = Regex.IsMatch(UserId, @"(^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$)");
                    var PhoneFlag = Regex.IsMatch(UserId, @"(^1[3-8]\d{9}$)");
                    if (EmailFlag == true)
                    {
                        Type = "EmailAdd";
                    }
                    if (PhoneFlag == true)
                    {
                        Type = "PhoneNo";
                    }
                    if (Type != "")
                    {
                        UserId = _ServicesSoapClient.GetIDByInput(Type, UserId);
                    }
                    if (_ServicesSoapClient.CheckUserExist(UserId) == true)
                    {
                        if (_ServicesSoapClient.CheckPassword(UserId, Password) == 1)
                        {
                            var CurrentUser = new UserAndRole();
                            CurrentUser.UserId   = UserId;
                            CurrentUser.UserName = _ServicesSoapClient.GetUserName(UserId);
                            //CurrentUser.Role = _ServicesSoapClient.GetClassByUserId(UserId);
                            var RoleList = _ServicesSoapClient.GetAllRoleMatch(UserId);
                            //var Role = RoleList.Tables[0].Rows[0]["RoleClass"];
                            var      length    = RoleList.Tables[0].Rows.Count;
                            string[] RoleClass = new string[length];
                            for (int i = 0; i < length; i++)
                            {
                                RoleClass[i] = RoleList.Tables[0].Rows[i]["RoleClass"].ToString();
                                if (RoleClass[i] == "Administrator")
                                {
                                    CurrentUser.Role = "Administrator";
                                }
                                else if (RoleClass[i] == "Doctor")
                                {
                                    CurrentUser.Role = "Doctor";
                                }
                            }
                            string hostAddress = Request.ServerVariables.Get("Remote_Addr").ToString();
                            if (hostAddress == "::1")
                            {
                                hostAddress = "127.0.0.1";
                            }
                            CurrentUser.TerminalIP = hostAddress;

                            //CurrentUser.TerminalName = Dns.GetHostName();
                            //CurrentUser.TerminalName = Request.ServerVariables.Get("Remote_Host").ToString();
                            string hostName = "";
                            try
                            {
                                System.Net.IPHostEntry host = new System.Net.IPHostEntry();
                                host     = System.Net.Dns.GetHostEntry(hostAddress);
                                hostName = host.HostName;
                            }
                            catch
                            {
                            }
                            finally
                            {
                                if (hostName == "")
                                {
                                    hostName = Request.ServerVariables.Get("Remote_Host").ToString();
                                }
                            }
                            CurrentUser.TerminalName = hostName;

                            CurrentUser.DeviceType = 1;

                            var ChangeLastLogOnTimeFlag = _ServicesSoapClient.UpdateLastLoginDateTime(CurrentUser.UserId, CurrentUser.UserName, CurrentUser.TerminalIP, CurrentUser.TerminalName, CurrentUser.DeviceType);
                            Session["CurrentUser"] = CurrentUser;
                            FormsAuthentication.SetAuthCookie(UserId, true);
                            if (control == null && page == null)
                            {
                                if (CurrentUser.Role == "Administrator")
                                {
                                    return(RedirectToAction("Index", "Management"));
                                }
                                else if (CurrentUser.Role == "Doctor")
                                {
                                    var ActivitionFlag = _ServicesSoapClient.GetActivatedState(UserId, "Doctor");
                                    if (ActivitionFlag == "0")
                                    {
                                        return(RedirectToAction("PatientList", "DoctorHome"));
                                    }
                                    else
                                    {
                                        return(RedirectToAction("Activition", "Account"));
                                    }
                                }
                                else
                                {
                                    ModelState.AddModelError("errorConnection", "该用户没有权限登录本系统");
                                    return(View());
                                }
                                //switch (CurrentUser.Role)
                                //{
                                //    case "Administrator": return RedirectToAction("Index", "Dict");
                                //    case "Doctor": return RedirectToAction("PatientList", "DoctorHome");
                                //    //case "Patient": return RedirectToAction("HealthParameters", "PatientHome");
                                //    default: ModelState.AddModelError("", "该用户没有权限登录本系统");
                                //        return View();
                                //}
                            }
                            else
                            {
                                return(RedirectToAction(page, control));
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("errorPassword", "密码错误,请重新输入密码");
                            return(View(LogOnModel));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("errorUserId", "用户不存在,请重新输入用户ID");
                        return(View(LogOnModel));
                    }
                }
                else
                {
                    return(View(LogOnModel));
                }
            }
            catch (Exception)
            {
                ModelState.AddModelError("errorConnection", "数据库连接失败");
                return(View(LogOnModel));
            }
        }
Exemple #3
0
        public ActionResult LogOn(LogOnModel LogOnModel, string control, string page)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var UserId    = LogOnModel.UserId;
                    var Password  = LogOnModel.Password;
                    var Type      = "";
                    var EmailFlag = Regex.IsMatch(UserId, @"(^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$)");
                    var PhoneFlag = Regex.IsMatch(UserId, @"(^1[3-8]\d{9}$)");
                    if (EmailFlag == true)
                    {
                        Type = "EmailAdd";
                    }
                    if (PhoneFlag == true)
                    {
                        Type = "PhoneNo";
                    }
                    if (Type != "")
                    {
                        UserId = _ServicesSoapClient.GetIDByInput(Type, UserId);
                    }
                    //判断用户是否存在
                    if (_ServicesSoapClient.CheckUserExist(UserId) == true)//如果用户存在
                    {
                        //判断密码是否正确
                        if (_ServicesSoapClient.CheckPassword(UserId, Password) == 1)
                        {//如果密码正确
                            var      RoleList    = _ServicesSoapClient.GetAllRoleMatch(UserId);
                            var      length      = RoleList.Tables[0].Rows.Count;
                            string[] RoleClass   = new string[length];
                            bool     isRoleMatch = false;
                            for (int i = 0; i < length; i++)
                            {
                                RoleClass[i] = RoleList.Tables[0].Rows[i]["RoleClass"].ToString();
                                if (RoleClass[i] == LogOnModel.UserRole)//判断登录类型是否和用户的其中一个角色相符
                                {
                                    isRoleMatch = true;
                                }
                            }
                            //判断是否有角色权限
                            if (isRoleMatch)
                            {//如果有角色权限
                                var CurrentUser = new UserAndRole();
                                CurrentUser.UserId   = UserId;
                                CurrentUser.UserName = _ServicesSoapClient.GetUserName(UserId);
                                CurrentUser.Role     = LogOnModel.UserRole;
                                string hostAddress = Request.ServerVariables.Get("Remote_Addr").ToString();
                                if (hostAddress == "::1")
                                {
                                    hostAddress = "127.0.0.1";
                                }
                                CurrentUser.TerminalIP = hostAddress;
                                string hostName = "";
                                try
                                {
                                    System.Net.IPHostEntry host = new System.Net.IPHostEntry();
                                    host     = System.Net.Dns.GetHostEntry(hostAddress);
                                    hostName = host.HostName;
                                }
                                catch {}
                                finally
                                {
                                    if (hostName == "")
                                    {
                                        hostName = Request.ServerVariables.Get("Remote_Host").ToString();
                                    }
                                }
                                CurrentUser.TerminalName = hostName;

                                CurrentUser.DeviceType = 1;

                                var ChangeLastLogOnTimeFlag = _ServicesSoapClient.UpdateLastLoginDateTime(CurrentUser.UserId, CurrentUser.UserName, CurrentUser.TerminalIP, CurrentUser.TerminalName, CurrentUser.DeviceType);
                                Session["CurrentUser"] = CurrentUser;
                                FormsAuthentication.SetAuthCookie(UserId, true);

                                if (control == null && page == null)
                                {
                                    if (CurrentUser.Role == "Administrator" && LogOnModel.UserRole == "Administrator")
                                    {//如果是管理员
                                        return(RedirectToAction("Index", "Management"));
                                    }
                                    else
                                    {//判断状态是否被激活
                                        var ActivitionFlag = _ServicesSoapClient.GetActivatedState(UserId, LogOnModel.UserRole);
                                        if (ActivitionFlag == "0")
                                        {//如果被激活
                                            CurrentUser.Role = LogOnModel.UserRole;
                                            if (CurrentUser.Role == "Doctor")
                                            {
                                                return(RedirectToAction("PatientList", "DoctorHome"));
                                            }
                                            else
                                            {
                                                return(RedirectToAction("HealthCoachPatientList", "DoctorHome"));
                                            }
                                        }
                                        else
                                        {//如果未被激活
                                            ModelState.AddModelError("errorConnection", "该用户尚未激活");
                                            return(View(LogOnModel));
                                        }
                                    }
                                }
                                else
                                {
                                    return(RedirectToAction(page, control));
                                }
                            }
                            else
                            {//如果没有角色权限
                                ModelState.AddModelError("errorConnection", "该用户没有权限登录本系统");
                                return(View(LogOnModel));
                            }
                        }
                        else
                        {//如果密码不正确
                            ModelState.AddModelError("errorPassword", "密码错误,请重新输入密码");
                            return(View(LogOnModel));
                        }
                    }

                    else
                    {//如果用户不存在
                        ModelState.AddModelError("errorUserId", "用户不存在,请重新输入用户ID");
                        return(View(LogOnModel));
                    }
                }
                else
                {
                    return(View(LogOnModel));
                }
            }
            catch (Exception)
            {
                ModelState.AddModelError("errorConnection", "数据库连接失败");
                return(View(LogOnModel));
            }
        }