110 lines
3.1 KiB
C#
110 lines
3.1 KiB
C#
using MotorPlantContracts.BindingModels;
|
|
using MotorPlantContracts.SearchModels;
|
|
using MotorPlantContracts.StoragesContracts;
|
|
using MotorPlantContracts.VeiwModels;
|
|
using MotorPlantListImplement.Models;
|
|
|
|
|
|
namespace MotorPlantListImplement
|
|
{
|
|
public class Motortorage : IMotorStorage
|
|
{
|
|
private readonly DataListSingleton _source;
|
|
|
|
public Motortorage()
|
|
{
|
|
_source = DataListSingleton.GetInstance();
|
|
}
|
|
|
|
public List<MotorViewModel> GetFullList()
|
|
{
|
|
var result = new List<MotorViewModel>();
|
|
foreach (var Motor in _source.Motor)
|
|
{
|
|
result.Add(Motor.GetViewModel);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public List<MotorViewModel> GetFilteredList(MotorSearchModel model)
|
|
{
|
|
var result = new List<MotorViewModel>();
|
|
if (string.IsNullOrEmpty(model.MotorName))
|
|
{
|
|
return result;
|
|
}
|
|
foreach (var Motor in _source.Motor)
|
|
{
|
|
if (Motor.MotorName.Contains(model.MotorName))
|
|
{
|
|
result.Add(Motor.GetViewModel);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public MotorViewModel? GetElement(MotorSearchModel model)
|
|
{
|
|
if (string.IsNullOrEmpty(model.MotorName) && !model.Id.HasValue)
|
|
{
|
|
return null;
|
|
}
|
|
foreach (var Motor in _source.Motor)
|
|
{
|
|
if ((!string.IsNullOrEmpty(model.MotorName) && Motor.MotorName == model.MotorName) ||
|
|
(model.Id.HasValue && Motor.Id == model.Id))
|
|
{
|
|
return Motor.GetViewModel;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public MotorViewModel? Insert(MotorBindingModel model)
|
|
{
|
|
model.Id = 1;
|
|
foreach (var Motor in _source.Motor)
|
|
{
|
|
if (model.Id <= Motor.Id)
|
|
{
|
|
model.Id = Motor.Id + 1;
|
|
}
|
|
}
|
|
var newMotor = Motor.Create(model);
|
|
if (newMotor == null)
|
|
{
|
|
return null;
|
|
}
|
|
_source.Motor.Add(newMotor);
|
|
return newMotor.GetViewModel;
|
|
}
|
|
|
|
public MotorViewModel? Update(MotorBindingModel model)
|
|
{
|
|
foreach (var Motor in _source.Motor)
|
|
{
|
|
if (Motor.Id == model.Id)
|
|
{
|
|
Motor.Update(model);
|
|
return Motor.GetViewModel;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public MotorViewModel? Delete(MotorBindingModel model)
|
|
{
|
|
for (int i = 0; i < _source.Motor.Count; ++i)
|
|
{
|
|
if (_source.Motor[i].Id == model.Id)
|
|
{
|
|
var element = _source.Motor[i];
|
|
_source.Motor.RemoveAt(i);
|
|
return element.GetViewModel;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
}
|