예제 #1
0
        private static string GetStateName(AppointmentStateEnum state)
        {
            switch (state)
            {
            case AppointmentStateEnum.Cancelled: return("ملغي");

            case AppointmentStateEnum.Current: return("جارى");

            case AppointmentStateEnum.Finished: return("انتهي");

            case AppointmentStateEnum.Pending: return("قيد الانتظار");
            }
            return(null);
        }
예제 #2
0
        private Clinic_Appointment CreateAppointment(DateTime dateTime, Clinic_Doctor doctor, Clinic_Patient patient, AppointmentStateEnum state, Clinic_Rating rating, Clinic clinic)
        {
            Clinic_Appointment appointment;

            using (var dbContext = new ApplicationDbContext())
            {
                appointment = new Clinic_Appointment
                {
                    DateTime  = dateTime,
                    DoctorId  = doctor.Id,
                    PatientId = patient.Id,
                    State     = state,
                    RatingId  = rating?.Id ?? 0,
                    UserId    = clinic.UserId
                };

                dbContext.Clinic_Appointments.Add(appointment);
                dbContext.SaveChanges();
            }

            return(appointment);
        }
예제 #3
0
        internal IEnumerable <AppointmentReportDTO> GetAppointmentReport(DateTime dateFrom, DateTime dateTo, int patientId, int categoryId, int clinicId, int userId, AppointmentStateEnum state)
        {
            DbSet <Clinic> clinics = entities.Set <Clinic>();
            DbSet <User>   users   = entities.Set <User>();
            DbSet <AppointmentCategory> categories = entities.Set <AppointmentCategory>();
            DbSet <Patient>             patients   = entities.Set <Patient>();

            return(from appointment in dbset
                   join clinic in clinics on appointment.ClinicId equals clinic.Id
                   join user in users on appointment.UserId equals user.Id
                   join category in categories on appointment.CategoryId equals category.Id
                   join patient in patients on appointment.PatientId equals patient.Id
                   where (appointment.Date >= dateFrom && appointment.Date <= dateTo) &&
                   (clinicId == 0 || appointment.ClinicId == clinicId) &&
                   (userId == 0 || appointment.UserId == userId) &&
                   (patientId == 0 || appointment.PatientId == patientId) &&
                   (categoryId == 0 || appointment.CategoryId == categoryId) &&
                   (state == AppointmentStateEnum.None || appointment.State == state)
                   orderby appointment.Date
                   select new AppointmentReportDTO()
            {
                PatientFullName = patient.FullName,
                ClinicName = clinic.Name,
                UserFullName = user.FullName,
                CategoryName = category.Name,
                Date = appointment.Date,
                DiscountPercentage = appointment.DiscountPercentage,
                PaidAmount = appointment.PaidAmount,
                TotalPrice = appointment.TotalPrice,
                StateName = GetStateName(appointment.State)
            });
        }
예제 #4
0
 public List <AppointmentReportDTO> GetAppointmentReport(DateTime dateFrom, DateTime dateTo, int patientId, int categoryId, int clinicId, int userId, AppointmentStateEnum state)
 {
     try
     {
         return(appointmentRepository.GetAppointmentReport(dateFrom, dateTo, patientId, categoryId, clinicId, userId, state).ToList());
     }
     catch (Exception e) { throw e; }
 }