Example #1
0
        private int getLetterRefferences(int userid)
        {
            ReferLetterBL     bl     = new ReferLetterBL();
            ReferLetterEntity entity = bl.getByUserId(userid);

            return(entity.Tables[entity.FilledTableName].Rows.Count);
        }
Example #2
0
        public int delete(int id)
        {
            AbstractCommonData entity   = new ReferLetterEntity();
            string             delQuery = "DELETE FROM " + entity.TableName + " WHERE " + ReferLetterEntity.indexField + "=" + provider.getSQLString(id);

            return(provider.delete(delQuery));
        }
Example #3
0
        public ReferLetterEntity get(int letterId)
        {
            ReferLetterEntity entity = new ReferLetterEntity();
            string            cond   = ReferLetterEntity.FIELD_LETTER_ID + "=" + provider.getSQLString(letterId);

            provider.loadToDataSet(entity, cond);
            return(entity);
        }
Example #4
0
        public ReferLetterEntity getByUserId(int userid)
        {
            ReferLetterEntity entity = new ReferLetterEntity();
            string            cond   = ReferLetterEntity.FIELD_REFER_FROM_USER + "=" + provider.getSQLString(userid) + " OR " +
                                       ReferLetterEntity.FIELD_REFER_TO_USER + "=" + provider.getSQLString(userid);

            provider.loadToDataSet(entity, cond);
            return(entity);
        }
Example #5
0
        public ReferLetterEntity getByUserToId(int userid, DateTime fromDate, DateTime toDate)
        {
            ReferLetterEntity entity = new ReferLetterEntity();
            string            cond   = ReferLetterEntity.FIELD_REFER_TO_USER + "=" + provider.getSQLString(userid) + " and " +
                                       provider.getBetweenDate(ReferLetterEntity.FIELD_REFER_DATE, fromDate, toDate, null);

            provider.loadToDataSet(entity, cond);
            return(entity);
        }
Example #6
0
        public void initForm(int letterid)
        {
            ReferLetterBL     refLetterBl = new ReferLetterBL();
            ReferLetterEntity entity      = refLetterBl.get(letterid);

            //_letterBl.get(LetterType);

            System.Collections.Hashtable hash = new Hashtable();
            hash.Add("colorField", "COLOR");

            //_gridTools.bindDataToGrid(dataGridView1, entity, new GridTools.changingRow(_gridTools.changeColor), hash);
            _gridTools.bindDataToGrid(dataGridView1, entity, null, hash);
        }
Example #7
0
        public ReferLetterEntity getLastRefered(int letterId)
        {
            string sqlQuery = "SELECT * " +
                              "FROM [andicator].[dbo].[REFERLETTER] REF, " +
                              "(SELECT MAX(REFERDATE) MAXREF " +
                              "  FROM [andicator].[dbo].REFERLETTER INREF " +
                              " WHERE INREF.LETTERID = " + letterId + ") REF2 " +
                              "WHERE REF.LETTERID =" + letterId + " AND REF2.MAXREF = REF.REFERDATE";

            ReferLetterEntity entity = new ReferLetterEntity();

            provider.executeSelect(sqlQuery, entity);
            return(entity);
        }
Example #8
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);
        }
Example #9
0
        public int removeUserRefer(int userid)
        {
            int i = 0;
            AbstractCommonData entity = new ReferLetterEntity();

            string delQuery = "UPDATE " + entity.TableName + " SET " + ReferLetterEntity.FIELD_REFER_FROM_USER + "=" +
                              provider.getSQLString(userid) + " WHERE " + ReferLetterEntity.FIELD_REFER_FROM_USER + "=" + provider.getSQLString(userid);

            i = provider.executeNonQuery(delQuery);

            delQuery = "UPDATE " + entity.TableName + " SET " + ReferLetterEntity.FIELD_REFER_TO_USER + "=" +
                       provider.getSQLString(userid) + " WHERE " + ReferLetterEntity.FIELD_REFER_TO_USER + "=" + provider.getSQLString(userid);
            i += provider.executeNonQuery(delQuery);

            return(i);
        }
