Exemple #1
0
        public void getLinkValueTest()
        {
            DcValues target = new DcValues(false, false);
            string   actual = target.getLinkValue(0);

            Assert.AreEqual(null, actual);
        }
Exemple #2
0
        public void getIndexOfTest()
        {
            Manager.Environment = new TestEnvironment();

            DcValues target = new DcValues(false, false);

            string[] strValues = new string[] { "A", "B", "C", "D" };
            target.setType(StorageAttribute.ALPHA);
            target.SetLinkValues(strValues);
            int[] indice;
            indice = target.getIndexOf("A", false, false, null, null, true);
            Assert.AreEqual(1, indice.Length);
            Assert.AreEqual(0, indice[0]);

            indice = target.getIndexOf("B,E,D", false, false, null, null, true);
            Assert.AreEqual(3, indice.Length);
            Assert.AreEqual(1, indice[0]);
            Assert.AreEqual(DcValues.NOT_FOUND, indice[1]);
            Assert.AreEqual(3, indice[2]);

            indice = target.getIndexOf("B,E,D", false, false, new String[] { "E" }, null, true);
            Assert.AreEqual(3, indice.Length);
            Assert.AreEqual(2, indice[0]);
            Assert.AreEqual(0, indice[1]);
            Assert.AreEqual(4, indice[2]);

            //string[] intValues = new string[] { "00000000000000000001", "0000000000000000002A", "0000000000000000003B", "00000000000000000014" };
        }
Exemple #3
0
        public void DcValuesConstructorTest()
        {
            DcValues target = new DcValues(false, false);

            Assert.AreEqual(0, target.getId());
            target = new DcValues(true, false);
            Assert.AreEqual(DcValues.EMPTY_DCREF, target.getId());
        }
Exemple #4
0
 void TestLinkValues(DcValues target, string[] linkValues, StorageAttribute type)
 {
     target.setType(type);
     target.SetLinkValues(linkValues);
     Assert.IsNotNull(target.GetLinkVals());
     Assert.AreNotSame(linkValues, target.GetLinkVals());
     CompareArrays(linkValues, target.GetLinkVals());
 }
Exemple #5
0
        public async Task <DcValues> GetDcEarningsData(short academicYear, byte collectionPeriod, List <long> ukprnList)
        {
            var sql = ScriptHelpers.GetSqlScriptText(DcEarnings);

            sql = sql.Replace(UkprnListToken, string.Join(",", ukprnList));

            var results = new DcValues();


            using (var connection = GetDataStoreConnectionString(academicYear))
            {
                using (var cmd = connection.CreateCommand())
                {
                    cmd.CommandTimeout = configuration.SqlCommandTimeout.Seconds;
                    cmd.CommandText    = sql;
                    cmd.CommandType    = CommandType.Text;
                    cmd.Parameters.AddWithValue("@collectionPeriod", collectionPeriod);

                    connection.Open();
                    using (var reader = await cmd.ExecuteReaderAsync())
                    {
                        while (await reader.ReadAsync())
                        {
                            var newValues = new DcContractTypeTotals();

                            Func <SqlDataReader, int, decimal> getValueAsNullableDecimal = (dataReader, i) =>
                                                                                           !dataReader.IsDBNull(i) ? (decimal)dataReader.GetValue(i) : (decimal)0;

                            newValues.ContractType = (int)reader[0];
                            newValues.TT1          = getValueAsNullableDecimal(reader, 1);
                            newValues.TT2          = getValueAsNullableDecimal(reader, 2);
                            newValues.TT3          = getValueAsNullableDecimal(reader, 3);
                            newValues.TT4          = getValueAsNullableDecimal(reader, 4);
                            newValues.TT5          = getValueAsNullableDecimal(reader, 5);
                            newValues.TT6          = getValueAsNullableDecimal(reader, 6);
                            newValues.TT7          = getValueAsNullableDecimal(reader, 7);
                            newValues.TT8          = getValueAsNullableDecimal(reader, 8);
                            newValues.TT9          = getValueAsNullableDecimal(reader, 9);
                            newValues.TT10         = getValueAsNullableDecimal(reader, 10);
                            newValues.TT11         = getValueAsNullableDecimal(reader, 11);
                            newValues.TT12         = getValueAsNullableDecimal(reader, 12);
                            newValues.TT13         = getValueAsNullableDecimal(reader, 13);
                            newValues.TT14         = getValueAsNullableDecimal(reader, 14);
                            newValues.TT15         = getValueAsNullableDecimal(reader, 15);
                            newValues.TT16         = getValueAsNullableDecimal(reader, 16);

                            results.DcContractTypeTotals.Add(newValues);
                        }
                    }
                }
            }

            return(results);
        }
