public async Task <ParticipantDto> Handle(RegisterParticipant request, CancellationToken cancellationToken) { var participant = new Domain.Entities.Participant { CarModel = request.CarModel, Carplate = request.Carplate, Name = request.Name, Password = request.Password, Surname = request.Surname, PhoneNumber = request.PhoneNumber }; _dbContext.Participants.Add(participant); await _dbContext.SaveChangesAsync(); return(new ParticipantDto { Id = participant.Id, CarModel = participant.CarModel, Carplate = participant.Carplate, Name = participant.Name, Surname = participant.Surname, PhoneNumber = participant.PhoneNumber }); }
/// <summary> /// Получение суммарную информации об участнике разговора /// </summary> public static string GetParticipantInfo(Domain.Entities.Participant participant) { if (participant == null) { return(null); } var shortParticipantInfo = participant.ParticipantName ?? participant.ParticipantExtension; var contact = participant as Domain.Entities.Contact; if (contact != null) { var participantInfoElements = new List <string>(); if (!string.IsNullOrEmpty(contact.Organization)) { participantInfoElements.Add(contact.Organization); } if (!string.IsNullOrEmpty(contact.Position)) { participantInfoElements.Add(contact.Position); } if (!string.IsNullOrEmpty(contact.Name)) { participantInfoElements.Add(contact.Name); } return(participantInfoElements.Any() ? string.Join(" - ", participantInfoElements) : shortParticipantInfo); } return(shortParticipantInfo); }
/// <summary> /// Создать DTO из сущности /// </summary> public static JournalCallsDto MapFromClientCall(CallListItemClientDto call, Domain.Entities.Participant participant) { var journalCallItem = new JournalCallsDto { ArrivalDateTime = call.ArrivalDateTime, AcceptDateTime = call.AcceptDateTime, Type = (CallType)call.Type, Number = participant?.ParticipantExtension, Extension = participant?.ParticipantExtension }; if (participant is Domain.Entities.Contact contact) { if (!string.IsNullOrEmpty(contact.ContactRouteName)) { journalCallItem.Number += " - " + contact.ContactRouteName; } journalCallItem.Organization = contact.Organization; journalCallItem.Position = contact.Position; journalCallItem.ContactName = contact.Name; } return(journalCallItem); }
/// <summary> /// Получить подробную информацию об участнике вызова /// </summary> public static ParticipantInfoDto GetParticipantInfoDto(Domain.Entities.Participant participant) { if (participant == null) { return(null); } var participantInfo = new ParticipantInfoDto { Id = participant.Id, Name = participant.ParticipantName, Extension = participant.ParticipantExtension, ParticipantInfo = GetParticipantInfo(participant) }; if (participant is Domain.Entities.Contact contact) { participantInfo.Name = contact.Name; participantInfo.Organization = contact.Organization; participantInfo.Position = contact.Position; } return(participantInfo); }