예제 #1
0
        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));
                        }
                    }
                }
            }
        }