コード例 #1
0
        public async Task <string> MakeAnAppointmentAnalysis(LaboratoryAppointment app, DateTime selectedDate, TimeSpan receptionTime)
        {
            app.Day     = selectedDate;
            app.EndTime = app.StartTime + receptionTime;

            List <LaboratoryAppointment> checkTime = db.LaboratoryAppointments.Where(bt => bt.Id == app.Id && bt.StartTime == app.StartTime && bt.Day == app.Day).ToList();

            if (checkTime.Count > 0)
            {
                return("<h3>Время приёма уже занято! Выберите другое время!</h3>");
            }
            List <LaboratoryAppointment> apps = db.LaboratoryAppointments.Where(ap => ap.IdPatient == app.IdPatient && ap.Day == app.Day && !((ap.StartTime < app.StartTime && ap.EndTime <= app.StartTime) || (ap.StartTime >= app.EndTime && ap.EndTime > app.EndTime))).ToList <LaboratoryAppointment>();

            if (apps.Count != 0)
            {
                return("<h3>Извините, но на это время вы записаны на другой анализ!</h3>");
            }
            db.LaboratoryAppointments.Add(app);
            await db.SaveChangesAsync();

            User patient = await db.Patients.FindAsync(app.IdPatient);

            MailSender sender = new MailSender(patient.Email);

            sender.SendMessageForMakeAppointment(patient, selectedDate, app.StartTime, MailSender.UserType.Doctor);
            return($"<h3>Запись была осуществлена успешно!</h3><br/><a href={Url.Action("Index","Cabinet")}>В личный кабинет</a>");
        }
コード例 #2
0
        public async Task <RedirectToRouteResult> CancelAppointmentAnalysis(int id)
        {
            LaboratoryAppointment app = await db.LaboratoryAppointments.FindAsync(id);

            db.Entry(app).State = EntityState.Deleted;
            await db.SaveChangesAsync();

            return(RedirectToAction("Index", "Cabinet"));
        }
コード例 #3
0
        public async Task <ActionResult> ShowAppointment(int id)
        {
            LaboratoryAppointment la = await db.LaboratoryAppointments.FindAsync(id);

            return(View(la));
        }