public bool HasSpace()
        {
            VesselRepository vesselRepository = new VesselRepository();
            var totalOccupied = vesselRepository.GetTotalBaysOccupied(this.VesselID);

            return(totalOccupied < this.TotalBays);
        }
示例#2
0
        /// <summary>
        /// convert shipment to view model
        /// </summary>
        /// <param name="shipment"></param>
        /// <returns></returns>
        public ShipmentViewModel ConvertToView(Shipment shipment)
        {
            ShipmentViewModel model = new ShipmentViewModel();

            var _vesselRepository = new VesselRepository();
            var _portRepository   = new PortRepository();
            var _bolRepository    = new BillOfLadingRepository();

            var vessel = _vesselRepository.GetVessel(shipment.VesselId);
            var port   = _portRepository.GetPort(shipment.PortId);
            var bols   = _bolRepository.GetBillOfLadings().Where(x => x.ShipmentId == shipment.ShipmentId).ToList();

            model.ShipmentId        = shipment.ShipmentId;
            model.CarrierId         = shipment.CarrierId;
            model.VesselId          = shipment.VesselId;
            model.PortId            = shipment.PortId;
            model.DepartureDate     = shipment.DepartureDate;
            model.EstArrivalDate    = (shipment.EstArrivalDate != null) ? shipment.EstArrivalDate : DateTime.MinValue;
            model.ShipmentNotes     = (!string.IsNullOrEmpty(shipment.Notes)) ? shipment.Notes : "N/A";
            model.VesselName        = (vessel != null && !string.IsNullOrEmpty(vessel.Name)) ? vessel.Name : "N/A";
            model.PortName          = (port != null && !string.IsNullOrEmpty(port.Name)) ? port.Name : "N/A";
            model.DepartureDateStr  = shipment.DepartureDate.ToShortDateString();
            model.EstArrivalDateStr = (shipment.EstArrivalDate != null) ? shipment.EstArrivalDate.Value.ToShortDateString() : "N/A";
            model.IsComplete        = shipment.IsComplete;
            model.CompletedDate     = (shipment.CompletedDate != null) ? shipment.CompletedDate : DateTime.MinValue;
            model.CompletedDateStr  = (shipment.CompletedDate != null) ? shipment.CompletedDate.Value.ToShortDateString() : "N/A";
            model.CreatedDate       = (shipment.CreatedDate != null) ? shipment.CreatedDate : DateTime.MinValue;

            if (bols != null && bols.Count > 0)
            {
                model.BillsOfLading = new List <BillOfLadingViewModel>();
                foreach (var bol in bols)
                {
                    BillOfLadingViewModel convertedModel = new BillOfLadingConverter().ConvertToView(bol);

                    model.BillsOfLading.Add(convertedModel);
                }
            }

            if (_vesselRepository != null)
            {
                _vesselRepository.Dispose();
                _vesselRepository = null;
            }
            if (_portRepository != null)
            {
                _portRepository.Dispose();
                _portRepository = null;
            }
            if (_bolRepository != null)
            {
                _bolRepository.Dispose();
                _bolRepository = null;
            }

            return(model);
        }
示例#3
0
        /// <summary>
        /// convert bol to list model
        /// </summary>
        /// <param name="bol"></param>
        /// <returns></returns>
        public BillOfLadingViewModel ConvertToListView(BillOfLading bol)
        {
            BillOfLadingViewModel model = new BillOfLadingViewModel();

            var _shipmentRepository        = new ShipmentRepository();
            var _foundryDynamicsRepository = new FoundryDynamicsRepository();
            var _vesselRepository          = new VesselRepository();
            var _portRepository            = new PortRepository();

            var shipment        = _shipmentRepository.GetShipment(bol.ShipmentId);
            var dynamicsFoundry = _foundryDynamicsRepository.GetFoundry(bol.FoundryId);
            var vessel          = _vesselRepository.GetVessel((shipment != null) ? shipment.VesselId : Guid.Empty);
            var port            = _portRepository.GetPort((shipment != null) ? shipment.PortId : Guid.Empty);

            model.BillOfLadingId    = bol.BillOfLadingId;
            model.ShipmentId        = bol.ShipmentId;
            model.BolNumber         = (!string.IsNullOrEmpty(bol.Number)) ? bol.Number : "N/A";
            model.FoundryName       = (dynamicsFoundry != null) ? dynamicsFoundry.VENDSHNM : "N/A";
            model.Description       = (!string.IsNullOrEmpty(bol.Description)) ? bol.Description : "N/A";
            model.VesselName        = (vessel != null && !string.IsNullOrEmpty(vessel.Name)) ? vessel.Name : "N/A";
            model.PortName          = (port != null && !string.IsNullOrEmpty(port.Name)) ? port.Name : "N/A";
            model.DepartureDate     = (shipment != null && shipment.DepartureDate != null) ? shipment.DepartureDate : DateTime.MinValue;
            model.DepartureDateStr  = (shipment != null) ? shipment.DepartureDate.ToShortDateString() : "N/A";
            model.EstArrivalDate    = (shipment != null && shipment.EstArrivalDate != null) ? shipment.EstArrivalDate : DateTime.MinValue;
            model.EstArrivalDateStr = (shipment != null) ? shipment.EstArrivalDate.Value.ToShortDateString() : "N/A";
            model.HasBeenAnalyzed   = bol.HasBeenAnalyzed;
            model.CreatedDate       = bol.CreatedDate;

            if (_shipmentRepository != null)
            {
                _shipmentRepository.Dispose();
                _shipmentRepository = null;
            }
            if (_foundryDynamicsRepository != null)
            {
                _foundryDynamicsRepository.Dispose();
                _foundryDynamicsRepository = null;
            }
            if (_vesselRepository != null)
            {
                _vesselRepository.Dispose();
                _vesselRepository = null;
            }
            if (_portRepository != null)
            {
                _portRepository.Dispose();
                _portRepository = null;
            }

            return(model);
        }
示例#4
0
        //TODO:Use dependency injection
        static void Main(string[] args)
        {
            //TODO:Use dependency injection

            IVesselRepository repository = new VesselRepository();
            ILoggerService    logger     = new LoggerService();

            VesselService vesselService = new VesselService(repository, logger);

            vesselService.Add(new Vessel()
            {
                VesselId = 1, Name = "Test"
            });



            Console.WriteLine("Hello World!");
        }
示例#5
0
 public void SetUp()
 {
     m_VesselRepository = new VesselRepository();
 }
 public void SetUp()
 {
     m_VesselRepository = new VesselRepository();
 }