Ejemplo n.º 1
0
        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);
        }