/// <summary author="Francis Mingomba" created="2019/04/03">
        /// Checks employee privileges and activates vehicles
        /// if employee has privileges to do it
        /// </summary>
        /// <param name="resortVehicle">resort vehicle</param>
        /// <param name="employee">employee performing operation</param>
        public void ActivateVehicle(ResortVehicle resortVehicle, Employee employee = null)
        {
            try
            {
                if (resortVehicle == null)
                {
                    throw new ApplicationException("Vehicle cannot be null");
                }

                if (!employee.HasRoles(out string errorStr, "Admin"))
                {
                    throw new ApplicationException(errorStr);
                }

                var newVehicle = resortVehicle.DeepClone();

                newVehicle.Active = true;

                newVehicle.DeactivationDate = null;

                _resortVehicleAccessor.UpdateVehicle(resortVehicle, newVehicle);
            }
            catch (Exception ex)
            {
                ExceptionLogManager.getInstance().LogException(ex);
                throw ex;
            }
        }
Exemplo n.º 2
0
        /// <summary author="Francis Mingomba" created="2019/04/24">
        /// Changes status of vehicle in resort vehicle table
        /// </summary>
        /// <param name="resortVehicleId">Resort Vehicle Id</param>
        private void CheckInVehicleInResortVehicleTable(int resortVehicleId)
        {
            var resortVehicle = _resortVehicleAccessor.RetrieveVehicleById(resortVehicleId);

            var mutatedResortVehicle = resortVehicle.DeepClone();

            mutatedResortVehicle.Available = true;

            mutatedResortVehicle.ResortVehicleStatusId = new ResortVehicleStatus().Available;

            _resortVehicleAccessor.UpdateVehicle(resortVehicle, mutatedResortVehicle);
        }