public ServiceInfo[] UpdateServiceInfos(bool returnResult, params ServiceInfo[] serviceInfos) { if (serviceInfos == null || serviceInfos.Length == 0) { return(Array.Empty <ServiceInfo>()); } var results = new List <ServiceInfo>(); using (var context = new LayoutContext()) { foreach (var info in serviceInfos) { var first = context.ServiceInfos.SingleOrDefault(x => x.Id != null && x.Id == info.Id); if (first == null) { if (returnResult) { results.Add(context.Add(info).Entity); } else { context.Add(info); } } else { first.Address = info.Address; first.Enable = info.Enable; first.Function = info.Function; first.Service = info.Service; first.Name = info.Name; if (returnResult) { results.Add(first); } } } context.SaveChanges(); return(results.ToArray()); } }
public DataSource UpdateDataSource(DataSource dataSource) { using (var context = new LayoutContext()) { if (context.DataSources.Any(x => x.DataSourceId == dataSource.DataSourceId)) { context.Update(dataSource); } else { dataSource = context.Add(dataSource).Entity; } context.SaveChanges(); return(dataSource); } }
public void Execute(LayoutContext context, string arg) { Texture2D image; if (Images.TryGetValue(arg, out image)) { var size = new Size(image.Width, image.Height); if (context.Options.ScaleImages) { var ratio = context.Font.FontHeight / (float)image.Height; size = new Size((int)(image.Width * ratio), (int)(image.Height * ratio)); } Vector2 insertionPoint = context.ReserveSpace(size); var item = new TextureLayoutItem(image, insertionPoint, size); context.Add(item); } }