public bool Update(ref VcsPatient patient, ref string message) { try { if (!Validate(patient, ref message)) return false; // Check exists Patient var objPatients = DataRepository.VcsPatientProvider.GetByPatientCode(patient.PatientCode); if (objPatients == null || !objPatients.Any() || objPatients[0].IsDisabled) { message = "There is no patient to update."; return false; } var oldPatient = objPatients[0]; // Gan gia tri moi oldPatient.LastName = string.IsNullOrEmpty(patient.LastName) ? patient.MiddleName : FString.ToTitleCase(patient.LastName); oldPatient.FirstName = string.IsNullOrEmpty(patient.FirstName) ? patient.MiddleName : FString.ToTitleCase(patient.FirstName); oldPatient.MiddleName = string.IsNullOrEmpty(patient.MiddleName) ? patient.MiddleName : FString.ToTitleCase(patient.MiddleName); oldPatient.Sex = patient.Sex; oldPatient.DateOfBirth = patient.DateOfBirth; oldPatient.Nationality = patient.Nationality; oldPatient.CompanyCode = patient.CompanyCode; oldPatient.MobilePhone = patient.MobilePhone; oldPatient.HomePhone = patient.HomePhone; oldPatient.UpdateUser = patient.UpdateUser; DataRepository.VcsPatientProvider.Update(oldPatient.PatientCode, oldPatient.FirstName, oldPatient.MiddleName, oldPatient.LastName , oldPatient.DateOfBirth, oldPatient.Sex, oldPatient.Nationality, oldPatient.CompanyCode, oldPatient.HomePhone, oldPatient.MobilePhone , oldPatient.UpdateUser, oldPatient.ApptRemark, oldPatient.IsDisabled); return true; } catch (Exception ex) { LoggerController.WriteLog(System.Runtime.InteropServices.Marshal.GetExceptionCode(), ex, Network.GetIpClient()); } return false; }
public bool Insert(VcsPatient patient, ref string message) { try { patient.PatientCode = ServiceFacade.SettingsHelper.LocationCode; patient.LastName = string.IsNullOrEmpty(patient.LastName) ? patient.MiddleName : FString.ToTitleCase(patient.LastName); patient.FirstName = string.IsNullOrEmpty(patient.FirstName) ? patient.MiddleName : FString.ToTitleCase(patient.FirstName); patient.MiddleName = string.IsNullOrEmpty(patient.MiddleName) ? patient.MiddleName : FString.ToTitleCase(patient.MiddleName); if (!Validate(patient, ref message)) return false; var patients = DataRepository.VcsPatientProvider.Insert(patient.PatientCode, patient.FirstName, patient.MiddleName , patient.LastName, patient.DateOfBirth, patient.Sex, patient.Nationality, patient.CompanyCode, patient.HomePhone , patient.MobilePhone, patient.UpdateUser, patient.ApptRemark); if (patients == null || !patients.Any()) { message = "Cannot create new patient. Please contact Administrator."; return false; } patient.PatientCode = patients[0].PatientCode; return true; } catch (Exception ex) { LoggerController.WriteLog(System.Runtime.InteropServices.Marshal.GetExceptionCode(), ex, Network.GetIpClient()); } return false; }
/// <summary> /// Build Appointment to returned object /// </summary> /// <param name="obj"></param> /// <param name="dt"></param> /// <param name="mode"></param> /// <returns></returns> private static object BuildAppointment(Appointment obj, DateTime dt, string mode) { try { // Load all relational info DataRepository.AppointmentProvider.DeepLoad(obj); var patients = DataRepository.VcsPatientProvider.GetByPatientCode(obj.PatientCode); var patient = new VcsPatient(); if (patients != null && patients.Any()) { patient = patients[0]; } // Get current day for limitation change var dtNow = DateTime.Now; dtNow = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day); if (obj.StartTime != null && obj.EndTime != null) { return new { id = obj.Id, start_date = String.Format("{0:MM-dd-yyyy HH:mm:ss}", obj.StartTime), end_date = String.Format("{0:MM-dd-yyyy HH:mm:ss}", obj.EndTime), section_id = obj.Username, text = ParsePatientName(patient), DoctorDisplayname = obj.UsernameSource.DisplayName, patient = obj.PatientCode, PatientName = patient.FirstName, PatientInfo = ParsePatientName(patient), obj.UsernameSource.ServicesId, ServicesTitle = obj.ServicesIdSource.Title, room = obj.RoomId ?? CommonBO.NonValue, RoomTitle = obj.RoomId == null ? string.Empty : obj.RoomIdSource.Title, note = obj.Note, status = obj.StatusId, ReadOnly = obj.StartTime <= dtNow, color = BoFactory.StatusBO.GetColor(obj.StatusId), isnew = false, // Biến này để cho biết có vượt quá thời gian yêu cầu để hỏi gửi SMS ko issms = obj.StartTime > DateTime.Now.AddMinutes(ServiceFacade.SettingsHelper.ApptSmsHour) }; } } catch (Exception ex) { LoggerController.WriteLog(System.Runtime.InteropServices.Marshal.GetExceptionCode(), ex, Network.GetIpClient()); } return null; }
/// <summary> /// Parse data to string for display of token input /// </summary> /// <param name="obj"></param> /// <returns></returns> private static string ParsePatientName(VcsPatient obj) { string strResult = string.Empty; try { strResult = String.Format("{0}{1}" , string.IsNullOrEmpty(obj.FirstName) ? string.Empty : String.Format("{0} ", obj.FirstName) , string.IsNullOrEmpty(obj.LastName) ? string.Empty : obj.LastName ); } catch (Exception ex) { LoggerController.WriteLog(System.Runtime.InteropServices.Marshal.GetExceptionCode(), ex, Network.GetIpClient()); } return strResult; }
/// <summary> /// Parse data to string for property search of token input /// </summary> /// <param name="obj"></param> /// <returns></returns> private static string ParsePatientInfo(VcsPatient obj) { string strResult = string.Empty; try { strResult = String.Format("{0} {1}{2}{3}{4}{5}" , string.IsNullOrEmpty(obj.FirstName) ? string.Empty : obj.FirstName , string.IsNullOrEmpty(obj.LastName) ? string.Empty : obj.LastName , String.Format(" - DOB: {0}", obj.DateOfBirth.ToString("dd-MM-yyyy")) , string.IsNullOrEmpty(obj.HomePhone) ? string.Empty : String.Format(" - Home Phone: {0}", obj.HomePhone) , string.IsNullOrEmpty(obj.CompanyPhone) ? string.Empty : String.Format(" - Company Phone: {0}", obj.CompanyPhone) , string.IsNullOrEmpty(obj.MobilePhone) ? string.Empty : String.Format(" - Mobile Phone: {0}", obj.MobilePhone) ); } catch (Exception ex) { LoggerController.WriteLog(System.Runtime.InteropServices.Marshal.GetExceptionCode(), ex, Network.GetIpClient()); } return strResult; }
public static string SavePatient(string id, string firstName, string middleName, string lastName , DateTime? dob, string nationality, string company, string mobilePhone, string homePhone , string sex, string remark) { try { if (!CheckCreating(out _message)) { return WebCommon.BuildFailedResult("You have no right to create/update patient."); } // Validate patient's fields if (!WebCommon.ValidateEmpty("Patient Code", id, out _message) || !WebCommon.ValidateEmpty("First Name", firstName, out _message) || !WebCommon.ValidateEmpty("Last Name", lastName, out _message) || !WebCommon.ValidateEmpty("DOB", dob, out _message) || !WebCommon.ValidateEmpty("Nationality", nationality, out _message) || !WebCommon.ValidateEmpty("Mobile Phone", mobilePhone, out _message)) { return WebCommon.BuildFailedResult(_message); } var patient = new VcsPatient { PatientCode = id, FirstName = firstName, MiddleName = middleName, LastName = lastName, HomePhone = homePhone, Nationality = nationality, CompanyCode = company, MobilePhone = mobilePhone, DateOfBirth = Convert.ToDateTime(dob), Sex = sex, Remark = remark }; if (id.ToLower().Contains("auto generate")) { if (!BoFactory.PatientBO.Insert(patient, ref _message)) return WebCommon.BuildFailedResult(_message); } else { if (!BoFactory.PatientBO.Update(ref patient, ref _message)) return WebCommon.BuildFailedResult(_message); } return WebCommon.BuildSuccessfulResult(new List<object> { new { patient.PatientCode, patient.FirstName, patient.MiddleName, patient.LastName, patient.HomePhone, patient.CompanyPhone, patient.MemberType, patient.Nationality, patient.MobilePhone, patient.DateOfBirth, patient.Sex, patient.Remark, PatientInfo = ParsePatientName(patient) } }); } catch (Exception ex) { LoggerController.WriteLog(System.Runtime.InteropServices.Marshal.GetExceptionCode(), ex, Network.GetIpClient()); return WebCommon.BuildFailedResult("Cannot create new patient. Please contact Administrator."); } return null; }
/// <summary> /// Build fullname with title for patient /// </summary> /// <param name="patient"></param> /// <returns></returns> private static string FullNameOfPatient(VcsPatient patient) { return String.Format("{0}{1}", string.IsNullOrEmpty(patient.FirstName) ? string.Empty : patient.FirstName + " ", string.IsNullOrEmpty(patient.LastName) ? string.Empty : patient.LastName); }
/// <summary> /// Them moi mot patient /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void gridPatient_RowInserting(object sender, ASPxDataInsertingEventArgs e) { try { if (!RightAccess.CheckUserRight(AccountSession.Session, ScreenCode, OperationConstant.Create.Key, out _message)) { e.Cancel = true; } // Get grid var grid = sender as ASPxGridView; if (grid == null) { WebCommon.AlertGridView(sender, "Add form is error."); e.Cancel = true; return; } // Get control and validate var radMale = grid.FindEditFormTemplateControl("radMale") as ASPxRadioButton; var radFemale = grid.FindEditFormTemplateControl("radFemale") as ASPxRadioButton; if (radMale == null || radFemale == null) { WebCommon.AlertGridView(sender, "Add form is error."); e.Cancel = true; return; } // Validate empty field if (!WebCommon.ValidateEmpty("First Name", e.NewValues["FirstName"], out _message) || !WebCommon.ValidateEmpty("Last Name", e.NewValues["LastName"], out _message) || !WebCommon.ValidateEmpty("DOB", e.NewValues["DateOfBirth"], out _message) || !WebCommon.ValidateEmpty("Nationality", e.NewValues["Nationality"], out _message) || !WebCommon.ValidateEmpty("Mobile Phone", e.NewValues["MobilePhone"], out _message)) { WebCommon.AlertGridView(sender, _message); e.Cancel = true; return; } // Validate field DateTime dtDOB; if (!DateTime.TryParse(e.NewValues["DateOfBirth"].ToString(), out dtDOB)) { WebCommon.AlertGridView(sender, _message); e.Cancel = true; return; } var patient = new VcsPatient { PatientCode = ServiceFacade.SettingsHelper.LocationCode, FirstName = e.NewValues["FirstName"] == null ? null : e.NewValues["FirstName"].ToString(), MiddleName = e.NewValues["MiddleName"] == null ? null : e.NewValues["MiddleName"].ToString(), LastName = e.NewValues["LastName"] == null ? null : e.NewValues["LastName"].ToString(), Sex = radMale.Checked ? SexConstant.Male.Value : radFemale.Checked ? SexConstant.Female.Value : string.Empty, DateOfBirth = dtDOB, Nationality = e.NewValues["Nationality"] == null ? null : e.NewValues["Nationality"].ToString(), HomePhone = e.NewValues["HomePhone"] == null ? null : e.NewValues["HomePhone"].ToString(), MobilePhone = e.NewValues["MobilePhone"] == null ? null : e.NewValues["MobilePhone"].ToString(), CompanyCode = e.NewValues["CompanyCode"] == null ? null : e.NewValues["CompanyCode"].ToString(), ApptRemark = e.NewValues["ApptRemark"] == null ? null : e.NewValues["ApptRemark"].ToString(), UpdateUser = AccountSession.Session, }; var patients = DataRepository.VcsPatientProvider.Insert(patient.PatientCode, patient.FirstName, patient.MiddleName , patient.LastName, patient.DateOfBirth, patient.Sex, patient.Nationality, patient.CompanyCode, patient.HomePhone , patient.MobilePhone, patient.UpdateUser, patient.ApptRemark); // Doan nay dung de fake cancel update var gridView = (ASPxGridView)sender; gridView.CancelEdit(); WebCommon.AlertGridView(sender, "Patient is added successfully."); } catch (Exception ex) { LoggerController.WriteLog(System.Runtime.InteropServices.Marshal.GetExceptionCode(), ex, Network.GetIpClient()); WebCommon.AlertGridView(sender, "Cannot add patient. Please contact Administrator"); } e.Cancel = true; }
///<summary> /// A simple factory method to create a new <see cref="VcsPatient"/> instance. ///</summary> ///<param name="_patientCode"></param> ///<param name="_firstName"></param> ///<param name="_middleName"></param> ///<param name="_lastName"></param> ///<param name="_dateOfBirth"></param> ///<param name="_sex"></param> ///<param name="_memberType"></param> ///<param name="_membershipSosNumber"></param> ///<param name="_membershipSosExpDate"></param> ///<param name="_nationality"></param> ///<param name="_homeStreet"></param> ///<param name="_homeWard"></param> ///<param name="_homeDistrict"></param> ///<param name="_homeCity"></param> ///<param name="_homeCountry"></param> ///<param name="_companyCode"></param> ///<param name="_billingAddress"></param> ///<param name="_homePhone"></param> ///<param name="_mobilePhone"></param> ///<param name="_companyPhone"></param> ///<param name="_fax"></param> ///<param name="_emailAddress"></param> ///<param name="_createUser"></param> ///<param name="_createDate"></param> ///<param name="_validCorporate"></param> ///<param name="_defaultPaymentMode"></param> ///<param name="_insuranceCardNumber"></param> ///<param name="_insuranceCardExpDate"></param> ///<param name="_isDisabled"></param> ///<param name="_updateUser"></param> ///<param name="_updateDate"></param> ///<param name="_apptRemark"></param> ///<param name="_remark"></param> public static VcsPatient CreateVcsPatient(System.String _patientCode, System.String _firstName, System.String _middleName, System.String _lastName, System.DateTime _dateOfBirth, System.String _sex, System.String _memberType, System.String _membershipSosNumber, System.DateTime? _membershipSosExpDate, System.String _nationality, System.String _homeStreet, System.String _homeWard, System.String _homeDistrict, System.String _homeCity, System.String _homeCountry, System.String _companyCode, System.String _billingAddress, System.String _homePhone, System.String _mobilePhone, System.String _companyPhone, System.String _fax, System.String _emailAddress, System.String _createUser, System.DateTime _createDate, System.Boolean _validCorporate, System.String _defaultPaymentMode, System.String _insuranceCardNumber, System.DateTime? _insuranceCardExpDate, System.Boolean _isDisabled, System.String _updateUser, System.DateTime _updateDate, System.String _apptRemark, System.String _remark) { VcsPatient newVcsPatient = new VcsPatient(); newVcsPatient.PatientCode = _patientCode; newVcsPatient.FirstName = _firstName; newVcsPatient.MiddleName = _middleName; newVcsPatient.LastName = _lastName; newVcsPatient.DateOfBirth = _dateOfBirth; newVcsPatient.Sex = _sex; newVcsPatient.MemberType = _memberType; newVcsPatient.MembershipSosNumber = _membershipSosNumber; newVcsPatient.MembershipSosExpDate = _membershipSosExpDate; newVcsPatient.Nationality = _nationality; newVcsPatient.HomeStreet = _homeStreet; newVcsPatient.HomeWard = _homeWard; newVcsPatient.HomeDistrict = _homeDistrict; newVcsPatient.HomeCity = _homeCity; newVcsPatient.HomeCountry = _homeCountry; newVcsPatient.CompanyCode = _companyCode; newVcsPatient.BillingAddress = _billingAddress; newVcsPatient.HomePhone = _homePhone; newVcsPatient.MobilePhone = _mobilePhone; newVcsPatient.CompanyPhone = _companyPhone; newVcsPatient.Fax = _fax; newVcsPatient.EmailAddress = _emailAddress; newVcsPatient.CreateUser = _createUser; newVcsPatient.CreateDate = _createDate; newVcsPatient.ValidCorporate = _validCorporate; newVcsPatient.DefaultPaymentMode = _defaultPaymentMode; newVcsPatient.InsuranceCardNumber = _insuranceCardNumber; newVcsPatient.InsuranceCardExpDate = _insuranceCardExpDate; newVcsPatient.IsDisabled = _isDisabled; newVcsPatient.UpdateUser = _updateUser; newVcsPatient.UpdateDate = _updateDate; newVcsPatient.ApptRemark = _apptRemark; newVcsPatient.Remark = _remark; return newVcsPatient; }
/// <summary> /// Gets the property value by name. /// </summary> /// <param name="entity">The entity.</param> /// <param name="propertyName">Name of the property.</param> /// <returns></returns> public static object GetPropertyValueByName(VcsPatient entity, string propertyName) { switch (propertyName) { case "PatientCode": return entity.PatientCode; case "FirstName": return entity.FirstName; case "MiddleName": return entity.MiddleName; case "LastName": return entity.LastName; case "DateOfBirth": return entity.DateOfBirth; case "Sex": return entity.Sex; case "MemberType": return entity.MemberType; case "MembershipSosNumber": return entity.MembershipSosNumber; case "MembershipSosExpDate": return entity.MembershipSosExpDate; case "Nationality": return entity.Nationality; case "HomeStreet": return entity.HomeStreet; case "HomeWard": return entity.HomeWard; case "HomeDistrict": return entity.HomeDistrict; case "HomeCity": return entity.HomeCity; case "HomeCountry": return entity.HomeCountry; case "CompanyCode": return entity.CompanyCode; case "BillingAddress": return entity.BillingAddress; case "HomePhone": return entity.HomePhone; case "MobilePhone": return entity.MobilePhone; case "CompanyPhone": return entity.CompanyPhone; case "Fax": return entity.Fax; case "EmailAddress": return entity.EmailAddress; case "CreateUser": return entity.CreateUser; case "CreateDate": return entity.CreateDate; case "ValidCorporate": return entity.ValidCorporate; case "DefaultPaymentMode": return entity.DefaultPaymentMode; case "InsuranceCardNumber": return entity.InsuranceCardNumber; case "InsuranceCardExpDate": return entity.InsuranceCardExpDate; case "IsDisabled": return entity.IsDisabled; case "UpdateUser": return entity.UpdateUser; case "UpdateDate": return entity.UpdateDate; case "ApptRemark": return entity.ApptRemark; case "Remark": return entity.Remark; } return null; }
///<summary> /// Returns a Typed VcsPatientBase Entity ///</summary> public virtual VcsPatientBase Copy() { //shallow copy entity VcsPatient copy = new VcsPatient(); copy.PatientCode = this.PatientCode; copy.FirstName = this.FirstName; copy.MiddleName = this.MiddleName; copy.LastName = this.LastName; copy.DateOfBirth = this.DateOfBirth; copy.Sex = this.Sex; copy.MemberType = this.MemberType; copy.MembershipSosNumber = this.MembershipSosNumber; copy.MembershipSosExpDate = this.MembershipSosExpDate; copy.Nationality = this.Nationality; copy.HomeStreet = this.HomeStreet; copy.HomeWard = this.HomeWard; copy.HomeDistrict = this.HomeDistrict; copy.HomeCity = this.HomeCity; copy.HomeCountry = this.HomeCountry; copy.CompanyCode = this.CompanyCode; copy.BillingAddress = this.BillingAddress; copy.HomePhone = this.HomePhone; copy.MobilePhone = this.MobilePhone; copy.CompanyPhone = this.CompanyPhone; copy.Fax = this.Fax; copy.EmailAddress = this.EmailAddress; copy.CreateUser = this.CreateUser; copy.CreateDate = this.CreateDate; copy.ValidCorporate = this.ValidCorporate; copy.DefaultPaymentMode = this.DefaultPaymentMode; copy.InsuranceCardNumber = this.InsuranceCardNumber; copy.InsuranceCardExpDate = this.InsuranceCardExpDate; copy.IsDisabled = this.IsDisabled; copy.UpdateUser = this.UpdateUser; copy.UpdateDate = this.UpdateDate; copy.ApptRemark = this.ApptRemark; copy.Remark = this.Remark; copy.AcceptChanges(); return (VcsPatient)copy; }
/// <summary> /// Validate patient's fields /// </summary> /// <param name="patient"></param> /// <param name="message"></param> /// <returns></returns> private static bool Validate(VcsPatient patient, ref string message) { try { // Validate empty value for Lastname field if (patient.Sex != SexConstant.Male.Key && patient.Sex != SexConstant.Female.Key) { message = "Please select sex."; return false; } // Kiem tra nationality co ton tai khong var objNationalities = DataRepository.VcsCountryProvider.Get( String.Format("CitizenName = '{0}' AND IsDisabled = 'False'", patient.Nationality), string.Empty); if (objNationalities == null || !objNationalities.Any()) { message = "Nationality is not exist."; return false; } // Kiem tra Company co ton tai khong if (!string.IsNullOrEmpty(patient.CompanyCode)) { var objCompanies = DataRepository.VcsCountryProvider.Get( String.Format("CitizenName = '{0}' AND IsDisabled = 'False'", patient.Nationality), string.Empty); if (objCompanies == null || !objCompanies.Any()) { message = "Company is not exist."; return false; } } return true; } catch (Exception ex) { LoggerController.WriteLog(System.Runtime.InteropServices.Marshal.GetExceptionCode(), ex, Network.GetIpClient()); message = ex.Message; return false; } }