public async Task <ActionResult> Update(DoctorUpdateModel doctorUpdateModel) { if (!ModelState.IsValid) { return(View(doctorUpdateModel)); } doctorUpdateModel.Username = HttpContext.User.Identity.Name; var doctorToUpdate = await DoctorFacade.GetDoctorByUsernameAsync(doctorUpdateModel.Username); if (doctorToUpdate == null) { ModelState.AddModelError("Username", "Account does not exist"); return(View(doctorUpdateModel)); } DoctorDto doctorDto = new DoctorDto { Username = HttpContext.User.Identity.Name, Id = doctorToUpdate.Id, Specialization = doctorToUpdate.Specialization, Name = doctorUpdateModel.Name, Surname = doctorUpdateModel.Surname }; await DoctorFacade.EditDoctorAsync(doctorDto); return(RedirectToAction("Index", "Home")); }
public async Task <ActionResult> Create(DoctorCreateModel doctorCreateModel) { if (!ModelState.IsValid) { return(View(doctorCreateModel)); } DoctorDto doctorDto = new DoctorDto { Username = doctorCreateModel.Username, Password = doctorCreateModel.Password, Specialization = doctorCreateModel.Specialization, Name = doctorCreateModel.Name, Surname = doctorCreateModel.Surname }; if (await PatientFacade.GetPatientByUsernameAsync(doctorCreateModel.Username) != null || await DoctorFacade.GetDoctorByUsernameAsync(doctorCreateModel.Username) != null) { ModelState.AddModelError("Username", "Account with that username already exists"); return(View(doctorCreateModel)); } await DoctorFacade.RegisterDoctor(doctorDto); return(RedirectToAction("Login", "Account")); }
public VisitInfoViewForm(int idVisit) { InitializeComponent(); Visit visit = DoctorFacade.GetVisitById(idVisit); Patient patient = DoctorFacade.GetPatientByVisit(idVisit); DataLayer.Doctor doctor = DoctorFacade.GetDoctorByVisit(idVisit); VisitViewPatientFirstNameTextBox.Text = patient.fname; VisitViewPatientLastNameTextBox.Text = patient.lname; VisitViewPatientPeselTextBox.Text = patient.PESEL; VisitViewDocorFirstNameTextBox.Text = doctor.User.fname; VisitViewDoctorLastNameTextBox.Text = doctor.User.lname; VisitViewVisitStateComboBox.Text = visit.state; VisitViewRegisterDateTimePicker.Value = visit.registration_date; //tu wywala jak nie ma if (visit.execution_cancel_datetime == null) { VisitViewExecCancelDateTimePicker.CustomFormat = " "; VisitViewExecCancelDateTimePicker.Format = DateTimePickerFormat.Custom; } else { VisitViewExecCancelDateTimePicker.CustomFormat = "dd/MM/yyyy hh:mm:ss"; VisitViewExecCancelDateTimePicker.Value = visit.execution_cancel_datetime.Value; } VisitViewDescriptionTextBox.Text = visit.description; VisitViewDiagnosisTextBox.Text = visit.diagnosis; //to do : //w zaleznosci od stanu zmien VisitViewExecCancelDateLabel.Text w na "Execution date" lub na "Cancel date" albo (...)Label.Visible=false }
public DoctorVisitViewForm(Patient patient, int idVisit) { InitializeComponent(); //initialize data this.patient = patient; this.idVisit = idVisit; string state = DoctorFacade.GetVisitState(idVisit); if (!state.Equals("REG")) { doctorVisitPatientDescriptionTextBox.Enabled = false; doctorVisitPatientDiagnosisTextBox.Enabled = false; doctorPhysicalExaminationButton.Enabled = false; doctorLaboratoryExaminationButton.Enabled = false; doctorFinishVisitButton.Enabled = false; doctorCancelVisitButton.Enabled = false; } //this.id = patient.id_patient; doctorVisitPatientFirstNameTextBox.Text = patient.fname; doctorVisitPatientFirstNameTextBox.Enabled = false; doctorVisitPatientLastNameTextBox.Text = patient.lname; doctorVisitPatientLastNameTextBox.Enabled = false; doctorVisitPatientPeselTextBox.Text = patient.PESEL; doctorVisitPatientPeselTextBox.Enabled = false; doctorVisitPatientDescriptionTextBox.Text = "Description"; doctorVisitPatientDescriptionTextBox.ForeColor = SystemColors.GrayText; doctorVisitPatientDiagnosisTextBox.Text = "Diagnosis"; doctorVisitPatientDiagnosisTextBox.ForeColor = SystemColors.GrayText; RefreshExamGrid(); }
private void button2_Click(object sender, EventArgs e) { RejestracjaPacjenta frmRejestracjaPacjenta = new RejestracjaPacjenta(); DialogResult res = frmRejestracjaPacjenta.ShowDialog(this); dataGridViewVisits.DataSource = DoctorFacade.GetVisits(null); }
private void SetWindowMode(int mode)//0=LAB, 1=PHY { switch (mode) { case 0: { //lab exam // doctorExaminationViewExamTypeComboBox doctorExaminationViewExamTypeHeadingLabel.Text = "Laboratory Examination"; doctorExaminationViewCommentsResultLabel.Text = "Comments :"; doctorExaminationViewSubmitButton.Visible = false; doctorExaminationViewOrderButton.Visible = true; doctorExaminationViewExamTypeComboBox.Enabled = true; doctorExaminationViewCommentsResultTextBox.ReadOnly = false; doctorExaminationViewCommentsResultTextBox.Enabled = true; //dateToComboBox = new List<string>(); //var query= DoctorFacade.GetLaboratoryExaminationType(); //foreach (var x in query) dateToComboBox.Add( x.ToString()); //doctorExaminationViewExamTypeComboBox.DataSource = dateToComboBox; doctorExaminationViewExamTypeComboBox.DataSource = DoctorFacade.GetLaboratoryExaminationType(); doctorExaminationViewExamTypeComboBox.SelectedIndex = -1; } break; case 1: { //phy exam doctorExaminationViewExamTypeHeadingLabel.Text = "Physical Examination"; doctorExaminationViewCommentsResultLabel.Text = "Results :"; doctorExaminationViewSubmitButton.Visible = true; doctorExaminationViewOrderButton.Visible = false; doctorExaminationViewExamTypeComboBox.Enabled = true; doctorExaminationViewCommentsResultTextBox.ReadOnly = false; doctorExaminationViewExamTypeComboBox.DataSource = DoctorFacade.GetPhysicalExaminationType(); doctorExaminationViewExamTypeComboBox.SelectedIndex = -1; } break; default: { //phy exam READ ONLY doctorExaminationViewExamTypeHeadingLabel.Text = "Physical Examination"; doctorExaminationViewCommentsResultLabel.Text = "Results :"; doctorExaminationViewSubmitButton.Visible = false; doctorExaminationViewOrderButton.Visible = false; doctorExaminationViewExamTypeComboBox.Enabled = false; doctorExaminationViewCommentsResultTextBox.ReadOnly = true; doctorExaminationViewCommentsResultTextBox.Enabled = false; //doctorExaminationViewExamTypeComboBox.SelectedIndex = -1; if (id_exam != 0) { var result = DoctorFacade.GetPhysicalExamination(id_exam); doctorExaminationViewExamTypeComboBox.Items.Add(result[0]); doctorExaminationViewExamTypeComboBox.SelectedIndex = 0; doctorExaminationViewExamNameTextBox.Text = result[1]; doctorExaminationViewCommentsResultTextBox.Text = result[2]; } } break; } }
public async Task <ActionResult> GetPatientsForDoctor() { var username = Request.QueryString["Username"]; var doctor = await DoctorFacade.GetDoctorByUsernameAsync(username); var patients = await DoctorFacade.GetPatientsForDoctorAsync(doctor.Id); return(View(patients)); }
private static DoctorFacade CreateDoctorFacade(Mock <QueryObjectBase <DoctorDto, Doctor, DoctorFilterDto, IQuery <Doctor> > > doctorQueryMock, Mock <IRepository <Doctor> > doctorRepository) { var uowMock = FacadeMockManager.ConfigureUowMock(); var mapperMock = FacadeMockManager.ConfigureRealMapper(); var doctorService = new DoctorService(mapperMock, doctorRepository.Object, doctorQueryMock.Object); var doctorFacade = new DoctorFacade(uowMock.Object, doctorService); return(doctorFacade); }
public async Task <ActionResult> UnmatchDoctorAndPatient(string identificationNumber) { var patientDto = await PatientFacade.GetPatientByIdentificationNumberAsync(identificationNumber); var doctorDto = await DoctorFacade.GetDoctorByUsernameAsync(HttpContext.User.Identity.Name); var rowId = await DoctorToPatientFacade.FindJoiningRelationshipId(doctorDto.Id, patientDto.Id); await DoctorToPatientFacade.Delete(rowId); return(RedirectToAction("GetPatientsForDoctor", "Doctor", new { Username = HttpContext.User.Identity.Name })); }
public async Task <ActionResult> Update() { var doctorData = await DoctorFacade.GetDoctorByUsernameAsync(HttpContext.User.Identity.Name); DoctorUpdateModel doctorUpdateModel = new DoctorUpdateModel { Name = doctorData.Name, Surname = doctorData.Surname }; return(View(doctorUpdateModel)); }
private void RefreshExamGrid() { doctorVisitViewCurrExamDataGrid.DataSource = DoctorFacade.GetExaminationsByVisit(this.idVisit); doctorVisitViewCurrExamDataGrid.Columns[0].HeaderText = "Code"; doctorVisitViewCurrExamDataGrid.Columns[1].HeaderText = "Type"; doctorVisitViewCurrExamDataGrid.Columns[2].HeaderText = "Ordered"; doctorVisitViewCurrExamDataGrid.Columns[3].HeaderText = "State"; doctorVisitViewCurrExamDataGrid.Columns[4].HeaderText = "Executed"; doctorVisitViewCurrExamDataGrid.Columns[5].HeaderText = "Approved"; doctorVisitViewCurrExamDataGrid.Columns[6].HeaderText = "Result"; doctorVisitViewCurrExamDataGrid.Columns[7].Visible = false; doctorVisitViewCurrExamDataGrid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; }
public async Task <ActionResult> Index() { List <DoctorInfoModel> modelDocs = new List <DoctorInfoModel>(); var allDoctors = await DoctorFacade.GetAllDoctorsAsync(); foreach (var doc in allDoctors.Items) { modelDocs.Add(new DoctorInfoModel { Username = doc.Username, Name = doc.Name, Surname = doc.Surname, Specialization = doc.Specialization.ToString() }); } return(View(modelDocs)); }
private void doctorExaminationViewExamTypeComboBox_SelectedIndexChanged(object sender, System.EventArgs e) { if (doctorExaminationViewExamTypeComboBox.SelectedIndex != -1) { if (doctorExaminationViewExamTypeComboBox.SelectedValue != null) { doctorExaminationViewExamNameTextBox.Text = DoctorFacade.GetNameForExam(doctorExaminationViewExamTypeComboBox.SelectedValue.ToString()); } } else { doctorExaminationViewExamNameTextBox.Text = ""; } }
private void doctorVisitViewLoadVisitHistButton_Click(object sender, EventArgs e) { this.doctorVisitViewVisitListDataGrid.DataSource = DoctorFacade.GetVisitsByPatient(patient.id_patient, idVisit); doctorVisitViewVisitListDataGrid.Columns[0].HeaderText = "Registered"; doctorVisitViewVisitListDataGrid.Columns[1].HeaderText = "Executed/canceled"; doctorVisitViewVisitListDataGrid.Columns[2].HeaderText = "State"; doctorVisitViewVisitListDataGrid.Columns[3].HeaderText = "Doctor's first name"; doctorVisitViewVisitListDataGrid.Columns[4].HeaderText = "Doctor's last name"; doctorVisitViewVisitListDataGrid.Columns[5].Visible = false; doctorVisitViewVisitListDataGrid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; //force select first row if (doctorVisitViewVisitListDataGrid.Rows.Count >= 1) { doctorVisitViewVisitListDataGrid.CurrentCell = doctorVisitViewVisitListDataGrid.Rows[0].Cells[0]; } }
public async Task <ActionResult> Login(LoginModel model, string returnUrl) { (bool success1, AccessRights roles1) = await PatientFacade.Login(model.Username, model.Password); (bool success2, AccessRights roles2) = await DoctorFacade.Login(model.Username, model.Password); if (success1) { return(CreateCookie(model, returnUrl, roles1)); } else if (success2) { return(CreateCookie(model, returnUrl, roles2)); } ModelState.AddModelError("", "Wrong username or password!"); return(View()); }
private void doctorVisitViewLoadExamHistButton_Click(object sender, EventArgs e) { this.doctorVisitViewExaminationListDataGrid.DataSource = DoctorFacade.GetExamHist(patient.id_patient, idVisit); doctorVisitViewExaminationListDataGrid.Columns[0].HeaderText = "Code"; doctorVisitViewExaminationListDataGrid.Columns[1].HeaderText = "Type"; doctorVisitViewExaminationListDataGrid.Columns[2].HeaderText = "Ordered"; doctorVisitViewExaminationListDataGrid.Columns[3].HeaderText = "State"; doctorVisitViewExaminationListDataGrid.Columns[4].HeaderText = "Executed"; doctorVisitViewExaminationListDataGrid.Columns[5].HeaderText = "Approved"; doctorVisitViewExaminationListDataGrid.Columns[6].HeaderText = "Result"; doctorVisitViewExaminationListDataGrid.Columns[7].Visible = false; doctorVisitViewExaminationListDataGrid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; //force select first row if (doctorVisitViewExaminationListDataGrid.Rows.Count >= 1) { doctorVisitViewExaminationListDataGrid.CurrentCell = doctorVisitViewExaminationListDataGrid.Rows[0].Cells[0]; } }
public async Task <ActionResult> AddClickedPatient() { var username = Request.QueryString["Username"]; var foundPatient = await PatientFacade.GetPatientByUsernameAsync(username); var loggedDoctor = await DoctorFacade.GetDoctorByUsernameAsync(HttpContext.User.Identity.Name); var relationshipGuid = await DoctorToPatientFacade.FindJoiningRelationshipId(loggedDoctor.Id, foundPatient.Id); if (relationshipGuid == Guid.Empty) { var doctorToPatientDto = new DoctorToPatientDto { DoctorDto = loggedDoctor, PatientDto = foundPatient }; await DoctorToPatientFacade.Create(doctorToPatientDto); } return(RedirectToAction("GetPatientsForDoctor", "Doctor", new { Username = loggedDoctor.Username })); }
private void refreshGrid() { if (doctor == false) { Patient patientSearchCriteria; patientSearchCriteria = new Patient(); patientSearchCriteria.fname = fnameTextbox.Text.ToString(); patientSearchCriteria.lname = lnameTextbox.Text.ToString(); dataGridView1.DataSource = RegistrationFacade.GetPatientsWithAdresses(patientSearchCriteria); } else { User search = new User(); search.fname = fnameTextbox.Text.ToString(); search.lname = lnameTextbox.Text.ToString(); dataGridView1.DataSource = DoctorFacade.GetDoctors(search); } }
private void doctorExaminationViewSubmitButton_Click(object sender, EventArgs e) { DateTime time = DateTime.Now; if (doctorExaminationViewExamTypeComboBox.SelectedIndex != -1) { Physical_examination phyExam = new Physical_examination(); phyExam.result = doctorExaminationViewCommentsResultTextBox.Text; phyExam.id_visit = id_visit; phyExam.code = doctorExaminationViewExamTypeComboBox.SelectedValue.ToString(); phyExam.execution_datetime = time; DoctorFacade.AddPhyExam(phyExam); this.Close(); } else { MessageBox.Show("No selected examination type", "Error"); } }
private void doctorExaminationViewOrderButton_Click(object sender, EventArgs e) { DateTime time = DateTime.Now; if (doctorExaminationViewExamTypeComboBox.SelectedIndex != -1) { Laboratory_examination labExam = new Laboratory_examination(); labExam.doctor_comments = doctorExaminationViewCommentsResultTextBox.Text; labExam.state = "ORD"; labExam.id_visit = id_visit; labExam.order_date = time; labExam.code = doctorExaminationViewExamTypeComboBox.SelectedValue.ToString(); DoctorFacade.AddLabExam(labExam); this.Close(); } else { MessageBox.Show("No selected examination type", "Error"); } }
private void doctorFinishVisitButton_Click(object sender, EventArgs e) { DateTime time = DateTime.Now; Visit visit = new Visit(); visit.id_visit = this.idVisit; //sprawdzic czy nie maja czegos zlego wpisanego if (doctorVisitPatientDescriptionTextBox.Text != "Description") { visit.description = doctorVisitPatientDescriptionTextBox.Text; } if (doctorVisitPatientDiagnosisTextBox.Text != "Diagnosis") { visit.diagnosis = doctorVisitPatientDiagnosisTextBox.Text; } visit.state = "DONE"; visit.execution_cancel_datetime = time; DoctorFacade.FinishVisit(visit); this.Close(); //validate data }
private void doctorSelectVisitbutton_Click(object sender, EventArgs e) { if (dataGridView1.RowCount == 0 || dataGridView1.SelectedCells.Count == 0) { //MessageBox.Show("No visit selected", "Error"); MessageBox.Show("No visit selected !", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (dataGridView1.SelectedRows.Count > 1) { //MessageBox.Show("Selected too many visits, please select just one", "Error"); MessageBox.Show("Selected too many visits ! \nPlease select just one...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { int visitIndex = dataGridView1.CurrentRow.Index; int idVisit = Int32.Parse(dataGridView1.Rows[visitIndex].Cells[5].Value.ToString()); Patient patient = DoctorFacade.GetPatientByVisit(idVisit); //tu musimy wyciagnac wszstko z wizyty DoctorVisitViewForm doctorViewVisit = new DoctorVisitViewForm(patient, idVisit); doctorViewVisit.ShowDialog(this); Visit visit = new Visit(); visit.id_patient = idPatient; if (this.doctorVisitStateComboBox.SelectedItem != null) { visit.state = this.doctorVisitStateComboBox.SelectedItem.ToString(); } if (doctorDateTimePickerExecDate.Checked == true) { visit.registration_date = doctorDateTimePickerExecDate.Value; } else { DateTime loadedDate = DateTime.ParseExact("01.01.1754 00:00:00", "dd.MM.yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); visit.registration_date = loadedDate; } this.dataGridView1.DataSource = DoctorFacade.GetPatientsWithAdresses(idDoctor, idPatient, visit); } }
private void doctorCancelVisitButton_Click(object sender, EventArgs e) { if (MessageBox.Show("Are you sure ?", "Cancel the visit...", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { DateTime time = DateTime.Now; Visit visit = new Visit(); visit.id_visit = this.idVisit; if (doctorVisitPatientDescriptionTextBox.Text != "Description") { visit.description = doctorVisitPatientDescriptionTextBox.Text; } if (doctorVisitPatientDiagnosisTextBox.Text != "Diagnosis") { visit.diagnosis = doctorVisitPatientDiagnosisTextBox.Text; } visit.state = "CANC"; visit.execution_cancel_datetime = time; DoctorFacade.FinishVisit(visit); this.Close(); } ; }
private void Initialize(int idDoctor) { this.idDoctor = idDoctor; doctorDateTimePickerExecDate.Checked = true; //doctorVisitStateComboBox.SelectedIndex = doctorVisitStateComboBox.FindStringExact("REG"); int index = doctorVisitStateComboBox.Items.IndexOf("REG"); doctorVisitStateComboBox.SelectedItem = doctorVisitStateComboBox.Items[index]; this.doctorPatientNameTextBox.Text = "All patients"; Visit visit = new Visit(); visit.registration_date = doctorDateTimePickerExecDate.Value; visit.state = doctorVisitStateComboBox.SelectedItem.ToString(); visit.id_doctor = idDoctor; this.dataGridView1.DataSource = DoctorFacade.GetPatientsWithAdresses(idDoctor, idPatient, visit); //this.dataGridView1.DataSource = DoctorFacade.GetVisitsFromToday(idDoctor, doctorDateTimePickerExecDate.Value); this.dataGridView1.Columns[0].HeaderText = "Patient's first name"; this.dataGridView1.Columns[1].HeaderText = "Patient's last name"; this.dataGridView1.Columns[3].HeaderText = "State of visit"; this.dataGridView1.Columns[4].HeaderText = "Registration date"; this.dataGridView1.Columns[5].Visible = false; this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; }
private void doctorSearchButton_Click(object sender, EventArgs e) { //Patient patientSearchCriteria = new Patient(); Visit visit = new Visit(); visit.id_patient = idPatient; if (this.doctorVisitStateComboBox.SelectedItem != null) { visit.state = this.doctorVisitStateComboBox.SelectedItem.ToString(); } if (doctorDateTimePickerExecDate.Checked == true) { visit.registration_date = doctorDateTimePickerExecDate.Value; } else { //na razie nic lepszego do glowy mi nie przychodzi, chyba ze druga funkcja w doctorFacade // MW DateTime loadedDate = DateTime.ParseExact("01.01.1754 00:00:00", "dd.MM.yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); visit.registration_date = loadedDate; } this.dataGridView1.DataSource = DoctorFacade.GetPatientsWithAdresses(idDoctor, idPatient, visit); this.dataGridView1.Columns[0].HeaderText = "Patient's first name"; this.dataGridView1.Columns[1].HeaderText = "Patient's last name"; this.dataGridView1.Columns[3].HeaderText = "State of visit"; this.dataGridView1.Columns[4].HeaderText = "Registration date"; this.dataGridView1.Columns[5].Visible = false; this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; //force select first row if (dataGridView1.Rows.Count >= 1) { dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[0]; } }
private void loginButton_Click(object sender, EventArgs e) { //data from BizzLayer //User userSearchCriteria = new User(); //userSearchCriteria.user_name = loginTextBox.Text; //IQueryable<User> resultRecords = UserFacade.GetUser(userSearchCriteria); User user = CommonFacade.GetUserByUsername(loginTextBox.Text); //próba dobicia sie do stringa z haslem if (user != null) { string passwordLogin = CryptoService.MD5Hash(passwordTextBox.Text); //var passwordSQL = resultRecords.FirstOrDefault().password; if (object.Equals(user.password, passwordLogin)) { if (user.retire_date == null || user.retire_date.Value < DateTime.Now.Date) { if (user.roles == "DOC") { int idDoctor = DoctorFacade.GetDoctorIdByUsername(user.user_name); doctor = new Doctor(idDoctor); doctor.ShowDialog(); } else if (user.roles == "REG") { registrarForm = new RegistrarMainForm(loginTextBox.Text); registrarForm.ShowDialog(this); } else if (user.roles == "LABM") { laboratory_mw = new Laboratory_MW(user.roles, loginTextBox.Text); laboratory_mw.ShowDialog(this); } else if (user.roles == "LABW") { laboratory_mw = new Laboratory_MW(user.roles, loginTextBox.Text); laboratory_mw.ShowDialog(this); } else if (user.roles == "ADM") { adminForm = new Admin(); adminForm.ShowDialog(this); } } else { //MessageBox.Show("Can't access account because of retire date. Contact administrator"); MessageBox.Show("Can't access account because of retire date. Contact administrator", "Contact administrator ...", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { //MessageBox.Show("Wrong login or password"); MessageBox.Show("Wrong login or password ! \nPlease check CapsLock and try again or contact administrator", "Wrong login or password", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { //MessageBox.Show("Wrong login"); MessageBox.Show("Wrong login or password", "Wrong login or password", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void btnShowVisists_Click(object sender, EventArgs e) { dataGridViewVisits.DataSource = DoctorFacade.GetVisits(null); }