Exemplo n.º 1
0
        /// <summary>
        /// Filters consultations by name and number and sets the datagrdview source
        /// </summary>
        /// <param name="name"></param>
        /// <param name="number"></param>
        public void LoadConsultationsByCriterias(DateTime?dateTimeFrom, DateTime?dateTimeTo, int patientId)
        {
            try
            {
                IQueryable <Consultation> consultationsQuery;
                consultationsQuery = ConsultationDataAccess.GetConsultations();
                if (dateTimeFrom.HasValue)
                {
                    DateTime dateTimeFromValue = dateTimeFrom.Value;
                    consultationsQuery = consultationsQuery.Where(p => p.ScheduleDate.Value > dateTimeFromValue);
                }

                if (dateTimeTo.HasValue)
                {
                    DateTime dateTimeToValue = dateTimeTo.Value;
                    consultationsQuery = consultationsQuery.Where(p => p.ScheduleDate.Value < dateTimeToValue);
                }

                if (patientId != 0)
                {
                    consultationsQuery = consultationsQuery.Where(c => c.PatientId == patientId);
                }

                this.Consultations = consultationsQuery.ToList();
            }
            catch (Exception e)
            {
                this.Message = string.Format("Ошибка при запросе базы данных!Вызовите администратора!\n {0}", e.Message);
            }
        }
        private void buttonDelete1_Click(object sender, RoutedEventArgs e)
        {
            var selectedConsultation = this.GetSelectedConsultation();

            if (selectedConsultation == null)
            {
                return;
            }

            if (MessageBox.Show("Вы уверены, что хотите удалить эту консультацию?", "Подтверждение удаления", MessageBoxButton.OKCancel) != MessageBoxResult.OK)//dialogResult.OK было
            {
                return;
            }

            try
            {
                int consultationId = selectedConsultation.ConsultationId;
                ConsultationDataAccess.DeleteConsultationById(consultationId);
                this.Presenter.LoadAllConsultations();
            }
            catch (Exception ex)
            {
                string errorMessage = string.Format("При удалении объекта произошла ошибка!\n {0}", ex.Message);
                this.Message = errorMessage;
            }
        }
Exemplo n.º 3
0
 public void Load(int consultationId)
 {
     try
     {
         if (consultationId == 0)
         {
             throw new ArgumentNullException("consultationId  должен отличаться от 0!");
         }
         var consultation = ConsultationDataAccess.GetConsultationById(consultationId);
         this.Consultation = consultation;
         this.FillView();
     }
     catch (Exception e)
     {
         string message = "Ошибка!:" + e.Message;
         View.Message = message;
     }
 }
Exemplo n.º 4
0
        public void LoadConsultations()
        {
            try
            {
                if (this.Patient == null || this.Patient.PatientId == 0)
                {
                    return;
                }

                int patientId     = this.Patient.PatientId;
                var consultations = ConsultationDataAccess.GetConsultationsByPatientId(patientId);
                this.View.Consultations = consultations;
            }
            catch (Exception e)
            {
                string message = "Ошибка при загрузке консультации для пациента!\n" + e.Message;
                View.Message = message;
            }
        }
Exemplo n.º 5
0
 private void SaveModel(Consultation model)
 {
     try
     {
         if (Consultation.ConsultationId == 0)
         {
             ConsultationDataAccess.InsertConsultation(Consultation);
         }
         else
         {
             ConsultationDataAccess.UpdateConsultation(Consultation);
         }
         View.Message = "Успешная запись!";
     }
     catch (Exception e)
     {
         var message = String.Format("Ошибка при запросе базы данных!Вызовите администратора!/n {0} ", e.Message);
         View.Message = message;
     }
 }
Exemplo n.º 6
0
        private int CountConsultationsInNextDays(int nextDays)
        {
            var currenUser = Membership.CurrentUser;

            if (currenUser.RoleId != (int)UserRoles.Patient)
            {
                return(0);
            }

            int currentUserPatientId = currenUser.PatientId.Value;

            var consultations = ConsultationDataAccess.GetConsultationsInNextDays(currentUserPatientId, nextDays);

            if (consultations == null)
            {
                return(0);
            }
            else
            {
                return(consultations.Count());
            }
        }