Example #10
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);
        }
        private string getUsers(int letterid)
        {
            string            retStr          = "";
            ReferLetterEntity refLetterEntity = _referLetterBL.get(letterid);

            if (refLetterEntity.RowCount() <= 0)
            {
                return("");
            }

            string fromName = "";
            string toName   = "";
            string date     = "";

            UsersEntity usersEntity = null;

            for (int i = 0; i < refLetterEntity.RowCount(); i++)
            {
                date = RMX_TOOLS.date.DateXFormer.gregorianToPersianString((DateTime)
                                                                           refLetterEntity.get(i, ReferLetterEntity.FIELD_REFER_DATE));


                if (refLetterEntity.get(i, ReferLetterEntity.FIELD_REFER_FROM_USER).ToString().Length > 0)
                {
                    int id = int.Parse(refLetterEntity.get(i, ReferLetterEntity.FIELD_REFER_FROM_USER).ToString());
                    usersEntity = _usersBL.get(id);
                    fromName    = usersEntity.ToString();
                }
                if (refLetterEntity.get(i, ReferLetterEntity.FIELD_REFER_TO_USER).ToString().Length > 0)
                {
                    int id = int.Parse(refLetterEntity.get(i, ReferLetterEntity.FIELD_REFER_TO_USER).ToString());
                    usersEntity = _usersBL.get(id);
                    toName      = usersEntity.ToString();
                }

                retStr += "[" + (i + 1) + "-" + date + " " + " از " + fromName + " به " + toName + "]";
            }
            return(retStr);
        }
Example #12
0
        /**
         * find any cycle happening in any refer o fletter between users
         * */
        private void checkForReferenceCycle(int letterId, int newFromUserId, int newToUserId)
        {
            ReferLetterEntity referEntity = getLastReferedEntity(letterId);

            if (referEntity == null)
            {
                return;
            }
            int lastFromUser = int.Parse(
                referEntity.Tables[0].Rows[0][ReferLetterEntity.FIELD_REFER_FROM_USER].ToString());

            if (lastFromUser == newToUserId)
            {
                //a cycle happened
                // persist it
                ReferenceCycleEntity cycleEntity = new ReferenceCycleEntity();
                DataRow dr = null;
                dr = cycleEntity.Tables[cycleEntity.TableName].NewRow();
                cycleEntity.FilledTableName = cycleEntity.TableName;


                dr[ReferenceCycleEntity.FIELD_FIRSTREFERDATE] = referEntity.Tables[0].Rows[0][ReferLetterEntity.FIELD_REFER_DATE];
                dr[ReferenceCycleEntity.FIELD_FIRSTFROMUSER]  = referEntity.Tables[0].Rows[0][ReferLetterEntity.FIELD_REFER_FROM_USER];
                dr[ReferenceCycleEntity.FIELD_FIRSTTOUSER]    = referEntity.Tables[0].Rows[0][ReferLetterEntity.FIELD_REFER_TO_USER];

                dr[ReferenceCycleEntity.FIELD_SECONDREFERDATE] = DateTime.Now;
                dr[ReferenceCycleEntity.FIELD_SECONDFROMUSER]  = newFromUserId;
                dr[ReferenceCycleEntity.FIELD_SECONDTOUSER]    = newToUserId;

                dr[ReferenceCycleEntity.FIELD_LETTERID] = letterId;

                cycleEntity.Tables[cycleEntity.TableName].Rows.Add(dr);

                ReferenceCycleBL referenceCycleBL = new ReferenceCycleBL();
                referenceCycleBL.add(cycleEntity);
            }
        }
Example #13
0
 public int add(ReferLetterEntity letterEntity)
 {
     return(provider.add(letterEntity));
 }
Example #14
0
        private int getRefferToCount(int userid, DateTime fromDate, DateTime toDate)
        {
            ReferLetterEntity entity = reffer.getByUserToId(userid, fromDate, toDate);

            return(entity.RowCount());
        }
Example #15
0
 public int add(ReferLetterEntity entity)
 {
     return(((ReferLetterDA)_abstractDA).add(entity));
 }
Example #16
0
 public int update(ReferLetterEntity entity)
 {
     return(((ReferLetterDA)_abstractDA).update(entity));
 }
Example #17
0
        public int getReferCount(int letterId)
        {
            ReferLetterEntity entity = get(letterId);

            return(entity.Tables[entity.FilledTableName].Rows.Count);
        }
Example #18
0
 public int update(ReferLetterEntity entity)
 {
     return(provider.update(entity));
 }