Example #1
0
        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
            });
        }
Example #2
0
        public async Task <IActionResult> ChangeContactStatusAsync([FromBody] ChangeContactStatusDto dto)
        {
            await _contactService.ChangeStatusAsync(dto);

            return(Success());
        }