/// <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;
            }
        }
예제 #2
0
        public void TestAddVehicleWithIdLessThanZero()
        {
            var badVehicle = _goodResortVehicle.DeepClone();

            badVehicle.Id = -1;

            _resortVehicleManager.AddVehicle(badVehicle);
        }