public List <ApiChecksLogModel> Create(EZBob.DatabaseLib.Model.Database.Customer customer) { var models = new List <ApiChecksLogModel>(); var postCode = _postcodeServiceLog.GetByCustomer(customer); var customerMarketPlaceHistory = _mpCustomerMarketPlaceUpdatingHistory .GetByCustomer(customer) .Select(c => new { history = c, marketplaceType = c.CustomerMarketPlace.Marketplace.Name, displayName = c.CustomerMarketPlace.DisplayName }); var eseriasLog = _serviceLogRepository.GetByCustomer(customer); var pacnetLog = _pacnetPaypointServiceLogRepository.GetByCustomerId(customer.Id); models.AddRange(postCode.Select(val => new ApiChecksLogModel { ApiType = "Postcode", DateTime = val.InsertDate, ErrorMessage = val.ErrorMessage, Status = val.Status })); models.AddRange(customerMarketPlaceHistory.Select(val => new ApiChecksLogModel { ApiType = val.marketplaceType, DateTime = val.history.UpdatingStart, ErrorMessage = val.history.Error, Status = string.IsNullOrEmpty(val.history.Error) ? "Successful" : "Failed", Marketplace = val.displayName })); models.AddRange(eseriasLog.Select(val => new ApiChecksLogModel { ApiType = val.ServiceType, DateTime = val.InsertDate, ErrorMessage = "", Status = "Successful" })); models.AddRange(pacnetLog.Select(val => new ApiChecksLogModel { ApiType = val.RequestType, DateTime = val.InsertDate, ErrorMessage = val.ErrorMessage, Status = val.Status })); models = new List <ApiChecksLogModel>(models.OrderByDescending(x => x.DateTime)); return(models); }