public void ChangeAttendanceList(VisitDTO visit, string[] selectedStudents)
        {
            var newVisit = MakeVisit(visit, selectedStudents);

            Uow.Visits.Update(newVisit);
            Uow.Save();
        }
        private Visit MakeVisit(VisitDTO visit, string[] selectedStudents)
        {
            var subject = ValidateSubject(visit.Subject_Techer_Id);

            if (selectedStudents == null)
            {
                throw new ValidationException("Students list is empty or not exists", "");
            }

            Visit visitEntity = new Visit
            {
                Date              = DateTime.Now,
                LessonType        = visit.LessonType,
                PairNumber        = visit.PairNumber,
                Subject_Techer_Id = visit.Subject_Techer_Id
            };

            visitEntity.Students.Clear();
            foreach (var item in selectedStudents)
            {
                Student s = Uow.Students.GetByKey(item);
                visitEntity.Students.Add(s);
            }

            return(visitEntity);
        }
        public void MakeAttendanceList(VisitDTO visit, string[] selectedStudents)
        {
            var newVisit = MakeVisit(visit, selectedStudents);

            Uow.Visits.Insert(newVisit);
            Uow.Save();
        }
Beispiel #4
0
        public async Task <IActionResult> Post([FromBody] VisitDTO visit)
        {
            var visitDomain = _mapper.Map <Visit>(visit);

            this._service.AppendToQueue(visitDomain);
            return(StatusCode(201));
        }
 /// <summary>
 /// The event handler method for PatientsDatatGrid CellContentClick
 /// </summary>
 private void VisitsDatatGrid_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     visit = (VisitDTO)visitsDataGridView.Rows[e.RowIndex].DataBoundItem;
     if (visitsDataGridView.Columns[e.ColumnIndex].Name == "ViewTests")
     {
         this.testsDataGrid.DataSource = null;
         visitTests = labOrdersTestController.GetVisitTests(Convert.ToInt32(visit.ID));
         if (visitTests.Count <= 0)
         {
             MessageBox.Show($"No test found in the system for visit {visit.ID}.", "Not Found", MessageBoxButtons.OK, MessageBoxIcon.Information);
             this.testsDataGrid.Visible    = false;
             this.testsDataGrid.DataSource = null;
         }
         else
         {
             this.testsDataGrid.Visible    = true;
             this.testsDataGrid.DataSource = visitTests;
         }
     }
     else if (visitsDataGridView.Columns[e.ColumnIndex].Name == "OrderTest")
     {
         this.testsDataGrid.Visible    = false;
         this.testsDataGrid.DataSource = null;
         using (Form orderTestDialog = new OrderTestDialog(visit))
         {
             DialogResult result = orderTestDialog.ShowDialog();
             if (result == DialogResult.OK || result == DialogResult.Cancel)
             {
                 visits = visitController.GetVisitsByPatientId(patient.PatientId);
                 this.visitsDataGridView.DataSource = visits;
             }
         }
     }
 }
Beispiel #6
0
        public EditVisitViewModel(
            IRepository <Client> clientRepository,
            IRepository <Sex> sexRepository,
            IRepository <Doctor> doctorRepository,
            IRepository <VisitType> visitTypeRepository,
            IMapper mapper,
            VisitDTO visit)
        {
            Visit                       = visit;
            SexColl                     = mapper.Map <List <SexDTO> >(sexRepository.Get());
            DoctorsColl                 = mapper.Map <List <DoctorDTO> >(doctorRepository.Get());
            ClientsColl                 = mapper.Map <List <ClientDTO> >(clientRepository.Get());
            VisitTypesColl              = mapper.Map <List <VisitTypeDTO> >(visitTypeRepository.Get());
            FindClient.PropertyChanged += FindClientOnPropertyChanged;
            ClientsView                 = (CollectionView)CollectionViewSource.GetDefaultView(ClientsColl);
            ClientsView.Filter          = OnFilterClients;
            if (Visit.ClientId == Guid.Empty)
            {
                Visit.ClientId = ClientsColl?.FirstOrDefault()?.Id ?? Guid.NewGuid();
            }

            CloseWindow = new DelegateCommand(() =>
            {
                Visit.VisitType  = VisitTypesColl.FirstOrDefault(x => x.Id == Visit.VisitId)?.VisitName;
                var client       = ClientsColl.FirstOrDefault(x => x.Id == Visit.ClientId);
                Visit.ClientName = string.Join(" ", client?.Surname, client?.Name, client?.MiddleName);
                var doctor       = DoctorsColl.FirstOrDefault(x => x.Id == Visit.DoctorId);
                Visit.DoctorName = string.Join(" ", doctor?.Surname, doctor?.Name, doctor?.MiddleName);
                DialogHost.CloseDialogCommand.Execute(true, null);
            });
        }
