public async Task ChangeStatusAsync(ChangeContactStatusDto dto) { var contactFromDb = await _unitOfWork.GetRepository <ARContact>().GetAsync(dto.Id); ARContactHelpers.CheckContactStatusTransition(contactFromDb, dto.Status); contactFromDb.ARContactStatus = dto.Status; await _unitOfWork.GetRepository <ARContact>().UpdateAsync(contactFromDb); await _unitOfWork.CompleteAsync(); await _notificationService.CreateNotificationAsync( new CreateNotificationDto { UserId = _bysSession.UserId, NotificationType = dto.Status == "DaDuyet" ? NotificationType.ApprovedContact : dto.Status == "HuyBo" ? NotificationType.RejectedContact : NotificationType.ChangeContactStatus, NotificationObjectType = "ARContacts", NotificationObjectId = dto.Id, NotificationContent = dto.Status == "DaDuyet" ? _unitOfWork.GetRepository <ADUser>().Get(_bysSession.UserId)?.ADUserOrganizationName + " Admin đã duyệt đóng góp liên hệ gián tiếp " + contactFromDb.ARContactName : dto.Status == "HuyBo" ? _unitOfWork.GetRepository <ADUser>().Get(_bysSession.UserId)?.ADUserOrganizationName + " Admin đã từ chối đóng góp liên hệ gián tiếp " + contactFromDb.ARContactName : _unitOfWork.GetRepository <ADUser>().Get(_bysSession.UserId)?.ADUserOrganizationName + " Admin đã chuyển trạng thái liên hệ " + contactFromDb.ARContactName + " sang trạng thái " + dto.Status }); }
public async Task <IActionResult> ChangeContactStatusAsync([FromBody] ChangeContactStatusDto dto) { await _contactService.ChangeStatusAsync(dto); return(Success()); }