Ejemplo n.º 1
0
        public override BUSScreenItem Init(TContext context)
        {
            BUSScreenItem businessEntity = base.Init(context);
            Screen        screen         = context.Screens.AsNoTracking().FirstOrDefault(i => i.Id.ToString() == ComponentsRecordsInfo.GetSelectedRecord("Screen"));

            if (screen != null)
            {
                businessEntity.Screen   = screen;
                businessEntity.ScreenId = screen.Id;
            }
            return(businessEntity);
        }
Ejemplo n.º 2
0
        public override UIScreenItem BusinessToUI(BUSScreenItem businessEntity)
        {
            UIScreenItem UIEntity = base.BusinessToUI(businessEntity);

            UIEntity.ScreenName         = businessEntity.ScreenName;
            UIEntity.ViewName           = businessEntity.ViewName;
            UIEntity.ParentCategoryName = businessEntity.ParentCategoryName;
            UIEntity.ParentItemName     = businessEntity.ParentItemName;
            UIEntity.Header             = businessEntity.Header;
            UIEntity.Type             = businessEntity.Type;
            UIEntity.DisplayInSiteMap = businessEntity.DisplayInSiteMap;
            return(UIEntity);
        }
        public override ScreenItem BusinessToData(ScreenItem screenItem, BUSScreenItem businessEntity, TContext context, bool NewRecord)
        {
            ScreenItem dataEntity = base.BusinessToData(screenItem, businessEntity, context, NewRecord);

            dataEntity.Screen           = businessEntity.Screen;
            dataEntity.ScreenId         = businessEntity.ScreenId;
            dataEntity.View             = businessEntity.View;
            dataEntity.ViewId           = businessEntity.ViewId;
            dataEntity.ParentCategory   = businessEntity.ParentCategory;
            dataEntity.ParentCategoryId = businessEntity.ParentCategoryId;
            dataEntity.ParentItem       = businessEntity.ParentItem;
            dataEntity.ParentItemId     = businessEntity.ParentItemId;
            dataEntity.Header           = businessEntity.Header;
            dataEntity.Type             = businessEntity.Type;
            dataEntity.DisplayInSiteMap = businessEntity.DisplayInSiteMap;
            return(dataEntity);
        }
        public override BUSScreenItem DataToBusiness(ScreenItem dataEntity, TContext context)
        {
            BUSScreenItem businessEntity = base.DataToBusiness(dataEntity, context);
            Screen        screen         = context.Screens
                                           .AsNoTracking()
                                           .Select(s => new
            {
                id          = s.Id,
                name        = s.Name,
                screenItems = s.ScreenItems.Select(screenItem => new
                {
                    id   = screenItem.Id,
                    name = screenItem.Name,
                })
            })
                                           .Select(s => new Screen
            {
                Id          = s.id,
                Name        = s.name,
                ScreenItems = s.screenItems.Select(screenItem => new ScreenItem
                {
                    Id   = screenItem.id,
                    Name = screenItem.name
                }).ToList()
            })
                                           .FirstOrDefault(i => i.Id == dataEntity.ScreenId);

            businessEntity.Screen     = screen;
            businessEntity.ScreenId   = screen.Id;
            businessEntity.ScreenName = screen.Name;

            View view = context.Views.FirstOrDefault(i => i.Id == dataEntity.ViewId);

            if (view != null)
            {
                businessEntity.View     = view;
                businessEntity.ViewId   = view.Id;
                businessEntity.ViewName = view.Name;
            }

            ScreenItem parentCategory = screen.ScreenItems.FirstOrDefault(i => i.Id == dataEntity.ParentCategoryId);

            if (parentCategory != null)
            {
                businessEntity.ParentCategory     = parentCategory;
                businessEntity.ParentCategoryId   = parentCategory.Id;
                businessEntity.ParentCategoryName = parentCategory.Name;
            }

            ScreenItem parentItem = screen.ScreenItems.FirstOrDefault(i => i.Id == dataEntity.ParentItemId);

            if (parentItem != null)
            {
                businessEntity.ParentItem     = parentItem;
                businessEntity.ParentItemId   = parentItem.Id;
                businessEntity.ParentItemName = parentItem.Name;
            }

            businessEntity.DisplayInSiteMap = dataEntity.DisplayInSiteMap;
            businessEntity.Header           = dataEntity.Header;
            businessEntity.Type             = dataEntity.Type;
            return(businessEntity);
        }
