Exemplo n.º 1
0
        public AnimalView GetAnimalInteractions(AnimalView ins)
        {
            DateTime EndDate = DateTime.Now;
            DateTime StartDate = EndDate.AddHours(-2);

            DataBaseConnection dbConn = new DataBaseConnection();
            SqlConnection con = dbConn.SqlConn();
            SqlCommand cmdI = con.CreateCommand();
            cmdI.Connection = con;

            cmdI.Parameters.Clear();
            cmdI.CommandText = CommonStrings.GetAnimalInteractions;
            cmdI.CommandType = System.Data.CommandType.StoredProcedure;
            cmdI.Parameters.AddWithValue("@AnimalId", ins.AnimalId);
            cmdI.Parameters.AddWithValue("@StartDate", StartDate);
            cmdI.Parameters.AddWithValue("@EndDate", EndDate);
            cmdI.Connection.Open();

            SqlDataReader drI = cmdI.ExecuteReader();

            if (drI.HasRows)
            {
                while (drI.Read())
                {
                    ins.AverageNumberInteractions = Math.Ceiling(Convert.ToDouble(drI["AverageInteractionsPerDay"]) / 24);
                    ins.AverageLengthInteractions = Math.Ceiling(Convert.ToDouble(drI["AverageInteractionTimePerDay"]) /24);
                    ins.RecentNumberInteractions = Convert.ToInt32(drI["RecentInteractions"]);
                    ins.RecentLengthInteractions = Convert.ToDouble(drI["RecentInteractionsTime"]);
                }
            }

            cmdI.Connection.Close();
            con.Dispose();
            return ins;
        }
Exemplo n.º 2
0
        public AnimalView IsAnimalShowingEstrousBehaviour(AnimalView ins, int SocialSensitivity, int InteractionSensitivity, int InteractionTimeSensitivity)
        {
            bool socialset = false;
            bool countset  = false;
            bool timeset   = false;

            ins.ChangeSocial             = false;
            ins.ChangeInteractions       = false;
            ins.ChangeLengthInteractions = false;

            List <int> SameSocialAnimals = ins.LifetimeSocialGroup.Select(x => x.AnimalId).Intersect(ins.RecentSocialGroup.Select(x => x.AnimalId)).ToList();

            if (SameSocialAnimals.Count <= (ins.LifetimeSocialGroup.Count - SocialSensitivity))
            {
                socialset        = true;
                ins.ChangeSocial = true;
            }

            if (ins.RecentNumberInteractions >= InteractionSensitivity * ins.AverageNumberInteractions)
            {
                countset = true;
                ins.ChangeInteractions = true;
            }

            if (ins.RecentLengthInteractions >= InteractionTimeSensitivity * ins.AverageLengthInteractions)
            {
                timeset = true;
                ins.ChangeLengthInteractions = true;
            }

            if ((socialset && timeset) || (socialset && countset) || (countset && timeset))
            {
                ins.ShowingEstrousBehaviour = true;
            }


            return(ins);
        }
Exemplo n.º 3
0
        public AnimalView GetAnimalInteractions(AnimalView ins)
        {
            DateTime EndDate   = DateTime.Now;
            DateTime StartDate = EndDate.AddHours(-2);

            DataBaseConnection dbConn = new DataBaseConnection();
            SqlConnection      con    = dbConn.SqlConn();
            SqlCommand         cmdI   = con.CreateCommand();

            cmdI.Connection = con;

            cmdI.Parameters.Clear();
            cmdI.CommandText = CommonStrings.GetAnimalInteractions;
            cmdI.CommandType = System.Data.CommandType.StoredProcedure;
            cmdI.Parameters.AddWithValue("@AnimalId", ins.AnimalId);
            cmdI.Parameters.AddWithValue("@StartDate", StartDate);
            cmdI.Parameters.AddWithValue("@EndDate", EndDate);
            cmdI.Connection.Open();

            SqlDataReader drI = cmdI.ExecuteReader();

            if (drI.HasRows)
            {
                while (drI.Read())
                {
                    ins.AverageNumberInteractions = Math.Ceiling(Convert.ToDouble(drI["AverageInteractionsPerDay"]) / 24);
                    ins.AverageLengthInteractions = Math.Ceiling(Convert.ToDouble(drI["AverageInteractionTimePerDay"]) / 24);
                    ins.RecentNumberInteractions  = Convert.ToInt32(drI["RecentInteractions"]);
                    ins.RecentLengthInteractions  = Convert.ToDouble(drI["RecentInteractionsTime"]);
                }
            }

            cmdI.Connection.Close();
            con.Dispose();
            return(ins);
        }
