Ejemplo n.º 1
0
        public async Task <Result> UpdateVehicleAsync(VehicleContract vehicleContract)
        {
            return(await ExecDBAsync(
                       async db =>
            {
                var vehicle = vehicleContract.ToModel();
                var(valid, error) = vehicle.Validate();
                if (valid)
                {
                    db.Vehicles.Attach(vehicle)
                    .Log(Log, result => (LogLevel.Info, $"Saving {result.ToContract()}."));

                    (await db.SaveChangesAsync()).Log(Log, rows => (LogLevel.Debug, $"Rows affected: {rows}"));

                    return Result.Succeeded();
                }


                Log.LogError($"Failed validation: {error}.");
                return Result.Failed(error);
            }
                       ));
        }
Ejemplo n.º 2
0
        public async Task <VehicleResult> AddVehicleAsync(VehicleContract vehicleContract)
        {
            return(await ExecDBAsync(
                       async db =>
            {
                var vehicle = vehicleContract.ToModel();
                var(valid, error) = vehicle.Validate();
                if (valid)
                {
                    vehicleContract = db.Vehicles.Add(vehicle)
                                      .ToContract()
                                      .Log(Log, result => (LogLevel.Info, $"Adding with new ID {result.ID}: {result}."));

                    (await db.SaveChangesAsync()).Log(Log, rows => (LogLevel.Debug, $"Rows affected: {rows}"));

                    return VehicleResult.Succeeded(vehicleContract);
                }


                Log.LogError($"Failed validation: {error}.");
                return VehicleResult.Failed(error);
            }
                       ));
        }