private string GetUniqPath(Data.PersonStructureDefine entity)
        {
            StringBuilder str = new StringBuilder();

            str.Append(string.Format("#{0}", entity.ID));

            Data.PersonStructureDefine _entity = this.GetAll().Where(r => r.ID == entity.Parent_ID).FirstOrDefault();

            while (_entity != null)
            {
                str.Insert(0, string.Format("#{0}", _entity.ID));
                _entity = this.GetAll().Where(r => r.ID == _entity.Parent_ID).FirstOrDefault();
            }
            return(str.ToString());
        }
        public Data.PersonStructureDefine GetStructure(Guid Type, string Name, Guid?ParentID, string Code)
        {
            Data.PersonStructureDefine _entity = new Data.PersonStructureDefine();

            _entity.ID        = Guid.NewGuid();
            _entity.Type      = Type;
            _entity.Name      = Name;
            _entity.Parent_ID = ParentID;
            _entity.Code      = GetCode(_entity.Type, Code);

            _entity.LastEdit  = DateTime.Now;
            _entity.Uniq_Path = GetUniqPath(_entity);

            return(_entity);
        }
 public void Insert(Data.PersonStructureDefine _personStructureDefine)
 {
     try
     {
         if (_personStructureDefine.ID == Guid.Empty)
         {
             _personStructureDefine.ID = Guid.NewGuid();
         }
         this.Table.Add(_personStructureDefine);
         this.SubmitChanges();
     }
     catch
     {
         throw;
     }
 }
        public void Delete(Data.PersonStructureDefine DeletedItem)
        {
            try
            {
                string errorMessage = string.Empty;
                if (!this.ValidateDelete(DeletedItem, out errorMessage))
                {
                    throw new Exception(errorMessage);
                }

                this.Table.Remove(DeletedItem);
                this.SubmitChanges();
            }
            catch
            {
                throw;
            }
        }
        //public IEnumerable<MoeinReport> GetMoeins()
        //{
        //    try
        //    {
        //        var s = this.GetAll().Where(r => r.Type == Constants.CodeTitle.PersonIDGroup)
        //            .Join(this.GetAll(), o => o.Parent_ID, i => i.ID, (m, k) => new { moein = m, kol = k })
        //            .Join(this.GetAll(), o => o.kol.Parent_ID, i => i.ID, (m, g) => new { Mo = m, go = g }).ToList();
        //        var ssd = s.Select(r => new MoeinReport()
        //        {
        //            ID = r.Mo.moein.ID,
        //            GoruhCode = r.go.Code,
        //            GoruhName = r.go.Name,
        //            KolCode = r.Mo.kol.Code,
        //            KolName = r.Mo.kol.Name,
        //            MoeinCode = r.Mo.moein.Code,
        //            MoeinName = r.Mo.moein.Name
        //        });

        //        return ssd;
        //    }
        //    catch
        //    {

        //        throw;
        //    }

        //}

        //public Data.PersonStructureDefine GetByCode(string Code)
        //{
        //    try
        //    {
        //        return this.GetAll().Where(r => r.Code == Code).FirstOrDefault();
        //    }
        //    catch
        //    {

        //        throw;
        //    }
        //}

        //public string GetMoeinFromParentCode(string ParentCode)
        //{
        //    try
        //    {
        //        return this.GetAll().Where(r => r.Code.Contains(ParentCode)).Max(r => r.Code);
        //    }
        //    catch
        //    {

        //        throw;
        //    }
        //}

        public Data.PersonStructureDefine GetParent(Data.PersonStructureDefine ChangableItem)
        {
            try
            {
                if (ChangableItem.Parent_ID == null)
                {
                    return(this.GetAll().Where(r => r.ID.Equals(ChangableItem.Parent_ID)).FirstOrDefault());
                }
                else
                {
                    return(this.GetAll().Where(r => r.ID == ChangableItem.Parent_ID).FirstOrDefault());
                }
            }
            catch
            {
                return(null);
            }
        }
 public void SaveWithID(Data.PersonStructureDefine _personStructureDefine)
 {
     try
     {
         Guid i = Business.GetPersonStructureDefineChildBusiness().GetAll().Where(r => r.ID == _personStructureDefine.ID).Select(r => r.ID).FirstOrDefault();
         if (i == Guid.Empty)
         {
             this.Insert(_personStructureDefine);
         }
         else
         {
             this.SubmitChanges();
         }
     }
     catch
     {
         throw;
     }
 }
示例#7
0
        public void Delete(Data.PersonStructureDefine DeletedItem)
        {
            try
            {
                try
                {
                    if (DeletedItem == null)
                    {
                        return;
                    }

                    this.Table.Remove(DeletedItem);
                    this.SubmitChanges();
                }
                catch
                {
                    throw;
                }
            }
            catch
            {
                throw;
            }
        }
        private bool ValidateDelete(Data.PersonStructureDefine DeletedItem, out string errorMessage)
        {
            try
            {
                errorMessage = string.Empty;

                if (DeletedItem == null)
                {
                    errorMessage = Localize.ex_no_record;
                    return(false);
                }

                if (this.GetAll().Where(r => r.Parent_ID == DeletedItem.ID).Any())
                {
                    errorMessage = Localize.ex_record_already_used;
                }

                return(errorMessage == string.Empty);
            }
            catch
            {
                throw;
            }
        }