Exemplo n.º 4
0
        public AnimalView GetAnimalView(int AnimalId)
        {
            AnimalView ins = new AnimalView();

            DataBaseConnection dbConn = new DataBaseConnection();
            SqlConnection      con    = dbConn.SqlConn();
            SqlCommand         cmdI   = con.CreateCommand();

            cmdI.Connection = con;

            cmdI.Parameters.Clear();
            cmdI.CommandText = CommonStrings.GetAnimalView;
            cmdI.CommandType = System.Data.CommandType.StoredProcedure;
            cmdI.Parameters.AddWithValue("@AnimalId", AnimalId);
            cmdI.Connection.Open();

            SqlDataReader drI = cmdI.ExecuteReader();

            if (drI.HasRows)
            {
                while (drI.Read())
                {
                    ins.AnimalId        = Convert.ToInt32(drI["AnimalId"]);
                    ins.BirthDate       = Convert.ToDateTime(drI["Birthdate"]);
                    ins.CreatedDate     = Convert.ToDateTime(drI["CreatedDate"]);
                    ins.DecriptiveName  = drI["DecriptiveName"].ToString();
                    ins.ModifiedDate    = Convert.ToDateTime(drI["ModifiedDate"]);
                    ins.TagNumber       = drI["TagNumber"].ToString();
                    ins._AnimalType     = drI["Species"].ToString();
                    ins._Company        = drI["Company"].ToString();
                    ins._ModifiedBy     = drI["Username"].ToString();
                    ins._Sex            = drI["Sex"].ToString();
                    ins._Address        = drI["DeviceAddress"].ToString();
                    ins.PublicRegistrar = drI["PublicRegistrarNumber"].ToString();
                }
            }

            cmdI.Connection.Close();
            con.Dispose();

            DateTime EndDate   = DateTime.Now;
            DateTime StartDate = EndDate.AddDays(-1);

            ins.LifetimeSocialGroup = GetAnimalSocialGroup(ins.AnimalId);
            ins.RecentSocialGroup   = GetAnimalSocialGroup(ins.AnimalId, StartDate, EndDate);

            ins = GetAnimalInteractions(ins);
            ins = IsAnimalShowingEstrousBehaviour(ins, 2, 5, 3);

            ins.Age = DateTime.Today.Year - ins.BirthDate.Year;
            if (ins.BirthDate > DateTime.Today.AddYears(-ins.Age))
            {
                ins.Age--;
            }

            ins.FemaleParent = GetMotherChildRelationship(ins.AnimalId);
            ins.MaleParent   = GetFatherChildRelationship(ins.AnimalId);

            ins.Family = GetFamilyTree(ins.AnimalId, 5, 0);

            return(ins);
        }
Exemplo n.º 5
0
        public AnimalView IsAnimalShowingEstrousBehaviour(AnimalView ins, int SocialSensitivity, int InteractionSensitivity, int InteractionTimeSensitivity)
        {
            bool socialset = false;
            bool countset = false;
            bool timeset = false;

            ins.ChangeSocial = false;
            ins.ChangeInteractions = false;
            ins.ChangeLengthInteractions = false;

            List<int> SameSocialAnimals = ins.LifetimeSocialGroup.Select(x => x.AnimalId).Intersect(ins.RecentSocialGroup.Select(x => x.AnimalId)).ToList();
            if (SameSocialAnimals.Count <= (ins.LifetimeSocialGroup.Count - SocialSensitivity))
            {
                socialset = true;
                ins.ChangeSocial = true;
            }

            if (ins.RecentNumberInteractions >= InteractionSensitivity * ins.AverageNumberInteractions)
            {
                countset = true;
                ins.ChangeInteractions = true;
            }

            if (ins.RecentLengthInteractions >= InteractionTimeSensitivity * ins.AverageLengthInteractions)
            {
                timeset = true;
                ins.ChangeLengthInteractions = true;
            }

            if((socialset && timeset) || (socialset && countset) || (countset && timeset))
            {
                ins.ShowingEstrousBehaviour = true;
            }

            return ins;
        }
Exemplo n.º 6
0
        public AnimalView GetAnimalView(int AnimalId)
        {
            AnimalView ins = new AnimalView();

            DataBaseConnection dbConn = new DataBaseConnection();
            SqlConnection con = dbConn.SqlConn();
            SqlCommand cmdI = con.CreateCommand();
            cmdI.Connection = con;

            cmdI.Parameters.Clear();
            cmdI.CommandText = CommonStrings.GetAnimalView;
            cmdI.CommandType = System.Data.CommandType.StoredProcedure;
            cmdI.Parameters.AddWithValue("@AnimalId", AnimalId);
            cmdI.Connection.Open();

            SqlDataReader drI = cmdI.ExecuteReader();

            if (drI.HasRows)
            {
                while (drI.Read())
                {
                    ins.AnimalId = Convert.ToInt32(drI["AnimalId"]);
                    ins.BirthDate = Convert.ToDateTime(drI["Birthdate"]);
                    ins.CreatedDate = Convert.ToDateTime(drI["CreatedDate"]);
                    ins.DecriptiveName = drI["DecriptiveName"].ToString();
                    ins.ModifiedDate = Convert.ToDateTime(drI["ModifiedDate"]);
                    ins.TagNumber = drI["TagNumber"].ToString();
                    ins._AnimalType = drI["Species"].ToString();
                    ins._Company = drI["Company"].ToString();
                    ins._ModifiedBy = drI["Username"].ToString();
                    ins._Sex = drI["Sex"].ToString();
                    ins._Address = drI["DeviceAddress"].ToString();
                    ins.PublicRegistrar = drI["PublicRegistrarNumber"].ToString();
                }
            }

            cmdI.Connection.Close();
            con.Dispose();

            DateTime EndDate = DateTime.Now;
            DateTime StartDate = EndDate.AddDays(-1);

            ins.LifetimeSocialGroup = GetAnimalSocialGroup(ins.AnimalId);
            ins.RecentSocialGroup = GetAnimalSocialGroup(ins.AnimalId, StartDate, EndDate);

            ins = GetAnimalInteractions(ins);
            ins = IsAnimalShowingEstrousBehaviour(ins, 2, 5, 3);

            ins.Age = DateTime.Today.Year - ins.BirthDate.Year;
            if (ins.BirthDate > DateTime.Today.AddYears(-ins.Age)) ins.Age--;

            ins.FemaleParent = GetMotherChildRelationship(ins.AnimalId);
            ins.MaleParent = GetFatherChildRelationship(ins.AnimalId);

            ins.Family = GetFamilyTree(ins.AnimalId, 5, 0);

            return ins;
        }