Beispiel #7
0
 public void PopulateDataGrid(VisitDTO visitDTO)
 {
     this.visitDTO = visitDTO;
     this.labOrderTestGrid.DataSource = null;
     visitTests = labOrdersTestController.GetVisitTests(Convert.ToInt32(visitDTO.ID));
     this.labOrderTestGrid.DataSource = visitTests;
 }
 /// <see cref="NurseDAL.IsThisNurseTheNurseOfTheVisit(UserDTO, VisitDTO)"/>
 public bool IsThisNurseTheNurseOfTheVisit(UserDTO currentUser, VisitDTO visit)
 {
     if (currentUser == null || visit == null || visit.ID == null)
     {
         throw new ArgumentNullException("currentUser, visit, and visitID cannot be null");
     }
     return(NurseDAL.IsThisNurseTheNurseOfTheVisit(currentUser, visit));
 }
Beispiel #9
0
        public async Task <VisitDTO> CreateVisit(VisitDTO visitDTO)
        {
            var visit  = _mapper.Map <Visit>(visitDTO);
            var result = _unitOfWork.VisitRepository.Insert(visit);
            await _unitOfWork.SaveAsync();

            return(_mapper.Map <VisitDTO>(result));
        }
Beispiel #10
0
 public ViewLabOrderUserControl()
 {
     InitializeComponent();
     labOrdersTestController = new Lab_Orders_have_Lab_TestsController();
     visitTests = new List <LabOrderTestDTO>();
     selectedLabOrderTestDTO = new LabOrderTestDTO();
     visitDTO = new VisitDTO();
 }
Beispiel #11
0
        public Task UpdateVisitAsync(VisitDTO visitDTO)
        {
            if (visitDTO == null)
            {
                throw new ArgumentNullException(nameof(visitDTO), "Visit is null");
            }
            var visit = _mapper.Map <Visit>(visitDTO);

            _visitRepository.UpdateVisit(visit);
            return(_visitRepository.SaveAsync());
        }
Beispiel #12
0
        public async Task CreateVisitAsync(VisitDTO visitDTO)
        {
            if (visitDTO == null)
            {
                throw new ArgumentNullException(nameof(visitDTO), "Visit is null");
            }

            var visit = _mapper.Map <Visit>(visitDTO);
            await _visitRepository.CreateVisitAsync(visit);

            await _visitRepository.SaveAsync();
        }
Beispiel #13
0
        private VisitDTO MapToDTO(VisitItem visitFrom)
        {
            VisitDTO visit = new VisitDTO()
            {
                Id       = visitFrom.Id,
                UserId   = visitFrom.UserId,
                CheckIn  = visitFrom.CheckIn,
                CheckOut = visitFrom.CheckOut
            };

            return(visit);
        }
        public async Task <ActionResult> CreateVisit([FromBody] VisitDTO visitDTO)
        {
            try
            {
                visitDTO.UserId = _userService.FindUserByEmail(User.Identity.Name).Id;
                await _visitService.AddVisit(visitDTO);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(StatusCode(500, $"Internal server error: {ex}"));
            }
        }
Beispiel #15
0
        public async Task <VisitDTO> CreateVisit(VisitDTO visitDTO)
        {
            var visit = VisitDTOHelper.DTOToEntity(visitDTO);

            _unitOfWork.VisitsRepository.Add(visit);
            _unitOfWork.Save();

            visit.Doctor = await _unitOfWork.UsersManager.FindByIdAsync(visit.DoctorId);

            visit.Patient = _unitOfWork.ChildrenCardsRepository.Get(p => p.Id == visit.PatientId)
                            .FirstOrDefault();

            return(VisitDTOHelper.EntityToDTO(visit));
        }
Beispiel #16
0
        public IActionResult GetCurrent(string userName)
        {
            IActionResult result = Unauthorized();

            try
            {
                VisitItem visit = _db.GetCurrentVisit(userName);
                VisitDTO  dTo   = MapToDTO(visit);
                result = Ok(dTo);
            }
            catch (Exception)
            {
                result = BadRequest(new { Message = "Failed to get current visit" });
            }
            return(result);
        }
