public async Task <IActionResult> Edit(int id, [Bind("Date,SubjectId,LecturerId,Id")] ConsultationDTO consultation)
        {
            if (id != consultation.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    await _service.UpdateAsync(consultation);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!_service.ConsultationExists(consultation.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            var subjects = await _subjectService.GetAllAsync();

            ViewData["SubjectId"] = new SelectList(subjects, "Id", "Id", consultation.SubjectId);
            return(View(consultation));
        }
示例#2
0
        public void SetUp()
        {
            _consultationService    = new Mock <IConsultationService>();
            _consultationController = new ConsultationController(_consultationService.Object);

            consultation = new ConsultationDTO {
                Id = 1, Date = new DateTime(2021, 6, 12), LecturerId = 1, SubjectId = 1
            };
        }
        public async Task <IActionResult> Update([FromBody] ConsultationDTO consultation)
        {
            if (consultation is null)
            {
                return(BadRequest());
            }

            await _consultationService.UpdateAsync(consultation);

            return(Ok());
        }
示例#4
0
        public Consultation Post(ConsultationDTO value)
        {
            Consultation model = new Consultation()
            {
                Treatment = value.Treatment,
                MedicId   = value.MedicId,
                PacientId = value.PacientId,
            };

            return(IConsultationRepository.Create(model));
        }
 public static Consultation AdaptToConsultation(this ConsultationDTO p1)
 {
     return(p1 == null ? null : new Consultation()
     {
         Date = p1.Date,
         SubjectId = p1.SubjectId,
         Subject = p1.Subject.AdaptToSubject(),
         LecturerId = p1.LecturerId,
         Lecturer = p1.Lecturer.AdaptToUser(),
         Id = p1.Id
     });
 }
        public ConsultationDTO CreateConsultationDTO(Consultation consultation)
        {
            var consultationDTO = new ConsultationDTO()
            {
                Id        = consultation.Id,
                PatientId = consultation.PatientId,
                Diagnosis = consultation.Diagnosis,
                Date      = consultation.Date
            };

            return(consultationDTO);
        }
        public async Task <IActionResult> Add([FromBody] ConsultationDTO consultation)
        {
            try
            {
                await _consultationService.AddAsync(consultation);
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(CreatedAtAction(nameof(Add), new { consultation.Id }, consultation));
        }
示例#8
0
        public async Task <IActionResult> ProcessRequest([FromBody] ConsultationDTO dto)
        {
            using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                dto.SessionId = await base.getUserSession();

                dto.Requester.Username = CurrentUser;
                await _serviceManager.ProcessRequest(dto);

                scope.Complete();
                return(Ok());
            }
        }
示例#9
0
        public async Task <IActionResult> PostRequest([FromBody] ConsultationDTO dto)
        {
            // using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            //{

            dto.SessionId = await base.getUserSession();

            dto.DomainModel.EmployeeEmail = CurrentUserEmail;
            dto.Requester.Username        = CurrentUser;
            await _serviceManager.SaveRequestData(dto);

            // scope.Complete();
            return(Ok());
            //}
        }
        public static ConsultationDTO AdaptTo(this Consultation p6, ConsultationDTO p7)
        {
            if (p6 == null)
            {
                return(null);
            }
            ConsultationDTO result = p7 ?? new ConsultationDTO();

            result.Date       = p6.Date;
            result.SubjectId  = p6.SubjectId;
            result.Subject    = p6.Subject.AdaptToDTO();
            result.LecturerId = p6.LecturerId;
            result.Lecturer   = p6.Lecturer.AdaptToDTO();
            result.Id         = p6.Id;
            return(result);
        }
        public static Consultation AdaptTo(this ConsultationDTO p2, Consultation p3)
        {
            if (p2 == null)
            {
                return(null);
            }
            Consultation result = p3 ?? new Consultation();

            result.Date       = p2.Date;
            result.SubjectId  = p2.SubjectId;
            result.Subject    = p2.Subject.AdaptToSubject();
            result.LecturerId = p2.LecturerId;
            result.Lecturer   = p2.Lecturer.AdaptToUser();
            result.Id         = p2.Id;
            return(result);
        }
        public async Task <IActionResult> Create([Bind("Date,SubjectId,LecturerId,Id")] ConsultationDTO consultation)
        {
            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            consultation.LecturerId = userId;

            if (ModelState.IsValid)
            {
                await _service.AddAsync(consultation);

                return(RedirectToAction(nameof(Index)));
            }

            var subjects = await _subjectService.GetAllAsync();

            ViewData["SubjectId"] = new SelectList(subjects, "Id", "Id", consultation.SubjectId);
            return(View(consultation));
        }
示例#13
0
        public Consultation Put(ConsultationDTO value)
        {
            Consultation model = IConsultationRepository.Get(value.Id);

            if (value.Treatment != null)
            {
                model.Treatment = value.Treatment;
            }
            if (value.MedicId != 0)
            {
                model.MedicId = value.MedicId;
            }
            if (value.PacientId != 0)
            {
                model.PacientId = value.PacientId;
            }
            return(IConsultationRepository.Update(model));
        }
示例#14
0
        public async Task UpdateAsync(ConsultationDTO consultation)
        {
            _unitOfWork.ConsultationRepository.Update(consultation.AdaptToConsultation());

            await _unitOfWork.CommitAsync();
        }
示例#15
0
        public async Task AddAsync(ConsultationDTO consultation)
        {
            await _unitOfWork.ConsultationRepository.InsertAsync(consultation.AdaptToConsultation());

            await _unitOfWork.CommitAsync();
        }