示例#1
0
        public void GetCreatedDateUtc_CalculatingCreatedDateUtc_CreatedDateUtcCalculatesCorrectly()
        {
            //Arrange
            var app = new ApplicationListItem();

            DateTime.TryParse("9/5/2018 0:12:14", out var parsedTime);

            //Act
            var createdDate = parsedTime.ToUtc("Europe/Berlin");

            //Assert
            Assert.Equal(4, createdDate.Day);
            Assert.Equal(9, createdDate.Month);
            Assert.Equal(2018, createdDate.Year);
            Assert.Equal(22, createdDate.Hour);
            Assert.Equal(12, createdDate.Minute);
        }
示例#2
0
        private async Task CheckForNewApplications(IEnumerable <ApplicationListItem> applications)
        {
            var isFirstRun = _cachedApplications == null;

            if (isFirstRun)
            {
                _cachedApplications = new Dictionary <string, ApplicationListItem>();
            }

            foreach (var application in applications)
            {
                if (!_cachedApplications.ContainsKey(application.Id) && !isFirstRun)
                {
                    _logger.LogInformation($"Found new app! Announcing!");
                    await AnnounceNewApplication(application.Id);
                }

                if (_cachedApplications.ContainsKey(application.Id))
                {
                    ApplicationListItem cachedApplication = _cachedApplications[application.Id];

                    if (cachedApplication.Status != application.Status)
                    {
                        //status changed
                        var appMessage = await RetrieveApplicationMessageAsync(application.Id);

                        if (appMessage != null)
                        {
                            await appMessage.ModifyAsync(async (msg) =>
                            {
                                msg.Embed = (await GetApplicationEmbedAsync(application.Id)).Build();
                            });
                        }
                    }
                }

                _cachedApplications[application.Id] = application;
            }
        }
        /// <summary>
        /// Removes application from shown application list.
        /// </summary>
        /// <param name="name">Name of the application</param>
        private void RemoveApplicationFromList(string name)
        {
            //Find application in list
            ApplicationListItem application = null;

            foreach (var applicationListItem in _applicationList)
            {
                if (name.Equals(applicationListItem.ApplicationName, StringComparison.OrdinalIgnoreCase))
                {
                    application = applicationListItem;
                    break;
                }
            }

            //No action if application is not in list.
            if (application == null)
            {
                return;
            }

            EmptyList();
            _applicationList.Remove(application);
            RefreshList();
        }
示例#4
0
 private static string GetAirWaybillDisplay(IEnumerable <AirWaybillData> awbs, ApplicationListItem application)
 {
     return(awbs.Where(a => a.Id == application.AirWaybillId)
            .Select(AwbHelper.GetAirWaybillDisplay)
            .FirstOrDefault());
 }
 public SenderApplicationExcelRow(ApplicationListItem application, string airWaybillDisplay)
 {
     _application       = application;
     _airWaybillDisplay = airWaybillDisplay;
 }
示例#6
0
 public AdminApplicationExcelRow(ApplicationListItem application, string airWaybillDisplay)
 {
     _application      = application;
     AirWaybillDisplay = airWaybillDisplay;
 }