Exemplo n.º 1
0
        public async Task <bool> UpdateAppoinmentStatus(UpdateAppoinmentStatusDto updateAppoinmentStatusDto)
        {
            var apppoinment = await _context.Appoinments.Include(c => c.Doctor)
                              .Include(c => c.Pacient)
                              .SingleOrDefaultAsync(c => c.Id == updateAppoinmentStatusDto.AppoinmentId);

            apppoinment.StatusId = updateAppoinmentStatusDto.NewStatusId;

            _context.Entry(apppoinment).State = EntityState.Modified;

            if (await _context.SaveChangesAsync() > 0)
            {
                if (updateAppoinmentStatusDto.NewStatusId == (int)AppoinmentStatuses.Approved)
                {
                    var appoimentApprovalMail = new AppoinmentApprovalMail
                    {
                        DoctorFirstName  = apppoinment.Doctor.FirstName,
                        DoctorSecondName = apppoinment.Doctor.SecondName,
                        AppoinmentDate   = apppoinment.AppoinmentDate,
                        AppoinmentId     = apppoinment.Id,
                        ToEmail          = apppoinment.Pacient.Email
                    };

                    await _mailService.SendAppoinmentApproval(appoimentApprovalMail);
                }

                return(true);
            }

            return(false);
        }
        public async Task <ActionResult> UpdateStatus(UpdateAppoinmentStatusDto updateAppoinmentStatusDto)
        {
            if (await _appoinmentsRepository.UpdateAppoinmentStatus(updateAppoinmentStatusDto))
            {
                return(Ok());
            }

            return(BadRequest("Upps..ceva nu a mers!"));
        }