public override string Build()
        {
            Add(Tab(2), string.Format("public static {0} Create({0} template)", EntityName));
            Add(Tab(2), "{");
            Add(Tab(3), string.Format("return Create(template, {0});", Settings.IsRecursiveCrud.ToString().ToLower()));
            Add(Tab(2), "}", NewLine());

            Add(Tab(2), string.Format("public static {0} Create({0} template, bool isAddChildren)", EntityName));
            Add(Tab(2), "{");
            Add(Tab(3), "var returnValue = new ", EntityName, "()");
            Add(Tab(3), "{");

            AddFieldAssignments();

            Add(Tab(3), "};", NewLine());

            if (Navigations.Any() || CollectionNavigations.Any())
            {
                Add(Tab(3), "if(isAddChildren)");
                Add(Tab(4), "AddChildrenForCreate(returnValue, template);", NewLine());
            }

            //if (IsRoot)
            //	Add(Tab(3), "context.", EntityNamePluralized, ".Add(returnValue);", NewLine());

            Add(Tab(3), "return returnValue;");
            Add(Tab(2), "}", NewLine());

            return(base.Build());
        }
        public override string Build()
        {
            if (!Navigations.Any() && !CollectionNavigations.Any())
            {
                return(string.Empty);
            }

            AddUpdateChildren();

            if (InnerContainer.Length == 0)
            {
                //return string.Empty;
            }
            else
            {
                InnerContainer.Remove(InnerContainer.Length - 2, 2);
            }

            Add(Tab(2), string.Format("private void UpdateChildren({0} template)", EntityName));
            Add(Tab(2), "{");

            Add(false, InnerContainer.ToString());

            Add(Tab(2), "}", NewLine());

            return(base.Build());
        }
Beispiel #3
0
        public override string Build()
        {
            Add(Tab(2), string.Format("public void Update({0} template)", EntityName));
            Add(Tab(2), "{");
            Add(Tab(3), string.Format("Update(template, {0}, {0}, {0});", Settings.IsRecursiveCrud.ToString().ToLower()));
            Add(Tab(2), "}", NewLine());
            Add(Tab(2), string.Format("public void Update({0} template, bool isUpdateChildren, bool isAddChildren, bool isDeleteChildren)", EntityName));
            Add(Tab(2), "{");

            AddFieldAssignments();

            if (Navigations.Any() || CollectionNavigations.Any())
            {
                Add();
                Add(Tab(3), "if(isUpdateChildren)");
                Add(Tab(4), "UpdateChildren(template);", NewLine());
                Add(Tab(3), "if(isAddChildren)");
                Add(Tab(4), "AddChildrenForUpdate(template);", NewLine());
                Add(Tab(3), "if(isDeleteChildren)");
                Add(Tab(4), "DeleteChildrenForUpdate(template);");
            }

            //if (IsRoot)
            //	Add(NewLine(), Tab(3), "context.", EntityNamePluralized, ".Update(this);");

            Add(Tab(2), "}");

            return(base.Build());
        }
