private void Create(MeterTypeAggregate item, bool notCheck) { context.ExecuteInTransaction(() => { if (!notCheck && (item.Id != -1 || context.MeterTypeDTOs.SingleOrDefault(x => x.Id == item.Id) != null)) { throw new ArgumentException($"Meter type id = {item.Id} found"); } var newItem = Mapper.Map <MeterTypeDTO>(item); context.MeterTypeDTOs.Add(newItem); }); }
public MeterTypeAggregate Get(long id) { var item = context.MeterTypeDTOs.FirstOrDefault(v => v.Id == id); if (item == null) { throw new ArgumentException($"Meter type id = {id} not found"); } var result = new MeterTypeAggregate(item.Id, item.Name, item.ManufacturerName, item.ModelName, item.CalibrationIntervals, item.Deleted); return(result); }
public void Update(MeterTypeAggregate item) { context.ExecuteInTransaction(() => { var existed = context.MeterTypeDTOs.SingleOrDefault(x => x.Id == item.Id); if (existed != null) { Mapper.Map(item, existed); } else { Create(item, true); } }); }
public void Create(MeterTypeAggregate item) { Create(item, false); }