Some code for adding vehicles to DB

This commit is contained in:
Selim Mustafaev 2024-05-07 18:28:51 +03:00
parent 7592c39529
commit ccea3009a9
5 changed files with 38 additions and 6 deletions

View File

@ -1,12 +1,24 @@
using System.Threading.Tasks;
using AutoCatCore.Model;
using AutoCatCore.Services.Storage;
namespace AutoCat.ViewModels;
public class HistoryViewModel: ViewModelBase
{
#region Dependencies
private readonly IStorageService _storageService;
#endregion
public HistoryViewModel(IStorageService storageService)
{
_storageService = storageService;
}
public async Task AddVehicle(Vehicle vehicle)
{
await _storageService.AddVehicle(vehicle);
}
}

View File

@ -6,9 +6,18 @@ namespace AutoCatCore.Model
{
public DbSet<User> Users { get; private set; }
public DbSet<Vehicle> Vehicles { get; private set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("filename=autocat.db");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Vehicle>().HasOne(v => v.Brand);
modelBuilder.Entity<VehicleBrand>().HasNoKey().ToView("VehicleBrandView");
}
}
}

View File

@ -1,9 +1,12 @@
namespace AutoCatCore.Model
using System.ComponentModel.DataAnnotations;
namespace AutoCatCore.Model
{
public class Osago
{
public double? Date { get; set; }
[Key]
public string? Number { get; set; }
public double? Date { get; set; }
public string? Vin { get; set; }
public string? PlateNumber { get; set; }
public string? Name { get; set; }

View File

@ -9,4 +9,6 @@ public interface IStorageService
public string? AuthToken { get; }
public Task SetUser(User user);
public Task AddVehicle(Vehicle vehicle);
}

View File

@ -20,6 +20,12 @@ public class StorageService: IStorageService
public string? AuthToken => _dbContext.Users.Any() ? _dbContext.Users.First().Token : null;
public StorageService()
{
_dbContext = new AutoCatDbContext();
_dbContext.Database.EnsureCreated();
}
public async Task SetUser(User user)
{
await _dbContext.Users.ExecuteDeleteAsync();
@ -27,9 +33,9 @@ public class StorageService: IStorageService
await _dbContext.SaveChangesAsync();
}
public StorageService()
public async Task AddVehicle(Vehicle vehicle)
{
_dbContext = new AutoCatDbContext();
_dbContext.Database.EnsureCreated();
await _dbContext.Vehicles.AddAsync(vehicle);
await _dbContext.SaveChangesAsync();
}
}