/// <summary>
        ///  Save a new inserted vehicle.
        /// </summary>
        /// <param name="data">Vehicle data to be saved</param>
        /// <returns>True when the vehicle has been saved correctly</returns>
        public async Task <bool> SaveChanges(IVehicleData data)
        {
            Contract.Requires(data != null, "Cant save a null vehicle");
            bool ret = await data.SaveChanges();

            return(ret);
        }
        /// <summary>
        /// Vehicle to be saved
        /// </summary>
        /// <param name="vehicleData">Vehicle to be saved.</param>
        /// <returns></returns>
        public async Task <bool> SaveVehicle(IVehicleData vehicleData)
        {
            Contract.Requires(vehicleData != null, "Cant save a null vehicle");
            bool changedTask = await vehicleData.Save();

            return(changedTask);
        }
Exemple #3
0
        /// <summary>
        ///  This return a new identifier for vehicle
        /// </summary>
        /// <returns></returns>
        public IVehicleData GetNewVehicleDo()
        {
            string       identifier     = GetNewId();
            IVehicleData dictionaryData = _factory.NewVehicle(identifier);

            return(dictionaryData);
        }
        /// <summary>
        ///  Delete a vehicle data.
        /// </summary>
        /// <param name="vehicleData">Vehicle to be deleted</param>
        /// <returns></returns>
        public async Task <bool> DeleteVehicleData(IVehicleData vehicleData)
        {
            bool value = false;

            value = await vehicleData.DeleteAsyncData();

            return(value);
        }
Exemple #5
0
        /// <summary>
        /// Fetch a single vehicle Data object
        /// </summary>
        /// <param name="vehicleId">Vehicle identifier</param>
        /// <param name="queryDictionary">Dictionary of the queries</param>
        /// <returns>A vehicle data objett</returns>
        public async Task <IVehicleData> GetVehicleDo(string vehicleId, IDictionary <string, string> queryDictionary)
        {
            Contract.Requires(!string.IsNullOrEmpty(vehicleId), "A valid id is needed");

            IDictionary <string, string> queries;

            if (queryDictionary == null)
            {
                queries = base.baseQueryDictionary;
            }
            else
            {
                queries = queryDictionary;
            }
            IVehicleData dictionaryData = await _factory.GetVehicle(queries, vehicleId);

            return(dictionaryData);
        }
Exemple #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="payLoad"></param>
        /// <returns></returns>
        protected override async Task <DataPayLoad> HandleSaveOrUpdate(DataPayLoad payLoad)
        {
            bool         result      = false;
            bool         isInsert    = payLoad.PayloadType == DataPayLoad.Type.Insert;
            IVehicleData vehicleData = (IVehicleData)payLoad.DataObject;

            // pre: DataServices and vehicle shall be present.
            if (DataServices == null)
            {
                DataPayLoad nullDataPayLoad = new NullDataPayload();
                return(nullDataPayLoad);
            }
            _vehicleDataServices = DataServices.GetVehicleDataServices();
            if (vehicleData == null)
            {
                string message = (payLoad.PayloadType == DataPayLoad.Type.Insert) ? "Error during the insert" : "Error during the update";
                ShowErrorMessage(message);
                // OnErrorExecuting?.Invoke(message);
            }
            // FIXME: unify the update and the insert.
            switch (payLoad.PayloadType)
            {
            case DataPayLoad.Type.Update:
            case DataPayLoad.Type.Insert:
            {
                result = await _vehicleDataServices.SaveAsync(vehicleData).ConfigureAwait(false);

                break;
            }
            }
            if (result)
            {
                payLoad.Sender      = ToolBarModule.NAME;
                payLoad.PayloadType = DataPayLoad.Type.UpdateView;
                CurrentPayload      = payLoad;
            }
            else
            {
                string message = isInsert ? "Error during the insert" : "Error during the update";
                ShowErrorMessage(message);
                //  OnErrorExecuting?.Invoke(message);
            }
            return(payLoad);
        }
        public void Should_ReceiveAVehicle_UpdateMessage()
        {
            // arrange
            IDictionary <string, string> viewModelQueries = new Dictionary <string, string>();
            IVehicleData data = _veichleDataServices.Object.GetNewDo("1234");

            KarveCommon.ChangeFieldHandlerDo <IVehicleData> handlerDo = new ChangeFieldHandlerDo <IVehicleData>(_eventManager.Object, DataSubSystem.VehicleSubsystem);
            DataPayLoad payLoad = new DataPayLoad
            {
                HasDataObject = true,
                DataObject    = data
            };
            IDictionary <string, object> eventDictionary = new Dictionary <string, object>();

            // act.
            handlerDo.OnUpdate(payLoad, eventDictionary);
            // assert
            Assert.AreSame(payLoad, _carveBarViewModel.CurrentPayLoad);
        }
        public async Task <bool> DeleteAsync(IVehicleData vehicleData)
        {
            var retValue = await _dataDeleter.DeleteAsync(vehicleData).ConfigureAwait(false);

            return(retValue);
        }
        public async Task <bool> SaveAsync(IVehicleData data)
        {
            var retValue = await _dataSaver.SaveAsync(data).ConfigureAwait(false);

            return(retValue);
        }
        /// <summary>
        ///  Updates a vehicle changes
        /// </summary>
        /// <param name="data">Data to be saved.</param>
        /// <returns></returns>
        public async Task <bool> SaveChangesVehicle(IVehicleData data)
        {
            var saved = await data.SaveChanges();

            return(saved);
        }
 public Task <bool> SaveVehicle(IVehicleData vehicleData)
 {
     throw new NotImplementedException();
 }
 public Task <bool> DeleteVehicleDo(IVehicleData vehicle)
 {
     throw new NotImplementedException();
 }