Exemple #6
0
        public void DisplayValuesTest()
        {
            DcValues target = new DcValues(false, false);

            Assert.IsNull(target.getDispVals());
            string[] displayValues = { "DV1", "DV2", "DV3" };
            target.SetDisplayValues(displayValues);
            Assert.IsNotNull(target.getDispVals());
            Assert.AreNotSame(displayValues, target.getDispVals());
            CompareArrays(displayValues, target.getDispVals());
        }
Exemple #7
0
        public void SetTypeTest()
        {
            DcValues         target = new DcValues(false, false);
            StorageAttribute type   = StorageAttribute.ALPHA;

            target.setType(type);
            Assert.AreEqual(type, target.GetAttr());
            type = StorageAttribute.NUMERIC;
            target.setType(type);
            Assert.AreEqual(type, target.GetAttr());
        }
Exemple #8
0
        /// <summary>
        /// Initialize the DcValues according to the values set in the tokens vector.
        /// </summary>
        /// <param name="tokensVector">A set of attribute value pairs built by the XmlParser.</param>
        private void InitDCValues(DcValues dcv, List <string> tokensVector)
        {
            StorageAttribute type = StorageAttribute.NONE;

            string[] displayValues        = null;
            string   serializedLinkValues = null;

            for (int j = 0; j < tokensVector.Count; j += 2)
            {
                String attribute = (tokensVector[j]);
                String valueStr  = (tokensVector[j + 1]);

                switch (attribute)
                {
                case XMLConstants.MG_ATTR_ID:
                    SetId(dcv, XmlParser.getInt(valueStr));
                    break;

                case XMLConstants.MG_ATTR_TYPE:
                    type = (StorageAttribute)valueStr[0];
                    SetType(dcv, type);
                    break;

                case ConstInterface.MG_ATTR_DISP:
                    valueStr      = XmlParser.unescape(valueStr);
                    displayValues = ParseValues(valueStr, StorageAttribute.UNICODE);
                    break;

                case ConstInterface.MG_ATTR_LINKED:
                    // optional tag
                    valueStr             = XmlParser.unescape(valueStr);
                    serializedLinkValues = valueStr;
                    break;

                case ConstInterface.MG_ATTR_NULL_FLAGS:
                    SetNullFlags(dcv, valueStr);
                    break;

                default:
                    Logger.Instance.WriteExceptionToLog("in DcValues.initElements() unknown attribute: " + attribute);
                    break;
                }
            }
            SetDisplayValues(dcv, displayValues);
            if (serializedLinkValues == null)
            {
                SetLinkValues(dcv, displayValues);
            }
            else
            {
                SetLinkValues(dcv, ParseValues(serializedLinkValues, type));
            }
        }
        public override DcValues Build()
        {
            FetchValuesFromView();

            DcValues dcv = CreateDcValues(false);

            SetId(dcv, dcValuesIdGenerator.GenerateId());
            SetType(dcv, linkType);
            SetDisplayValues(dcv, displayValues.ToArray());
            SetLinkValues(dcv, linkValues.ToArray());
            SetNullFlags(dcv, nullValueFlags.ToArray());

            return(dcv);
        }
Exemple #10
0
        public void LinkValuesTest()
        {
            Manager.Environment = new TestEnvironment();

            DcValues      target     = new DcValues(false, false);
            PrivateObject privateObj = new PrivateObject(target);

            Assert.IsNull(target.GetLinkVals());

            string[] strValues = new string[] { "A", "B", "C", "D" };
            TestLinkValues(target, strValues, StorageAttribute.ALPHA);
            Assert.IsNull(privateObj.GetField("_numVals"));

            string[] intValues = new string[] { "00000000000000000001", "0000000000000000002A", "0000000000000000003B", "00000000000000000014" };
            TestLinkValues(target, intValues, StorageAttribute.NUMERIC);
            Assert.IsNotNull(privateObj.GetField("_numVals"));
        }
