public void ImportOrder_WithServiceFlagAndNoNewServices_ShouldAddTwoServices() { var order = new Order() { Id = "1", TrackingId = "TestOrder", ServiceFlag = 3, IsInternational = false }; var transferee = new TransfereeDto() { Email = "*****@*****.**" }; var consultant = new ConsultantDto() { SeContactUid = 1 }; var programManager = new ProgramManagerDto() { SeContactUid = 1 }; var manager = new Manager() { Id = "Test" }; var managerDto = new ManagerDto { SeContactUid = 1 }; var managersDto = new ManagersDto() { Managers = new List <ManagerDto> { managerDto } }; _mockManagersRepository.Setup(r => r.GetManagerBySeContactUid(1)).Returns(manager); _mockMapper.Setup(m => m.Map <ManagerDto, Manager>(It.IsAny <ManagerDto>())).Returns(manager); _mockTransfereesRepository.Setup(t => t.GetTransfereeByEmail(transferee.Email)).Returns(new Transferee() { Email = "*****@*****.**" }); _mockConsultantsRepository.Setup(c => c.GetConsultantBySeContactUid(1)).Returns(new Consultant() { SeContactUid = 1 }); var cats = new List <ServiceCategory>(); var ids = new List <int>(); _mockServiceTypeRepository.Setup(st => st.GetDefaultServiceTypes(cats, ids, order.IsInternational)).Returns(new List <ServiceType>()); var orderDto = new OrderDto(); orderDto.Consultant = consultant; orderDto.Transferee = transferee; orderDto.ProgramManager = programManager; _mockMapper.Setup(o => o.Map <OrderDto, Order>(It.IsAny <OrderDto>())).Returns(order); _orderImporter.ImportOrder(orderDto); _mockOrdersRepository.Verify(v => v.Add(It.IsAny <Order>()), Times.Once); order.Services.Count.Should().Be(0); }
public static ContactInfoDto ToContactInfoDto(TransfereeDto transferee) { return(new ContactInfoDto { Email = transferee.Emails.FirstOrDefault()?.Value, ContactNumber = ToContactNumberDto(transferee.OriginPhones) }); }
public void ImportOrderTest_New() { var order = new Order() { Id = "1", TrackingId = "TestOrder" }; var transferee = new TransfereeDto() { Email = "*****@*****.**" }; var consultant = new ConsultantDto() { SeContactUid = 1 }; var programManager = new ProgramManagerDto() { SeContactUid = 1 }; var manager = new Manager() { Id = "Test" }; var managerDto = new ManagerDto { SeContactUid = 1 }; var managersDto = new ManagersDto() { Managers = new List <ManagerDto> { managerDto } }; _mockManagersRepository.Setup(r => r.GetManagerBySeContactUid(1)).Returns(manager); _mockMapper.Setup(m => m.Map <ManagerDto, Manager>(It.IsAny <ManagerDto>())).Returns(manager); _mockTransfereesRepository.Setup(t => t.GetTransfereeByEmail(transferee.Email)).Returns(new Transferee() { Email = "*****@*****.**" }); _mockConsultantsRepository.Setup(c => c.GetConsultantBySeContactUid(1)).Returns(new Consultant() { SeContactUid = 1 }); var orderDto = new OrderDto(); orderDto.Consultant = consultant; orderDto.Transferee = transferee; orderDto.ProgramManager = programManager; _mockMapper.Setup(o => o.Map <OrderDto, Order>(It.IsAny <OrderDto>())).Returns(order); _orderImporter.ImportOrder(orderDto); _mockOrdersRepository.Verify(v => v.Add(It.IsAny <Order>()), Times.Once); }
internal static TransfereeDto ToTransferee(Move src) { var origin = src.OriginShipper; var destination = src.DestinationShipper; var emailList = new List <EmailDto>(); if (!string.IsNullOrEmpty(origin.Email1)) { emailList.Add(new EmailDto { Value = origin.Email1 }); } if (!string.IsNullOrEmpty(origin.Email2)) { emailList.Add(new EmailDto { Value = origin.Email2 }); } if (!string.IsNullOrEmpty(origin.Email3)) { emailList.Add(new EmailDto { Value = origin.Email3 }); } if (!string.IsNullOrEmpty(destination.Email1)) { emailList.Add(new EmailDto { Value = destination.Email1 }); } if (!string.IsNullOrEmpty(destination.Email2)) { emailList.Add(new EmailDto { Value = destination.Email2 }); } if (!string.IsNullOrEmpty(destination.Email3)) { emailList.Add(new EmailDto { Value = destination.Email3 }); } var phoneList = new List <PhoneDto>(); if (!string.IsNullOrEmpty(origin.PHONE1)) { phoneList.Add(new PhoneDto { NationalNumber = origin.PHONE1.Replace("-", string.Empty) }); } if (!string.IsNullOrEmpty(origin.PHONE2)) { phoneList.Add(new PhoneDto { NationalNumber = origin.PHONE2.Replace("-", string.Empty) }); } if (!string.IsNullOrEmpty(destination.PHONE1)) { phoneList.Add(new PhoneDto { NationalNumber = destination.PHONE1.Replace("-", string.Empty) }); } if (!string.IsNullOrEmpty(destination.PHONE2)) { phoneList.Add(new PhoneDto { NationalNumber = destination.PHONE2.Replace("-", string.Empty) }); } var dto = new TransfereeDto { FirstName = origin.FirstName, LastName = origin.LastName, Emails = emailList, OriginPhones = phoneList }; if (!string.IsNullOrEmpty(origin.IsVip)) { dto.IsVip = origin.IsVip.Equals("YES", StringComparison.CurrentCultureIgnoreCase); } return(dto); }
private int SaveTransferee(TransfereeDto transfereeDto) { if (transfereeDto == null) { throw new ArgumentNullException("Transferee is null"); } _logger.LogInformation("Saving Transferee {0}", transfereeDto); var transferee = _mapper.Map <Transferee>(transfereeDto); List <Phone> originValidPhones = new List <Phone>(); if (transfereeDto.OriginPhones != null) { originValidPhones.AddRange(_mapper.Map <List <Phone> >(transfereeDto.OriginPhones .Where(p => ValidatePhoneDto(p)).ToList())); } List <Phone> destinationValidPhones = new List <Phone>(); if (transfereeDto.DestinationPhones != null) { destinationValidPhones.AddRange(_mapper.Map <List <Phone> >(transfereeDto.DestinationPhones .Where(p => ValidatePhoneDto(p)).ToList())); } //saves the parent AND email objects in one Save, vs how we do with Addresses which is manual af b/c we are using Lookup tables (xref) _dbContext.Transferee.Add(transferee); _dbContext.SaveChanges(); _dbContext.Phone.AddRange(originValidPhones); _dbContext.Phone.AddRange(destinationValidPhones); _dbContext.SaveChanges(); foreach (var phone in originValidPhones) { _dbContext.TransfereePhone.Add( new TransfereePhone { TransfereeId = transferee.Id, PhoneId = phone.Id, Type = "Origin" } ); } foreach (var phone in destinationValidPhones) { _dbContext.TransfereePhone.Add( new TransfereePhone { TransfereeId = transferee.Id, PhoneId = phone.Id, Type = "Destination" } ); } _logger.LogInformation("Origin Phones saved {0}", originValidPhones); _logger.LogInformation("Destination Phones saved {0}", destinationValidPhones); List <EmailDto> validEmails = transfereeDto.Emails.Where(e => ValidateEmailDto(e)).ToList(); var emails = _mapper.Map <List <Email> >(validEmails); emails.ForEach(e => e.TransfereeId = transferee.Id); _dbContext.Email.AddRange(emails); _dbContext.SaveChanges(); _logger.LogInformation("Emails saved {0}", validEmails); _logger.LogInformation("Transferee saved {0}", transferee.Id); return(transferee.Id); }
public static OrderDto CreateOrderDto(ConsultantDto consultantDto = null, ProgramManagerDto programManagerDto = null, TransfereeDto transfereeDto = null, string TrackingId = null) { var orderDto = OrderDtoBuilder.New(); orderDto.TrackingId = TrackingId; orderDto.Consultant = consultantDto; orderDto.ProgramManager = programManagerDto; orderDto.Transferee = transfereeDto; return(orderDto); }