Ejemplo n.º 5
0
        public override BUSScreenItem UIToBusiness(UIScreenItem UIEntity, TContext context, IViewInfo viewInfo, bool isNewRecord)
        {
            BUSScreenItem businessEntity = base.UIToBusiness(UIEntity, context, viewInfo, isNewRecord);

            // Screen
            Screen screen = context.Screens
                            .AsNoTracking()
                            .Select(s => new
            {
                id          = s.Id,
                name        = s.Name,
                screenItems = s.ScreenItems.Select(screenItem => new
                {
                    id   = screenItem.Id,
                    name = screenItem.Name,
                })
            })
                            .Select(s => new Screen
            {
                Id          = s.id,
                Name        = s.name,
                ScreenItems = s.screenItems.Select(screenItem => new ScreenItem
                {
                    Id   = screenItem.id,
                    Name = screenItem.name
                }).ToList()
            })
                            .FirstOrDefault(i => i.Id.ToString() == ComponentsRecordsInfo.GetSelectedRecord("Screen"));

            if (screen == null)
            {
                businessEntity.ErrorMessage = "First you need create screen.";
            }
            else
            {
                // Если запись новая и она не уникальна, записывается ошибка
                ScreenItem screenItem = screen.ScreenItems?.FirstOrDefault(n => n.Name == UIEntity.Name);
                if (screen.ScreenItems != null && screenItem != null && screenItem.Id != UIEntity.Id)
                {
                    businessEntity.ErrorMessage = $"Screen item with this name is already exists in screen {screen.Name}.";
                }
                else
                {
                    businessEntity.Screen     = screen;
                    businessEntity.ScreenId   = screen.Id;
                    businessEntity.ScreenName = screen.Name;

                    // View
                    View view = context.Views.AsNoTracking().FirstOrDefault(n => n.Name == UIEntity.ViewName);
                    if (view != null)
                    {
                        businessEntity.View     = view;
                        businessEntity.ViewId   = view.Id;
                        businessEntity.ViewName = view.Name;
                    }

                    ScreenItem parentCategory = screen.ScreenItems.FirstOrDefault(n => n.Name == UIEntity.ParentCategoryName);
                    if (parentCategory != null)
                    {
                        businessEntity.ParentCategory     = parentCategory;
                        businessEntity.ParentCategoryId   = parentCategory.Id;
                        businessEntity.ParentCategoryName = parentCategory.Name;
                    }

                    ScreenItem parentItem = screen.ScreenItems.FirstOrDefault(n => n.Name == UIEntity.ParentItemName);
                    if (parentItem != null)
                    {
                        businessEntity.ParentItem     = parentItem;
                        businessEntity.ParentItemId   = parentItem.Id;
                        businessEntity.ParentItemName = parentItem.Name;
                    }
                }

                businessEntity.DisplayInSiteMap = UIEntity.DisplayInSiteMap;
                businessEntity.Header           = UIEntity.Header;
                businessEntity.Type             = UIEntity.Type;
            }

            return(businessEntity);
        }
Ejemplo n.º 6
0
        public override IEnumerable <ValidationResult> BUSUIValidate(TContext context, BUSScreenItem businessComponent, UIScreenItem UIEntity)
        {
            List <ValidationResult> result = base.BUSUIValidate(context, businessComponent, UIEntity).ToList();

            if (string.IsNullOrWhiteSpace(businessComponent.ErrorMessage))
            {
                if (businessComponent.View == null && !string.IsNullOrWhiteSpace(UIEntity.ViewName))
                {
                    result.Add(new ValidationResult(
                                   "View with this name not found.",
                                   new List <string>()
                    {
                        "ViewName"
                    }));
                }
                if (businessComponent.ParentCategory == null && !string.IsNullOrWhiteSpace(UIEntity.ParentCategoryName))
                {
                    result.Add(new ValidationResult(
                                   "Screen category with this name not found.",
                                   new List <string>()
                    {
                        "ParentCategory"
                    }));
                }
                if (businessComponent.ParentItem == null && !string.IsNullOrWhiteSpace(UIEntity.ParentItemName))
                {
                    result.Add(new ValidationResult(
                                   "Screen item with this name not found.",
                                   new List <string>()
                    {
                        "ParentItem"
                    }));
                }
            }
            return(result);
        }