Beispiel #17
0
        public IActionResult Get(int id)
        {
            // Assume the user is not authorized
            IActionResult result = Unauthorized();

            try
            {
                VisitItem visit = _db.GetVisit(id);
                VisitDTO  dTO   = MapToDTO(visit);
                result = Ok(dTO);
            }
            catch (Exception)
            {
                result = BadRequest(new { Message = "Get visit failed." });
            }

            return(result);
        }
Beispiel #18
0
        public async Task <VisitDTO> UpdateVisit(int id, VisitDTO visitDTO)
        {
            var visit = await _unitOfWork.VisitRepository.GetByIdAsync(id);

            if (visit == null)
            {
                throw new EntityNotFoundException(nameof(visit), id);
            }

            visit.Date      = visitDTO.Date;
            visit.DoctorId  = visitDTO.DoctorId;
            visit.PatientId = visitDTO.PatientId;
            visit.Diagnosis = visitDTO.Diagnosis;
            visit.Note      = visitDTO.Note;

            var result = _unitOfWork.VisitRepository.Update(visit);
            await _unitOfWork.SaveAsync();

            return(_mapper.Map <VisitDTO>(result));
        }
Beispiel #19
0
        public VisitDTOTests()
        {
            visit = new Visit
            {
                IPAddress = "192.168.0.2",
                Referrer  = new Referrer {
                    Domain = "twitter.com", Url = "http://twitter.com/manzurrashid"
                },
                Alias = new Alias
                {
                    Name      = "shrnkr",
                    IPAddress = "192.168.0.1",
                    ShortUrl  = new ShortUrl
                    {
                        Url   = "http://shrinkr.com",
                        Title = "Kool Url Shrinking Service"
                    }
                }
            };

            dto = new VisitDTO(visit);
        }
Beispiel #20
0
        /// <summary>
        /// Converts this instance of <see cref="Visit"/> to an instance of <see cref="VisitDTO"/>.
        /// </summary>
        /// <param name="entity"><see cref="Visit"/> to convert.</param>
        public static VisitDTO ToDTO(this Visit entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var dto = new VisitDTO();

            dto.ID = entity.ID;
            dto.ScheduledCheckInTime  = entity.ScheduledCheckInTime;
            dto.ScheduledCheckOutTime = entity.ScheduledCheckOutTime;
            dto.ActualCheckInTime     = entity.ActualCheckInTime;
            dto.ActualCheckOutTime    = entity.ActualCheckOutTime;
            dto.CreatedByUserID       = entity.CreatedByUserID;
            dto.CreatedDate           = entity.CreatedDate;
            dto.ModifiedByUserID      = entity.ModifiedByUserID;
            dto.ModifiedDate          = entity.ModifiedDate;
            entity.OnDTO(dto);

            return(dto);
        }
Beispiel #21
0
        /// <summary>
        /// Converts this instance of <see cref="VisitDTO"/> to an instance of <see cref="Visit"/>.
        /// </summary>
        /// <param name="dto"><see cref="VisitDTO"/> to convert.</param>
        public static Visit ToEntity(this VisitDTO dto)
        {
            if (dto == null)
            {
                return(null);
            }

            var entity = new Visit();

            entity.ID = dto.ID;
            entity.ScheduledCheckInTime  = dto.ScheduledCheckInTime;
            entity.ScheduledCheckOutTime = dto.ScheduledCheckOutTime;
            entity.ActualCheckInTime     = dto.ActualCheckInTime;
            entity.ActualCheckOutTime    = dto.ActualCheckOutTime;
            entity.CreatedByUserID       = dto.CreatedByUserID;
            entity.CreatedDate           = dto.CreatedDate;
            entity.ModifiedByUserID      = dto.ModifiedByUserID;
            entity.ModifiedDate          = dto.ModifiedDate;
            dto.OnEntity(entity);

            return(entity);
        }
