private void RunMatchSearch(object obj)
        {
            KeyValueClass id = new KeyValueClass();

            if ((int)obj > 0)
            {
                id.Value = (int)obj;
            }
            else
            {
                id = cmb_matchclient.SelectedItem as KeyValueClass;
            }
            SqlDataReader read = People.ReadById((int)id.Value);

            read.Read();
            People p = new People();

            PeopleManipulations.ReaderToPeople(ref p, ref read, false, true);
            read.Close();
            ArrayList results = MatchesChecks.GetMatches(p);

            olstmatch.SetObjects(results);
            olstmatch.Sort(olvColumn9);
            picmatch.Visible   = false;
            lblmatchfound.Text = "נמצאו : " + olstmatch.Items.Count.ToString() + " התאמות";
        }
        private void olstmatch_Click(object sender, EventArgs e)
        {
            Match m = olstmatch.SelectedObject as Match;

            if (m != null)
            {
                lblwhymatch.Text = MatchesChecks.CreateInfoString(m);
            }
        }
示例#3
0
        public static ArrayList GetMatches(People people)
        {
            ArrayList list = new ArrayList();

            mydic_whoami.Clear();
            mydic_whoiwant.Clear();

            foreach (DictinorayRow row in DictinorayRow.DictinorayList)
            {
                int temp = row.IsMatchWord(people.Details.WhoAmI);
                if (temp == 1 || temp == -1)
                {
                    if (temp == -1)
                    {
                        row.ChangeToUpSitewords();
                    }
                    mydic_whoami.Add(row);
                    mydic_not_type.Add(row);
                }
            }
            foreach (DictinorayRow row in DictinorayRow.DictinorayList)
            {
                int temp = row.IsMatchWord(people.Details.WhoAmI);
                if (temp == 1 || temp == -1)
                {
                    if (temp == -1)
                    {
                        row.ChangeToUpSitewords();
                    }
                    mydic_whoiwant.Add(row);
                    mydic_not_type.Add(row);
                }
            }

            MatchesChecks xmatch = new MatchesChecks();

            xmatch.p = people;
            string show = " AND SHOW <> 8 AND (show <2 or (show=5 and chadchan like '%{" + GLOBALVARS.MyUser.ID + "}%') or (show=4 and chadchan like '%{" + GLOBALVARS.MyUser.ID + "}%'))";

            if (GLOBALVARS.MyUser.Control == User.TypeControl.Manger || GLOBALVARS.MyUser.Control == User.TypeControl.Admin)
            {
                show = " and show <> 8";
            }

            string sql = "select zerem,looks,show,chadchan,whoami,whoiwant,[peopledetails].[relatedid],[Peoples].[ID],FirstName,facecolor,sexs,Lastname,tall,status,fat,age,show,notes from peoples inner join peopledetails on ID=relatedid  ";

            sql += xmatch.GetSqlCheck() + show;
            SqlDataReader reader = DBFunction.ExecuteReader(sql);

            while (reader.Read())
            {
                Match result = new Match();

                result.Name = reader["firstname"].ToString() + " " + reader["lastname"].ToString();
                result.ID   = (int)reader["id"];

                //FAT CHECK
                result.FatCheckString = xmatch.FatCheck(reader["fat"].ToString(), ref result.FatMatchLevel);


                //FACECOLOR CHECK
                result.FaceColorCheckString = xmatch.FaceColorCheck(reader["facecolor"].ToString(), ref result.FaceColorMatchLevel);


                //Looks CHECK
                result.LooksCheckString = xmatch.LooksCheck(reader["looks"].ToString(), ref result.LooksMatchLevel);


                //FromDic CHECK
                result.DicCheckString.AddRange(xmatch.CheckFromDic(reader["looks"].ToString(), "LookChange", ref result.DicMatchLevel));
                //  result.DicCheckString.AddRange(xmatch.CheckFromDic(reader["zerem"].ToString(), "ZeremChange", ref result.DicMatchLevel));
                result.DicCheckString.AddRange(xmatch.CheckFromDic(reader["facecolor"].ToString(), "FaceChange", ref result.DicMatchLevel));



                // STATUS CHECK
                result.StatusCheckString = xmatch.StatusCheck(reader["status"].ToString(), ref result.MatchLevel);


                //EDA CHECK   NEEEED TO FIXXX
                result.ZeremOfEdaString = xmatch.ZeremCheck(reader["zerem"].ToString(), ref result.ZeremOfEdaMatchLevel);



                //WHOAMI + LOOKFOR CHECK

                result.WhoamiCheckString.AddRange(xmatch.FindPropties(reader["whoiwant"] as string, ref result.WhoAmIMatchLevel, false));

                result.LookForCheckString.AddRange(xmatch.FindPropties(reader["whoami"] as string, ref result.LookForMatchLevel, true));



                result.MatchLevel += result.FaceColorMatchLevel + result.FatMatchLevel + result.LooksMatchLevel +
                                     result.ZeremOfEdaMatchLevel + result.LookForMatchLevel + result.WhoAmIMatchLevel +
                                     result.DicMatchLevel;

                list.Add(result);
            }
            reader.Close();

            return(list);
        }