Example #1
0
        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());
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
            }
        }