Esempio n. 1
0
        private Boolean UpdateGlossaryItemNumber(Int64 GlossaryId, Boolean ChangeView)
        {
            GlossaryGroup Group = Manager.Get <GlossaryGroup>(GlossaryId);

            Group.TotalItems = (from Domain.Dto.ListItemDTO term in
                                Manager.GetAll <Domain.Dto.ListItemDTO>(term => (term.Group.Id == GlossaryId))
                                orderby term.Term
                                select term.Id).Count();

            if ((Group.TotalItems > MaxGlossaryItemPaging) && ChangeView)
            {
                Group.IsPaged = true;
            }


            if ((Group.TotalItems > MaxGlossaryItemView) && ChangeView)
            {
                Group.DefaultView = DefaultView.MultiColumn;
            }

            try
            {
                Manager.SaveOrUpdate <GlossaryGroup>(Group);
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Esempio n. 2
0
        public Boolean DeleteGroup(Int64 GroupID)
        {
            GlossaryGroup Group = Manager.Get <GlossaryGroup>(GroupID);

            if (Group == null)
            {
                return(false);
            }

            int CommunityGroups = (from Domain.GlossaryGroup grp in Manager.GetIQ <GlossaryGroup>()
                                   where grp.OwnerType == 0 && grp.OwnerId == this.UC.CurrentCommunityID
                                   select grp.Id).Count();

            if (CommunityGroups <= 1)
            {
                return(false);
            }

            Boolean isOk = false;

            Boolean isDefault = Group.IsDefault;

            IList <GlossaryItem> Items = Manager.GetAll <Domain.GlossaryItem>(term => (term.Group.Id == Group.Id)).ToList();

            if (Items != null && Items.Count > 0)
            {
                try { Manager.DeletePhysicalList <GlossaryItem>(Items); }
                catch { return(false); }
            }

            try
            {
                Manager.DeletePhysical <GlossaryGroup>(Group);
                isOk = true;
            }
            catch (Exception ex)
            {
                //return false;
            }

            if (isOk && isDefault)
            {
                GlossaryGroup DefGroup = Manager.GetAll <Domain.GlossaryGroup>(x => (x.OwnerType == 0 && x.OwnerId == this.UC.CurrentCommunityID)).FirstOrDefault();
                if (DefGroup != null)
                {
                    Person user = Manager.Get <Person>(UC.CurrentUserID);
                    DefGroup.UpdateMetaInfo(user, this.UC.IpAddress, this.UC.ProxyIpAddress);
                    DefGroup.IsDefault = true;
                    Manager.SaveOrUpdate <GlossaryGroup>(DefGroup);
                }
            }

            return(isOk);
        }
Esempio n. 3
0
        public Boolean SaveOrUpdateItem(Domain.Dto.AddEditItemDto ItemDTO)
        {
            Int64         OldGroupId = ItemDTO.GroupId;
            Boolean       isOk       = false;
            GlossaryItem  Item;
            GlossaryGroup Group = Manager.Get <GlossaryGroup>(ItemDTO.GroupId);

            Person user = Manager.Get <Person>(UC.CurrentUserID);


            if (ItemDTO.Id > 0)
            {
                Item       = Manager.Get <GlossaryItem>(ItemDTO.Id);
                OldGroupId = Item.Group.Id;

                Item.UpdateMetaInfo(user, UC.IpAddress, UC.ProxyIpAddress);
            }
            else
            {
                Item = new GlossaryItem();
                Item.CreateMetaInfo(user, UC.IpAddress, UC.ProxyIpAddress);
            }

            Item.Group      = Group;
            Item.Term       = ItemDTO.Term;
            Item.Definition = ItemDTO.Definition;
            Item.SetFirstLetter();

            try
            {
                Manager.SaveOrUpdate <GlossaryItem>(Item);
                isOk = true;
            }
            catch (Exception ex)
            {
            }



            if (isOk)
            {
                UpdateGlossaryItemNumber(ItemDTO.GroupId, true);
                if (OldGroupId != ItemDTO.GroupId)
                {
                    UpdateGlossaryItemNumber(OldGroupId, false);
                }
            }

            return(isOk);
        }
        public Boolean BindGlossaries(Int32 CommunityID, Boolean HasPermission)
        {
            Boolean HasElement = false;

            if (HasPermission && !UserContext.isAnonymous)
            {
                IList <Domain.GlossaryGroup> GlossaryGroup = Service.GetGlossaryList(CommunityID);

                if (GlossaryGroup == null)
                {
                    GlossaryGroup = new List <Domain.GlossaryGroup>();
                }
                if (GlossaryGroup.Count() > 0)
                {
                    HasElement = true;
                }

                this.View.BindGlossary(GlossaryGroup);
            }

            return(HasElement);
        }
Esempio n. 5
0
        public Int32 CopyGlossary(IList <Int64> SourceGlossariesIds, Int32 DestCommunityId)
        {
            Person user = Manager.Get <Person>(UC.CurrentUserID);
            //UC.IpAddress, UC.ProxyIpAddress)

            Int32 GlossaryCount = 0;
            Int32 TermsCount    = 0;

            IList <GlossaryGroup> SourceGlossaries = (from GlossaryGroup g in
                                                      Manager.GetAll <Domain.GlossaryGroup>
                                                          (x => (
                                                              SourceGlossariesIds.Contains(x.Id)
                                                              ))
                                                      select g).ToList <GlossaryGroup>();

            IList <GlossaryGroup> DestGlossaries = new List <GlossaryGroup>();

            foreach (GlossaryGroup GlGroup in SourceGlossaries)
            {
                GlossaryGroup DestGlGroup = new GlossaryGroup();
                DestGlGroup.CreatedBy             = GlGroup.CreatedBy;
                DestGlGroup.CreatedOn             = GlGroup.CreatedOn;
                DestGlGroup.CreatorIpAddress      = GlGroup.CreatorIpAddress;
                DestGlGroup.CreatorProxyIpAddress = GlGroup.CreatorProxyIpAddress;
                DestGlGroup.DefaultView           = GlGroup.DefaultView;
                DestGlGroup.Deleted     = GlGroup.Deleted;
                DestGlGroup.IsDefault   = false;
                DestGlGroup.IsPaged     = GlGroup.IsPaged;
                DestGlGroup.ItemPerPage = GlGroup.ItemPerPage;
                //DestGlGroup.ModifiedBy = UserId;
                //DestGlGroup.ModifiedIpAddress =
                DestGlGroup.ModifiedOn = DateTime.Now;
                //DestGlGroup.ModifiedProxyIpAddress =
                DestGlGroup.Name      = GlGroup.Name;
                DestGlGroup.OwnerId   = DestCommunityId;
                DestGlGroup.OwnerType = GlGroup.OwnerType;
                // ! ATTENZIONE NEL CASO DI COPINO SOLO SINGOLI TERMINI ! //
                DestGlGroup.TotalItems = GlGroup.TotalItems;
                DestGlGroup.UpdateMetaInfo(user, UC.IpAddress, UC.ProxyIpAddress);


                Manager.SaveOrUpdate <GlossaryGroup>(DestGlGroup);
                GlossaryCount += 1;

                if (DestGlGroup.TotalItems > 0)
                {
                    IList <GlossaryItem> DestTerms = new List <GlossaryItem>();

                    IList <GlossaryItem> Items = Manager.GetAll <Domain.GlossaryItem>(term => (term.Group.Id == GlGroup.Id)).ToList <GlossaryItem>();

                    foreach (GlossaryItem Term in Items)
                    {
                        GlossaryItem DestTerm = new GlossaryItem();
                        DestTerm.CreatedBy             = Term.CreatedBy;
                        DestTerm.CreatedOn             = Term.CreatedOn;
                        DestTerm.CreatorIpAddress      = Term.CreatorIpAddress;
                        DestTerm.CreatorProxyIpAddress = Term.CreatorProxyIpAddress;
                        DestTerm.Definition            = Term.Definition;
                        DestTerm.Deleted     = Term.Deleted;
                        DestTerm.FirstLetter = Term.FirstLetter;
                        DestTerm.Group       = DestGlGroup;
                        DestTerm.IsPublic    = Term.IsPublic;
                        DestTerm.Link        = Term.Link;
                        //DestTerm.ModifiedBy =
                        //DestTerm.ModifiedIpAddress =
                        DestTerm.ModifiedOn = DateTime.Now;
                        //DestTerm.ModifiedProxyIpAddress =
                        DestTerm.Term = Term.Term;

                        DestTerm.UpdateMetaInfo(user, UC.IpAddress, UC.ProxyIpAddress);

                        DestTerms.Add(DestTerm);

                        TermsCount += 1;
                    }
                    Manager.SaveOrUpdateList <GlossaryItem>(DestTerms);
                }
                //DestGlossaries.Add(DestGlGroup);
            }



            return(GlossaryCount);
        }
Esempio n. 6
0
        public Int64 SaveOrUpdateGroup(Domain.Dto.AddItemGroupDto GroupDTO)
        {
            GlossaryGroup Group;
            Person        user = Manager.Get <Person>(UC.CurrentUserID);



            if (GroupDTO.Id > 0)
            {
                Group = Manager.Get <GlossaryGroup>(GroupDTO.Id);
                Group.UpdateMetaInfo(user, UC.IpAddress, UC.ProxyIpAddress);
            }
            else
            {
                Group = new GlossaryGroup();
                Group.CreateMetaInfo(user, UC.IpAddress, UC.ProxyIpAddress);
                Group.OwnerType   = 0; //Community
                Group.OwnerId     = this.UC.CurrentCommunityID;
                Group.ItemPerPage = 20;
                Group.DefaultView = DefaultView.MultiColumn;
            }

            Group.Name = GroupDTO.Name;


            Group.DefaultView = GroupDTO.DefaultView;
            Group.IsPaged     = GroupDTO.IsPaged;
            Group.ItemPerPage = GroupDTO.ItemPerPage;

            Group.IsDefault = GroupDTO.IsDefault;

            var AllGroups = Manager.GetAll <Domain.GlossaryGroup>
                                (x => (
                                    x.OwnerType == 0 &&
                                    x.OwnerId == this.UC.CurrentCommunityID &&
                                    x.IsDefault == true &&
                                    x.Id != Group.Id
                                    ));

            if (Group.IsDefault && AllGroups.Count() > 0)
            {
                foreach (GlossaryGroup grp in AllGroups)
                {
                    grp.IsDefault = false;
                }

                Manager.SaveOrUpdateList <GlossaryGroup>(AllGroups);
            }
            else if ((Group.IsDefault) && AllGroups.Count() == 0)
            {
                Group.IsDefault = true;
            }

            try
            {
                Manager.SaveOrUpdate <GlossaryGroup>(Group);
                return(Group.Id);
            }
            catch (Exception ex)
            {
                return(-1);
            }
        }