Files
carmanager-3/CarManagerV2/Car.cs
2025-11-28 12:37:22 +01:00

69 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CarManagerV2
{
public class Car
{
int id;
string make;
string model;
int year;
string color;
int mileage;
decimal price;
int order;
public Car(int id, string make, string model, int year, string color, int mileage, decimal price, int order = 0)
{
this.id = id;
this.make = make;
this.model = model;
this.year = year;
this.color = color;
this.mileage = mileage;
this.price = price;
this.order = order;
}
public int Id { get { return id; } set { id = value; } }
public string Make { get { return make; } set { make = value; } }
public string Model { get { return model; } set { model = value; } }
public int Year { get { return year; } set { year = value; } }
public string Color { get { return color; } set { color = value; } }
public int Mileage { get { return mileage; } set { mileage = value; } }
public decimal Price { get { return price; } set { price = value; } }
public int Order { get { return order; } set { order = value; } }
public override string ToString()
{
return $"{make} {model} ({year})";
}
public string ToCsvString()
{
return $"{id};{make};{model};{year};{color};{mileage};{price}";
}
public static Car FromCsvString(string csv)
{
string[] parts = csv.Split(';');
return new Car(int.Parse(parts[0]), parts[1], parts[2], int.Parse(parts[3]), parts[4], int.Parse(parts[5]), decimal.Parse(parts[6]));
}
public bool IsChanged(Car other)
{
return make != other.make || model != other.model || year != other.year || color != other.color || mileage != other.mileage || price != other.price || other.color != color;
}
public Car Clone()
{
return new Car(id, make, model, year, color, mileage, price);
}
}
}