Beispiel #4
0
        public virtual Navigation AddNavigation([NotNull] string name, [NotNull] ForeignKey foreignKey, bool pointsToPrincipal)
        {
            Check.NotEmpty(name, nameof(name));
            Check.NotNull(foreignKey, nameof(foreignKey));

            var duplicateNavigation = FindNavigationsInHierarchy(name).FirstOrDefault();

            if (duplicateNavigation != null)
            {
                throw new InvalidOperationException(CoreStrings.DuplicateNavigation(name, DisplayName(), duplicateNavigation.DeclaringEntityType.DisplayName()));
            }

            var duplicateProperty = FindPropertiesInHierarchy(name).FirstOrDefault();

            if (duplicateProperty != null)
            {
                throw new InvalidOperationException(CoreStrings.ConflictingProperty(name, DisplayName(),
                                                                                    duplicateProperty.DeclaringEntityType.DisplayName()));
            }

            var otherNavigation = Navigations.FirstOrDefault(
                n => n.ForeignKey == foreignKey &&
                n.PointsToPrincipal() == pointsToPrincipal);

            if (otherNavigation != null)
            {
                throw new InvalidOperationException(CoreStrings.MultipleNavigations(name, otherNavigation.Name, Name));
            }

            var declaringTypeFromFk = pointsToPrincipal
                ? foreignKey.DeclaringEntityType
                : foreignKey.PrincipalEntityType;

            if (declaringTypeFromFk != this)
            {
                throw new InvalidOperationException(CoreStrings.NavigationOnWrongEntityType(name, Name, declaringTypeFromFk.Name));
            }

            Navigation.IsCompatible(
                name,
                this,
                pointsToPrincipal ? foreignKey.PrincipalEntityType : foreignKey.DeclaringEntityType,
                !pointsToPrincipal && !((IForeignKey)foreignKey).IsUnique,
                shouldThrow: true);

            var navigation = new Navigation(name, foreignKey);

            _navigations.Add(name, navigation);
            if (pointsToPrincipal)
            {
                foreignKey.DependentToPrincipal = navigation;
            }
            else
            {
                foreignKey.PrincipalToDependent = navigation;
            }

            return(navigation);
        }
 public FirstPageViewModel(IFirstPageViewProvider viewProvider)
 {
     _viewProvider         = viewProvider;
     CollectionListCommand = new RelayCommand(() => Navigations.GotoCollectionItemList());
     ImageListCommand      = new RelayCommand(() => Navigations.GotoImageList());
     CollectionItemCommand = new RelayCommand(() => Navigations.GotoCollectionItem());
     PrintCommand          = new RelayCommand(() => Navigations.GotoLabelPrint());
 }
 public CollectionItemListViewModel(ICollectionItemListViewProvider viewProvider)
 {
     _viewProvider                      = viewProvider;
     GotoImageGallaryCommand            = new RelayCommand(() => Navigations.GotoCollectionItemImageGallary(SelectedCollectionItem.InnerObject.Id), IsItemSelected);
     EditCurrentCollectionItemCommand   = new RelayCommand(() => Navigations.GotoCollectionItem(SelectedCollectionItem.InnerObject.Id), IsItemSelected);
     DeleteCurrentCollectionItemCommand = new RelayCommand(DeleteCurrentCollectionItem, IsItemSelected);
     CopyNameCommand                    = new RelayCommand(CopyNameToClipboard, IsItemSelected);
     SortCommand = new RelayCommand(Sort);
 }
 private MenuItemDefinition GetMenuItemByNav(Navigations.Navigation navigation)
 {
     return new MenuItemDefinition(
         navigation.Name,
         L(navigation.LocalizableString),
         url: navigation.State,
         icon: navigation.Icon,
         requiredPermissionName: navigation.PermissionName
         );
 }
        protected override CollectionItemViewModel DeleteImp()
        {
            var deletedItem = base.DeleteImp();

            if (deletedItem != null)
            {
                NotifyOthers(deletedItem.InnerObject, OperationType.Delete);
                Navigations.CloseCurrentView();
            }
            return(deletedItem);
        }
        private async void Save()
        {
            LoaderState.ToBusy();
            var dto = new ImageGalleryDto
            {
                CollectionItemId = _collectionItemId,
                Images           = Images.Where(x => !x.IsSelected).Select(x => x.InnerObject).ToList()
            };
            await _dataProvider.SaveImageGalleryAsync(dto);

            LoaderState.ToIdle();
            Navigations.CloseCurrentView();
        }
Beispiel #10
0
        private IList <NavigationEntity> LoadMobiles(IEnumerable <NavigationEntity> navs)
        {
            List <NavigationEntity> mobileNavs = new List <NavigationEntity>();

            if (!navs.Any())
            {
                return(mobileNavs);
            }
            mobileNavs.AddRange(navs.Where(m => m.IsMobile ?? false).ToList());
            foreach (var item in navs)
            {
                mobileNavs.AddRange(LoadMobiles(Navigations.Where(m => m.ParentId == item.ID).ToList()));
            }
            return(mobileNavs);
        }
Beispiel #11
0
        internal void Add(Frame region)
        {
            if (String.IsNullOrWhiteSpace(region.Name))
            {
                throw new ArgumentNullException("Name");
            }

            if (Navigations.ContainsKey(region.Name))
            {
                Logger.Technical.From <RegionManager>().System($"A region with name: {region.Name} is already registered.").Log();
                throw new DuplcateRegionException(region.Name);
            }

            Navigations.Add(region.Name, new NavigationService(region));
        }