Exemple #11
0
        public void RefCountTest()
        {
            DcValues target = new DcValues(false, false);

            Assert.IsFalse(target.HasReferences);
            target.AddReference();
            Assert.IsTrue(target.HasReferences);
            target.AddReference();
            Assert.IsTrue(target.HasReferences);
            target.RemoveReference();
            Assert.IsTrue(target.HasReferences);
            target.RemoveReference();
            Assert.IsFalse(target.HasReferences);

            // Should throw an exception.
            target.RemoveReference();
        }
Exemple #12
0
        public override DcValues Build()
        {
            dcv = null;

            int endContext = parser.getXMLdata().IndexOf(XMLConstants.TAG_TERM, parser.getCurrIndex());

            if (endContext != -1 && endContext < parser.getXMLdata().Length)
            {
                // last position of its tag
                String tag = parser.getXMLsubstring(endContext);
                parser.add2CurrIndex(tag.IndexOf(ConstInterface.MG_TAG_DC_VALS) + ConstInterface.MG_TAG_DC_VALS.Length);

                List <String> tokensVector = XmlParser.getTokens(parser.getXMLsubstring(endContext), XMLConstants.XML_ATTR_DELIM);
                dcv = (DcValues)CreateDcValues(false);
                InitDCValues(dcv, tokensVector);
            }
            return(dcv);
        }
Exemple #13
0
        public void NullFlagsTest()
        {
            DcValues target = new DcValues(false, false);

            Assert.IsFalse(target.isNull(0));
            Assert.IsFalse(target.isNull(4));
            Assert.IsFalse(target.isNull(60));

            bool[] nullFlags = new bool[] { true, false, false, true, false, false };
            target.setNullFlags(nullFlags);

            Assert.IsTrue(target.isNull(0));
            Assert.IsFalse(target.isNull(4));
            Assert.IsFalse(target.isNull(5));

            // Should throw an exception.
            Assert.IsFalse(target.isNull(55));
        }
Exemple #14
0
        /// <summary>
        /// Add new dcValues , set dcValues reference to control and refresh the control.
        /// </summary>
        /// <param name="dcValues"></param>
        /// <param name="rangeData"></param>
        /// <param name="control"></param>
        internal void ApplyDCValuesAndRefreshControl(DcValues dcValues, DataControlRangeDataCollection rangeData, MgControlBase control)
        {
            //add new DC values collection
            DataviewManager.DataviewSynchronizer.AddDcValues(dcValues, rangeData);

            //set dc values reference
            Task.SetDataControlValuesReference(control.getDitIdx(), dcValues.getId());

            //Update DCValRef of every record after fetching the dataControl values.
            for (int i = 0; i < ((DataView)Task.DataView).getSize(); i++)
            {
                ((DataView)Task.DataView).getRecByIdx(i).AddDcValuesReference(control.getDitIdx(), dcValues.getId());
            }

            //Update DCValRef of original record.
            ((DataView)Task.DataView).getOriginalRec().AddDcValuesReference(control.getDitIdx(), dcValues.getId());

            control.RefreshDisplay();
        }
Exemple #15
0
 /// <summary>
 /// Binds a DC values object to the record and the control.
 /// </summary>
 /// <param name="dcValues">The bound DC values object.</param>
 /// <param name="record">The record holding the DC values references.</param>
 /// <param name="controlId">The identifier of the control that should be bound to the DC values object.</param>
 internal void ApplyDcValues(DcValues dcValues, IRecord record, int controlId)
 {
     record.AddDcValuesReference(controlId, dcValues.getId());
     Task.SetDataControlValuesReference(controlId, dcValues.getId());
 }
Exemple #16
0
 /// <summary>
 /// Adds the dcValues object to the data view's DC values collection.
 /// </summary>
 /// <param name="dcValues">Object to be added to the data view.</param>
 internal void AddDcValues(DcValues dcValues, DataControlRangeDataCollection dcValuesRange)
 {
     Dataview.AddDcValues(dcValues);
     DataviewManager.MapDcValues(dcValuesRange, dcValues.getId());
 }