Beispiel #22
0
        /// <summary>
        /// Returns whether or not the Nurse is the nurse of this Visit.
        ///
        /// Intended for use to check if the currentUser is the Nurse of the Visit
        /// </summary>
        /// <param name="currentUser">Nurse in question</param>
        /// <param name="visit">Visit in question</param>
        /// <returns>Whether or not this is the Nurse of the Visit</returns>
        public static bool IsThisNurseTheNurseOfTheVisit(UserDTO currentUser, VisitDTO visit)
        {
            bool   isThisTheNurse  = false;
            String selectStatement = @"SELECT Visit.nurseID as nurseID FROM Visit WHERE Visit.id = @visitID";

            using (SqlConnection connection = GetSQLConnection.GetConnection())
            {
                using (SqlCommand command = new SqlCommand(selectStatement, connection))
                {
                    connection.Open();
                    command.Parameters.AddWithValue("@visitID", visit.ID);
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        int nurseID = reader.GetOrdinal("nurseID");
                        while (reader.Read())
                        {
                            int vsitNurseID = reader.GetInt32(nurseID);
                            isThisTheNurse = currentUser.NurseId == vsitNurseID;
                        }
                    }
                }
            }
            return(isThisTheNurse);
        }
Beispiel #23
0
        public static Visit DTOToEntity(VisitDTO visitDTO)
        {
            var mapper = mapperConfiguration.CreateMapper();

            return(mapper.Map <Visit>(visitDTO));
        }
Beispiel #24
0
 public ViewLabOrderDialog(VisitDTO visitDTO)
 {
     InitializeComponent();
     this.viewLabOrderUserControl.PopulateDataGrid(visitDTO);
 }
Beispiel #25
0
        /// <summary>
        /// Gets a Visit by its Appointment
        /// </summary>
        /// <returns>The Visit</returns>
        public static List <VisitDTO> GetVisitByAppointment(Appointment appointment)
        {
            List <VisitDTO> visits          = new List <VisitDTO>();
            String          selectStatement = @"SELECT CAST( Visit.id as INT)  as visitID,   CAST(appointmentID AS INT) appointmentID, 
										d.firstName +' ' + d.lastName AS doctor,
										n.firstName +' ' + n.lastName AS nurse , 
										visitDateTime, initialDiagnosis, weight, systolicPressure, diastolicPressure, 
	                                    bodyTemperature, pulse, symptoms, finalDiagnosis
                                    FROM Visit
									join Appointment on VISIT.appointmentID = Appointment.id
									join Doctor on Appointment.doctorID = Doctor.id
									JOIN PERSON d ON Doctor.personID = d.ID
                                    JOIN NURSE ON VISIT.nurseID = NURSE.id
								    JOIN PERSON n ON NURSE.personID = n.ID
                                    WHERE appointmentID = @appointmentID";

            using (SqlConnection connection = GetSQLConnection.GetConnection())
            {
                using (SqlCommand command = new SqlCommand(selectStatement, connection))
                {
                    connection.Open();
                    command.Parameters.AddWithValue("@appointmentID", appointment.ID);
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        int ordVisitID           = reader.GetOrdinal("visitID");
                        int ordApptID            = reader.GetOrdinal("appointmentID");
                        int ordDoctor            = reader.GetOrdinal("doctor");
                        int ordNurse             = reader.GetOrdinal("nurse");
                        int ordVisitDateTime     = reader.GetOrdinal("visitDateTime");
                        int ordInitialDiagnosis  = reader.GetOrdinal("initialDiagnosis");
                        int ordWeight            = reader.GetOrdinal("weight");
                        int ordSystolicPressure  = reader.GetOrdinal("systolicPressure");
                        int ordDiastolicPressure = reader.GetOrdinal("diastolicPressure");
                        int ordBodyTemperature   = reader.GetOrdinal("bodyTemperature");
                        int ordPulse             = reader.GetOrdinal("pulse");
                        int ordSymptoms          = reader.GetOrdinal("symptoms");
                        int ordFinalDiagnosis    = reader.GetOrdinal("finalDiagnosis");
                        while (reader.Read())
                        {
                            string symptoms = null;
                            if (!reader.IsDBNull(ordSymptoms))
                            {
                                symptoms = reader.GetString(ordSymptoms);
                            }
                            string final = null;
                            if (!reader.IsDBNull(ordFinalDiagnosis))
                            {
                                final = reader.GetString(ordFinalDiagnosis);
                            }
                            VisitDTO visitDTO = new VisitDTO
                            {
                                ID                = reader.GetInt32(ordVisitID),
                                AppointmentID     = reader.GetInt32(ordApptID),
                                Doctor            = reader.GetString(ordDoctor),
                                Nurse             = reader.GetString(ordNurse),
                                VisitDateTime     = reader.GetDateTime(ordVisitDateTime),
                                InitialDiagnosis  = reader.GetString(ordInitialDiagnosis),
                                Weight            = reader.GetDecimal(ordWeight),
                                SystolicPressure  = reader.GetInt32(ordSystolicPressure),
                                DiastolicPressure = reader.GetInt32(ordDiastolicPressure),
                                BodyTemperature   = reader.GetDecimal(ordBodyTemperature),
                                Pulse             = reader.GetInt32(ordPulse),
                                Symptoms          = symptoms,
                                FinalDiagnosis    = final
                            };

                            visits.Add(visitDTO);
                        }
                    }
                }
            }
            return(visits);
        }
