public void Parse() { _logger.Info("Starting Member Upload Parsing"); var corporateUploads = _corporateUploadRepository.GetByParseStatus((int)MemberUploadParseStatus.Start); if (corporateUploads == null || !corporateUploads.Any()) { _logger.Info("No corporate Upload found to parse"); } foreach (var corporateUpload in corporateUploads) { try { _logger.Info("\n\n--------------------------------------------------------------------------------------------------------------------"); _logger.Info("-------------------------------Starting Parsing for corporateUploadId: " + corporateUpload.Id + "----------------------------------"); UpdateCorporateUploadStatus(corporateUpload, MemberUploadParseStatus.Parsing); var members = _memberUploadParseDetailRepository.GetByCorporateUploadId(corporateUpload.Id); if (members == null || !members.Any()) { _logger.Info("No members found by corporateUploadId: " + corporateUpload.Id); UpdateCorporateUploadStatus(corporateUpload, MemberUploadParseStatus.Parsed); _logger.Info("-------------------------------Parsing completed for corporateUploadId: " + corporateUpload.Id + "----------------------------------\n\n"); continue; } foreach (var member in members) { _logger.Info("Parsing for CustomerId: " + member.CustomerId); var eventCustomers = _eventCustomerPreApprovedTestService.GetFutureEventCustomers(member.CustomerId, isTodayIncluded: false); var viewModel = _memberUploadParseDetailFactory.GetCorporateCustomerModel(member, corporateUpload.Id); if (eventCustomers == null || !eventCustomers.Any()) { _corporateCustomerUploadService.UpateCustomerPreApprovedTest(viewModel, corporateUpload.UploadedBy, member.CustomerId); _corporateCustomerUploadService.UpdateCustomerPreApprovedPackges(viewModel, corporateUpload.UploadedBy, member.CustomerId); } else { _eventCustomerPreApprovedTestService.MarkcustomerForAdjustOrder(viewModel, eventCustomers, corporateUpload.UploadedBy, member.CustomerId, corporateUpload.Id); _corporateCustomerUploadService.UpateCustomerPreApprovedTest(viewModel, corporateUpload.UploadedBy, member.CustomerId); _corporateCustomerUploadService.UpdateCustomerPreApprovedPackges(viewModel, corporateUpload.UploadedBy, member.CustomerId); _corporateCustomerUploadService.UpdateCustomerPreApprovedForFutureEvents(eventCustomers, viewModel); } _logger.Info("Parsed for CustomerId: " + member.CustomerId); } UpdateCorporateUploadStatus(corporateUpload, MemberUploadParseStatus.Parsed); _logger.Info("-------------------------------Parsing completed for corporateUploadId: " + corporateUpload.Id + "----------------------------------\n\n"); } catch (Exception ex) { _logger.Error("Parsing failed for corporateUploadId" + corporateUpload.Id); _logger.Error("Error: " + ex.Message + ". StackTrace: " + ex.StackTrace); UpdateCorporateUploadStatus(corporateUpload, MemberUploadParseStatus.Failed); } } }