Exemplo n.º 1
0
        public bool IsValidPortForCategory(int categoryCode, string reportingPort, string associatedPort, bool?InBound)
        {
            var allowedCat = true;

            switch (categoryCode)
            {
            case 12:
            {
                allowedCat = _portFreightContext.PortCargoOil.AsQueryable().AsNoTracking()
                             .Where(a => a.Locode == _helperService.GetPortCodeByPort(reportingPort))
                             .Select(a => a.AllowCategory12).SingleOrDefault();
            }
            break;

            case 13:
            {
                if (InBound == true)
                {
                    var gbPort = _helperService.GetCountryCodeByPort(associatedPort);
                    allowedCat = gbPort != null && gbPort.Equals("GB") ? IsAllowedPort(associatedPort) : true;
                }
                else
                {
                    allowedCat = IsAllowedPort(reportingPort);
                }
            }
            break;

            default:
            {
            }
            break;
            }
            return(allowedCat);
        }
        public async Task ReturnValidCountryCode_WhenPassed_ShouldReturnTrue()
        {
            string portCodeGB = "GBABD";
            string portNameGB = "Aberdeen / UNITED KINGDOM (GBABD)";
            string portCode1  = "GB070";
            string portCode2  = "GB085";
            string portName1  = "Red Bay / UNITED KINGDOM (GB070)";
            string portName2  = "Arran / UNITED KINGDOM (GB085)";

            var globalPort = new List <GlobalPort>()
            {
                new GlobalPort {
                    Locode      = portCodeGB,
                    PortName    = portNameGB,
                    CountryCode = "GB"
                },

                new GlobalPort {
                    Locode      = portCode2,
                    PortName    = portName2,
                    CountryCode = "GB"
                }
            };
            await actualContext.GlobalPort.AddRangeAsync(globalPort);

            actualContext.SaveChanges();

            var result   = _helperService.GetCountryCodeByPort(portName2);
            var category = globalPort.Find(x => x.PortName == portName2).CountryCode;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(string));
            Assert.IsNotNull(category);
            Assert.AreEqual(result, category);
        }