Beispiel #12
0
        //-----------------------------------------------------提交笔记
        /// <summary>
        ///
        /// </summary>
        /// <param name="uid"></param>
        /// <param name="title"></param>
        /// <param name="content"></param>
        /// <param name="content_style"></param>
        /// <param name="tags"></param>
        /// <returns></returns>
        public static bool Submit_Note(int uid, string title, string content, string content_style, List <string> tags)
        {
            ZZULIEntities ef = GetEntity();
            //提交笔记
            Notes note = new Notes()
            {
                User_ID = uid, N_Title = title, N_Content = content, N_Content_Style = content_style, N_Time = DateTime.Now, N_IsOriginal = true
            };

            ef.Notes.Add(note);
            ef.SaveChanges();
            int nid = note.N_ID;

            //提交标签
            var           taglist  = ef.Navigations.Where(n => n.Nav_ID > 0);
            List <string> exits_id = taglist.Select(n => n.Nav_Name).ToList();

            tags.ForEach(t =>
            {
                //如果用户提交的标签不存在,就将该标签添加到数据库
                if (!exits_id.Contains(t))
                {
                    Navigations nav = new Navigations()
                    {
                        Nav_Name = t, Nav_Type = 3, Nav_UseNum = 1, Ower_ID = 0, Nav_Describe = "", Nav_FollowNum = 0
                    };
                    ef.Navigations.Add(nav);
                    ef.SaveChanges();
                    int tid = nav.Nav_ID;
                    ef.ObjectTags.Add(new ObjectTags()
                    {
                        Obj_ID = nid, Obj_TagID = tid, Obj_Type = 34
                    });
                }
                else//如果用户提交的标签已经存在,就将标签的使用量加1
                {
                    var ta = taglist.Single(tag => tag.Nav_Name == t);
                    ef.ObjectTags.Add(new ObjectTags()
                    {
                        Obj_ID = nid, Obj_TagID = ta.Nav_ID, Obj_Type = 34
                    });
                    ta.Nav_UseNum++;
                }
            });
            //保存用户为笔记设置的标签

            return(ef.SaveChanges() > 0 ? true : false);
        }
Beispiel #13
0
        private string GetSubState(Navigations.Navigation subNav)
        {
            var sb = new StringBuilder();

            if (subNav.TemplateUrl.IsNullOrEmpty())
            {
                return string.Empty;
            }

            sb.AppendLine("if (abp.auth.hasPermission('" + subNav.PermissionName + "')) {");
            sb.AppendLine("    $stateProvider.state('" + subNav.State + "', {");
            sb.AppendLine("        url: '" + subNav.StateUrl + "',");
            sb.AppendLine("        templateUrl: '" + subNav.TemplateUrl + "',");
            sb.AppendLine("        menu: '" + subNav.Name + "'");
            sb.AppendLine("    });");
            sb.AppendLine("}");

            return sb.ToString();
        }
        public ImageGallaryEditorViewModel(IImageGalleryViewProvider dataProvider)
        {
            _dataProvider           = dataProvider;
            SaveCommand             = new RelayCommand(Save, CanUndo);
            CancelCommand           = new RelayCommand(() => Navigations.CloseCurrentView(), () => LoaderState.IsIdle);
            AddImageCommand         = new RelayCommand(AddImage, () => LoaderState.IsIdle);
            DeleteImageCommand      = new RelayCommand(DeleteSelectedImages, IsAnythingSelected);
            UndoCommand             = new RelayCommand(Undo, CanUndo);
            SelectAllCommand        = new RelayCommand(SelectAll);
            DeSelectAllCommand      = new RelayCommand(DeSelectAll);
            SaveToFilesCommand      = new RelayCommand(() => SaveToFiles("imageFile"), IsAnythingSelected);
            SaveForInstagramCommand = new RelayCommand(() => SaveToFiles("zipFile"), IsAnythingSelected);

            _progress = new Progress <ImageDto>(dto =>
            {
                var vm = new ImageItemViewModel(dto, Navigations);
                Images.Add(vm);
            });

            Images = new ObservableCollection <ImageItemViewModel>();
        }
Beispiel #15
0
    public EntityTypeMapping(IEntityType entityType)
    {
        Name       = entityType.Name;
        TableName  = entityType.GetTableName();
        PrimaryKey = entityType.FindPrimaryKey() !.ToDebugString(MetadataDebugStringOptions.SingleLineDefault);

        Properties.AddRange(
            entityType.GetProperties()
            .Select(p => p.ToDebugString(MetadataDebugStringOptions.SingleLineDefault)));

        Indexes.AddRange(
            entityType.GetIndexes().Select(i => $"{i.Properties.Format()} {(i.IsUnique ? "Unique" : "")}"));

        FKs.AddRange(
            entityType.GetForeignKeys().Select(f => f.ToDebugString(MetadataDebugStringOptions.SingleLineDefault)));

        Navigations.AddRange(
            entityType.GetNavigations().Select(n => n.ToDebugString(MetadataDebugStringOptions.SingleLineDefault)));

        SkipNavigations.AddRange(
            entityType.GetSkipNavigations().Select(n => n.ToDebugString(MetadataDebugStringOptions.SingleLineDefault)));
    }
 public MainViewModel()
 {
     MenuItemCommand = new RelayCommand(destination =>
     {
         var cmd = destination.ToString().ToLower();
         if (cmd == "genus")
         {
             Navigations.GotoGenera();
         }
         else if (cmd == "taxon")
         {
             Navigations.GotoTaxa();
         }
         else if (cmd == "collectionitem")
         {
             Navigations.GotoCollectionItem();
         }
         else if (cmd == "supplier")
         {
             Navigations.GotoSuppliers();
         }
         else if (cmd == "collector")
         {
             Navigations.GotoCollectors();
         }
         else if (cmd == "printlabel")
         {
             Navigations.GotoLabelPrint();
         }
         else if (cmd == "gallary")
         {
             Navigations.GotoImageList();
         }
     });
     HomeCommand = new RelayCommand(() => Navigations.GotoHome());
 }
