示例#1
0
        public int updateRefferenceUser(int letterid, int userTreeId)
        {
            if (letterid < 0)
            {
                return(0);
            }
            //
            int referFromUserId = int.Parse(UsersBS.loginedUser.get(UsersEntity.FIELD_ID).ToString());

            ((LetterDA)_abstractDA).updateRefferenceUser(letterid, userTreeId, referFromUserId);

            ReferLetterBL referLetterBL = new ReferLetterBL();
            //Register Refer to referletter table
            int currUserId = int.Parse(UsersBS.loginedUser.get(UsersEntity.FIELD_ID).ToString());
            // کاربری که در درخت قرار دارد را شناسایی کرده و
            // به userTreeUserId الحاق شود
            UserTreeBL userTreeBL = new UserTreeBL();

            UserTreeEntity usertreeEntity = userTreeBL.get(userTreeId);
            int            usertreeUserId = int.Parse(usertreeEntity.get(UserTreeEntity.FIELD_USER_ID).ToString());

            //بررسی برای برگشت ارجاع
            // اگر برگشت باشد ثبت می کند
            checkForReferenceCycle(letterid, currUserId, usertreeUserId);


            ReferLetterEntity entity = new ReferLetterEntity();
            DataRow           dr     = entity.Tables[entity.TableName].NewRow();

            dr[ReferLetterEntity.FIELD_LETTER_ID]       = letterid;
            dr[ReferLetterEntity.FIELD_REFER_DATE]      = DateTime.Now;
            dr[ReferLetterEntity.FIELD_REFER_FROM_USER] = currUserId;
            dr[ReferLetterEntity.FIELD_REFER_TO_USER]   = usertreeUserId;// کاربر در درخت کاربران

            entity.Tables[entity.TableName].Rows.Add(dr);
            referLetterBL.add(entity);

            //check how many reffer occured this letter
            // اگر بیش از حد ارجاع شده باشد رنگ ان را تغییر خواهیم داد
            int refCount = referLetterBL.getReferCount(letterid);
            ApplicationPropertiesBL appProBl = new ApplicationPropertiesBL();
            int masterRefCount = int.Parse(appProBl.getValue(ApplicationPropertiesBL.REFERENCE_COUNT));

            if (refCount >= masterRefCount)
            {
                string refColor = appProBl.getValue(ApplicationPropertiesBL.COLOR_REFERENCE_LIMIT);
                updateRefColor(letterid, refColor);
            }
            return(1);
        }
示例#2
0
        private ReferLetterEntity getLastReferedEntity(int letterId)
        {
            ReferLetterBL     refLetterBL = new ReferLetterBL();
            ReferLetterEntity entity      = refLetterBL.getLastRefered(letterId);

            if (entity == null || entity.Tables.Count == 0 || entity.Tables[0].Rows.Count == 0)
            {
                return(null);
            }

            String user = entity.Tables[0].Rows[0][ReferLetterEntity.FIELD_REFER_FROM_USER].ToString();

            if (user == null || user.Length == 0)
            {
                return(null);
            }

            return(entity);
        }