public void UpdateEventCustomerPreApprovedTest(long eventId, long customerId) { var preApprovedTest = _preApprovedTestRepository.GetByCustomerId(customerId); var eventCustomer = _eventCustomerRepository.Get(eventId, customerId); var preApprovedPackages = _preApprovedPackageRepository.GetByCustomerId(customerId); if (preApprovedTest != null && preApprovedTest.Any() && eventCustomer != null) { _eventCustomerPreApprovedTestRepository.Save(eventCustomer.Id, preApprovedTest.Select(x => x.TestId)); } _eventCustomerPreApprovedPackageTestRepository.DeletePreApprovedPackageTests(eventCustomer.Id); if (preApprovedPackages != null && preApprovedPackages.Any()) { foreach (var preApprovedPackage in preApprovedPackages) { var preApprovedPacakgeTests = _packageTestRepository.GetbyPackageId(preApprovedPackage.PackageId); if (preApprovedPacakgeTests != null && preApprovedPacakgeTests.Any()) { _eventCustomerPreApprovedPackageTestRepository.Save(eventCustomer.Id, preApprovedPackage.PackageId, preApprovedPacakgeTests.Select(x => x.TestId)); } } } }
public void UpdateCustomerPreApprovedForFutureEvents(IEnumerable <EventCustomer> eventCustomers, CorporateCustomerEditModel customerEditModel) { if (!eventCustomers.IsNullOrEmpty()) { var pairs = TestType.A1C.GetNameValuePairs(); var preApprovedTestIds = customerEditModel.PreApprovedTest.IsNullOrEmpty() ? new long[0] : pairs.Where(x => customerEditModel.PreApprovedTest.Contains(x.SecondValue.ToLower())).Select(x => (long)x.FirstValue).ToArray(); foreach (var eventCustomer in eventCustomers) { if (!preApprovedTestIds.IsNullOrEmpty()) { preApprovedTestIds = _corporateUploadHelper.RemoveFocFromPreApprovedTest(preApprovedTestIds.ToList()).ToArray(); _eventCustomerPreApprovedTestRepository.Save(eventCustomer.Id, preApprovedTestIds); } if (customerEditModel.PreApprovedPackageId > 0) { var preApprovedPacakgeTests = _packageTestRepository.GetbyPackageId(customerEditModel.PreApprovedPackageId); if (preApprovedPacakgeTests != null && preApprovedPacakgeTests.Any()) { _eventCustomerPreApprovedPackageTestRepository.Save(eventCustomer.Id, customerEditModel.PreApprovedPackageId, preApprovedPacakgeTests.Select(x => x.TestId)); } } } } }