Beispiel #17
0
        public virtual Navigation AddNavigation([NotNull] string name, [NotNull] ForeignKey foreignKey, bool pointsToPrincipal)
        {
            Check.NotEmpty(name, nameof(name));
            Check.NotNull(foreignKey, nameof(foreignKey));

            if (FindNavigationCollisions(new[] { name }).Any())
            {
                throw new InvalidOperationException(Strings.DuplicateNavigation(name, Name));
            }

            var otherNavigation = Navigations.FirstOrDefault(
                n => n.ForeignKey == foreignKey &&
                n.PointsToPrincipal() == pointsToPrincipal);

            if (otherNavigation != null)
            {
                throw new InvalidOperationException(Strings.MultipleNavigations(name, otherNavigation.Name, Name));
            }

            var declaringTypeFromFk = pointsToPrincipal
                ? foreignKey.DeclaringEntityType
                : foreignKey.PrincipalEntityType;

            if (declaringTypeFromFk != this)
            {
                throw new InvalidOperationException(Strings.NavigationOnWrongEntityType(name, Name, declaringTypeFromFk.Name));
            }

            var navigation = new Navigation(name, foreignKey);

            _navigations.Add(name, navigation);
            if (pointsToPrincipal)
            {
                foreignKey.DependentToPrincipal = navigation;
            }
            else
            {
                foreignKey.PrincipalToDependent = navigation;
            }

            if (!HasClrType)
            {
                throw new InvalidOperationException(Strings.NavigationOnShadowEntity(navigation.Name, Name));
            }

            var clrProperty = ClrType.GetPropertiesInHierarchy(navigation.Name).FirstOrDefault();

            if (clrProperty == null)
            {
                throw new InvalidOperationException(Strings.NoClrNavigation(navigation.Name, Name));
            }

            var targetType = navigation.GetTargetType();

            if (!targetType.HasClrType)
            {
                throw new InvalidOperationException(Strings.NavigationToShadowEntity(navigation.Name, Name, targetType.Name));
            }

            var targetClrType = targetType.ClrType;

            Debug.Assert(targetClrType != null, "targetClrType != null");
            if (navigation.IsCollection())
            {
                var elementType = clrProperty.PropertyType.TryGetSequenceType();

                if (elementType == null ||
                    !elementType.GetTypeInfo().IsAssignableFrom(targetClrType.GetTypeInfo()))
                {
                    throw new InvalidOperationException(Strings.NavigationCollectionWrongClrType(
                                                            navigation.Name, Name, clrProperty.PropertyType.FullName, targetClrType.FullName));
                }
            }
            else if (!clrProperty.PropertyType.GetTypeInfo().IsAssignableFrom(targetClrType.GetTypeInfo()))
            {
                throw new InvalidOperationException(Strings.NavigationSingleWrongClrType(
                                                        navigation.Name, Name, clrProperty.PropertyType.FullName, targetClrType.FullName));
            }

            return(navigation);
        }
Beispiel #18
0
 public IEnumerable <NavigationEntity> Mobiles(string root)
 {
     return(LoadMobiles(Navigations.Where(m => m.ParentId == root).ToList()));
 }
Beispiel #19
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     Navigations.NextPage(new ListPage());
 }
 private void AddUpdateChildren()
 {
     Navigations.Each(p => AddUpdateChild(p));
     CollectionNavigations.Each(p => AddUpdateChildCollections(p));
 }
Beispiel #21
0
 public TaxonEditorViewModel(ITaxonViewProvider dataProvider)
     : base(dataProvider)
 {
     _dataProvider     = dataProvider;
     GotoGeneraCommand = new RelayCommand(() => Navigations.GotoGenera());
 }
Beispiel #22
0
        public virtual Navigation TryGetNavigation([NotNull] string name)
        {
            Check.NotEmpty(name, "name");

            return(Navigations.FirstOrDefault(n => Matches(n, name)));
        }
Beispiel #23
0
 public INavigation TryGetNavigation([NotNull] string name)
 {
     return(Navigations.FirstOrDefault(p => p.Name == name));
 }
Beispiel #24
0
 public void Clear()
 {
     Navigations.Clear();
 }