Beispiel #26
0
 public void PopulateTextBoxes(VisitDTO visitDTO)
 {
     this.visitDTO = visitDTO;
     populateUserControlOnLoad();
 }
Beispiel #27
0
 /// <summary>
 /// Invoked when <see cref="ToEntity"/> operation is about to return.
 /// </summary>
 /// <param name="entity"><see cref="Visit"/> converted from <see cref="VisitDTO"/>.</param>
 static partial void OnEntity(this VisitDTO dto, Visit entity);
Beispiel #28
0
        public static List <VisitDTO> GetPatientsVisits(int patientId)
        {
            List <VisitDTO> visits          = new List <VisitDTO>();
            string          selectStatement = @"SELECT a.reasonForVisit, a.appointmentDateTime, a.id as appointmentID,
										CONCAT(d.firstName, ' ', d.lastName) as doctor,
                                        CONCAT(p.firstName, ' ', p.lastName) as nurse,
                                        v.bodyTemperature, v.diastolicPressure, v.id as visitID,
                                        v.initialDiagnosis, v.pulse, v.symptoms, 
                                        v.systolicPressure, v.visitDateTime, v.weight, v.finalDiagnosis
                                        FROM Appointment a
                                        inner JOIN Visit v on a.id = v.appointmentID
										join Doctor on a.doctorID = Doctor.id
										JOIN PERSON d ON Doctor.personID = d.ID
                                        INNER JOIN NURSE n ON v.nurseID = n.id
                                        INNER JOIN PERSON p ON n.personID = p.ID
                                        where a.patientID = @PatientId";

            using (SqlConnection connection = GetSQLConnection.GetConnection())
            {
                using (SqlCommand command = new SqlCommand(selectStatement, connection))
                {
                    connection.Open();
                    command.Parameters.AddWithValue("@PatientId", patientId);
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            VisitDTO visitDTO = new VisitDTO();
                            visitDTO.AppointmentID       = (long)reader["appointmentID"];
                            visitDTO.AppointmentDateTime = (DateTime)reader["appointmentDateTime"];
                            visitDTO.BodyTemperature     = (decimal)reader["bodyTemperature"];
                            visitDTO.DiastolicPressure   = (int)reader["diastolicPressure"];
                            string final = null;
                            if (!reader.IsDBNull(reader.GetOrdinal("finalDiagnosis")))
                            {
                                final = reader.GetString(reader.GetOrdinal("finalDiagnosis"));
                            }
                            visitDTO.FinalDiagnosis   = final;
                            visitDTO.ID               = (long)reader["visitID"];
                            visitDTO.InitialDiagnosis = reader["initialDiagnosis"].ToString();
                            visitDTO.Doctor           = reader["doctor"].ToString();
                            visitDTO.Nurse            = reader["nurse"].ToString();
                            visitDTO.Pulse            = (int)reader["pulse"];
                            String symptoms = null;
                            if (!reader.IsDBNull(reader.GetOrdinal("symptoms")))
                            {
                                symptoms = reader.GetString(reader.GetOrdinal("symptoms"));
                            }
                            visitDTO.Symptoms = symptoms;

                            visitDTO.SystolicPressure = (int)reader["systolicPressure"];
                            visitDTO.VisitDateTime    = (DateTime)reader["visitDateTime"];
                            visitDTO.VisitReason      = reader["reasonForVisit"].ToString();
                            visitDTO.Weight           = (decimal)reader["weight"];
                            visits.Add(visitDTO);
                        }
                    }
                }
            }
            return(visits);
        }
Beispiel #29
0
 public async Task AddVisit(VisitDTO visitDTO)
 {
     _dbOperation.Visits.Create(
         _mapper.Map <Visit>(visitDTO));
     await _dbOperation.SaveAsync();
 }
Beispiel #30
0
 /// <summary>
 /// Invoked when <see cref="ToDTO"/> operation is about to return.
 /// </summary>
 /// <param name="dto"><see cref="VisitDTO"/> converted from <see cref="Visit"/>.</param>
 static partial void OnDTO(this Visit entity, VisitDTO dto);