public static DvseMeter Update(DvseMeter meter) { if (meter == null) { throw new ArgumentNullException("meter"); } if (meter.Parameters == null || meter.Parameters.Count < 1) { throw new ArgumentException("meter is incomplete, meter.Parameters invalid"); } using (var context = ApplicationDbContext.Create()) { var existing = GetOne(meter.DvseMeterId); if (existing == null) { throw new InvalidOperationException("No meter to update found with id: " + meter.DvseMeterId); } context.Parameters.AddOrUpdate(meter.Parameters.ToArray()); context.DvseMeters.AddOrUpdate(meter); context.SaveChanges(); return meter; } }
public static StationDto Create(Station s, ProductionOrder order = null, DvseMeter meter = null) { var dto = new StationDto() { ComPort = s.ComPort, ComParamStatus = s.ComParamStatus, ScanMatrixStatus = s.ScanMatrixStatus, ScanPcbStatus = s.ScanPcbStatus, OrderUniqueId = s.OrderUniqueId, Order = order, ConfigurationOptions = s.ConfigurationOptions, MeterNo = s.MeterNo, Meter = meter, Number = s.Number, ParameterInfoSetName = order != null ? order.ParameterInfoSetName : string.Empty }; return dto; }