Exemplo n.º 1
0
        public void Execute(IPlatformFactory factory, ITestLogger logger)
        {
            MgPropertyCollection coll     = new MgPropertyCollection();
            MgDoubleProperty     dblProp  = new MgDoubleProperty("DoubleProp", 1.1111);
            MgInt32Property      intProp  = new MgInt32Property("IntProp", 1);
            MgDateTime           dateTime = new MgDateTime(2006, 9, 21);
            MgDateTimeProperty   dateProp = new MgDateTimeProperty("DateProp", dateTime);
            MgSingleProperty     single   = new MgSingleProperty("SingleProp", (float)2.2222);

            coll.Add(dblProp);
            coll.Add(intProp);
            coll.Add(dateProp);
            coll[2] = single;

            Assert.AreEqual(1.1111, (coll[0] as MgDoubleProperty).GetValue());
            Assert.AreEqual(MgPropertyType.Double, coll[0].GetPropertyType());
            Assert.AreEqual(MgPropertyType.Int32, coll[1].GetPropertyType());
            Assert.AreEqual(MgPropertyType.Single, coll[2].GetPropertyType());
            Assert.AreEqual((float)2.2222, (coll[2] as MgSingleProperty).GetValue());
            Assert.AreEqual(3, coll.Count);

            Assert.AreEqual(MgPropertyType.Double, coll[0].GetPropertyType());

            string str = "";

            foreach (MgProperty prop in coll)
            {
                str = str + "[" + prop.GetName() + "]";
            }
            Assert.AreEqual("[DoubleProp][IntProp][SingleProp]", str);
        }
Exemplo n.º 2
0
        public void Execute(IPlatformFactory factory, ITestLogger logger)
        {
            MgDateTime         dt  = new MgDateTime(2006, 9, 22, 8, 33, 44, 55);
            MgDateTimeProperty dtp = new MgDateTimeProperty("DateTimePropName", dt);

            Assert.AreEqual("DateTimePropName", dtp.Name);
            Assert.AreEqual(MgPropertyType.DateTime, dtp.PropertyType);
            Assert.AreEqual(dt.Year, dtp.Value.Year);
            Assert.AreEqual(dt.Month, dtp.Value.Month);
            Assert.AreEqual(dt.Day, dtp.Value.Day);
            Assert.AreEqual(dt.Hour, dtp.Value.Hour);
            Assert.AreEqual(dt.Minute, dtp.Value.Minute);
            Assert.AreEqual(dt.Second, dtp.Value.Second);
            Assert.AreEqual(dt.Microsecond, dtp.Value.Microsecond);
        }
Exemplo n.º 3
0
        public void Execute(IPlatformFactory factory, ITestLogger logger)
        {
            var resSvc  = (MgResourceService)factory.CreateService(MgServiceType.ResourceService);
            var featSvc = (MgFeatureService)factory.CreateService(MgServiceType.FeatureService);
            MgResourceIdentifier fsId = new MgResourceIdentifier("Library://UnitTests/Data/Timestamp.FeatureSource");
            string       className    = FeatureServiceTestUtil.CreateTestDataStore(fsId, "OSGeo.SDF", featSvc);
            MgByteReader content      = resSvc.GetResourceContent(fsId);
            MgDateTime   mod1         = resSvc.GetResourceModifiedDate(fsId);

            Thread.Sleep(1500);
            resSvc.SetResource(fsId, content, null);
            MgDateTime mod2 = resSvc.GetResourceModifiedDate(fsId);

            Assert.IsFalse(mod1.ToString() == mod2.ToString());
        }
Exemplo n.º 4
0
        public void Execute(IPlatformFactory factory, ITestLogger logger)
        {
            MgDateTime dt = new MgDateTime();

            dt.Year        = 2006;
            dt.Month       = 9;
            dt.Day         = 21;
            dt.Hour        = 16;
            dt.Minute      = 4;
            dt.Second      = 25;
            dt.Microsecond = 99;

            Assert.AreEqual(2006, dt.Year);
            Assert.AreEqual(9, dt.Month);
            Assert.AreEqual(21, dt.Day);
            Assert.AreEqual(16, dt.Hour);
            Assert.AreEqual(4, dt.Minute);
            Assert.AreEqual(25, dt.Second);
            Assert.AreEqual(99, dt.Microsecond);
        }
Exemplo n.º 5
0
        public override TestResult Execute(int paramSetId)
        {
            try
            {
                var param = new NameValueCollection();
                _unitTestVm.ReadParameterValue(paramSetId, "LOGTYPE", param);
                _unitTestVm.ReadParameterValue(paramSetId, "FROMDATE", param);
                _unitTestVm.ReadParameterValue(paramSetId, "TODATE", param);

                string[] fromDatePieces = (param["FROMDATE"] ?? "").Split(',');
                string[] toDatePieces   = (param["TODATE"] ?? "").Split(',');

                MgDateTime fromDate = null;
                MgDateTime toDate   = null;

                if (fromDatePieces.Length == 3)
                {
                    fromDate = new MgDateTime(Convert.ToInt16(fromDatePieces[0]), Convert.ToInt16(fromDatePieces[1]), Convert.ToInt16(fromDatePieces[2]));
                }
                else if (fromDatePieces.Length == 7)
                {
                    fromDate = new MgDateTime(Convert.ToInt16(fromDatePieces[0]), Convert.ToInt16(fromDatePieces[1]), Convert.ToInt16(fromDatePieces[2]), Convert.ToInt16(fromDatePieces[3]), Convert.ToInt16(fromDatePieces[4]), Convert.ToInt16(fromDatePieces[5]), Convert.ToInt32(fromDatePieces[6]));
                }

                if (toDatePieces.Length == 3)
                {
                    toDate = new MgDateTime(Convert.ToInt16(toDatePieces[0]), Convert.ToInt16(toDatePieces[1]), Convert.ToInt16(toDatePieces[2]));
                }
                else if (toDatePieces.Length == 7)
                {
                    toDate = new MgDateTime(Convert.ToInt16(toDatePieces[0]), Convert.ToInt16(toDatePieces[1]), Convert.ToInt16(toDatePieces[2]), Convert.ToInt16(toDatePieces[3]), Convert.ToInt16(toDatePieces[4]), Convert.ToInt16(toDatePieces[5]), Convert.ToInt32(toDatePieces[6]));
                }

                MgByteReader reader = _serverAdmin.GetLog(param["LOGTYPE"] ?? "", fromDate, toDate);
                return(TestResult.FromByteReader(reader));
            }
            catch (MgException ex)
            {
                return(TestResult.FromMgException(ex));
            }
        }
Exemplo n.º 6
0
        internal static void Update(MgPropertyCollection props, IRecord record)
        {
            if (props.Count != record.FieldCount)
            {
                throw new InvalidOperationException("Number of values to update does not match. Ensure the MgPropertyCollection was initialized first with PropertyUtil.Populate() first and that the input IRecord comes from the same source used to initialize this MgPropertyCollection"); //LOCALIZEME
            }
            //Flip the null bit first
            for (int i = 0; i < props.Count; i++)
            {
                var p  = props.GetItem(i);
                var np = p as MgNullableProperty;
                if (np != null)
                {
                    np.SetNull(true);
                }

                string name = p.Name;
                if (!record.IsNull(name))
                {
                    switch (p.PropertyType)
                    {
                    case MgPropertyType.Blob:
                    {
                        var bytes = record.GetBlob(name);
                        var bs    = new MgByteSource(bytes, bytes.Length);
                        ((MgBlobProperty)p).SetValue(bs.GetReader());
                    }
                    break;

                    case MgPropertyType.Boolean:
                    {
                        ((MgBooleanProperty)p).SetValue(record.GetBoolean(name));
                    }
                    break;

                    case MgPropertyType.Byte:
                    {
                        ((MgByteProperty)p).SetValue(record.GetByte(name));
                    }
                    break;

                    case MgPropertyType.Clob:
                    {
                        var bytes = record.GetBlob(name);
                        var bs    = new MgByteSource(bytes, bytes.Length);
                        ((MgClobProperty)p).SetValue(bs.GetReader());
                    }
                    break;

                    case MgPropertyType.DateTime:
                    {
                        var dt  = record.GetDateTime(i);
                        var mdt = new MgDateTime((short)dt.Year, (short)dt.Month, (short)dt.Day, (short)dt.Hour, (short)dt.Minute, (short)dt.Second, dt.Millisecond * 1000);
                        ((MgDateTimeProperty)p).SetValue(mdt);
                    }
                    break;

                    case MgPropertyType.Decimal:
                    case MgPropertyType.Double:
                    {
                        ((MgDoubleProperty)p).SetValue(record.GetDouble(name));
                    }
                    break;

                    case MgPropertyType.Geometry:
                    {
                        var agf = GeomConverter.GetAgf(record.GetGeometry(name));
                        ((MgGeometryProperty)p).SetValue(agf);
                    }
                    break;

                    case MgPropertyType.Int16:
                    {
                        ((MgInt16Property)p).SetValue(record.GetInt16(name));
                    }
                    break;

                    case MgPropertyType.Int32:
                    {
                        ((MgInt32Property)p).SetValue(record.GetInt32(name));
                    }
                    break;

                    case MgPropertyType.Int64:
                    {
                        ((MgInt64Property)p).SetValue(record.GetInt64(name));
                    }
                    break;

                    case MgPropertyType.Single:
                    {
                        ((MgSingleProperty)p).SetValue(record.GetSingle(name));
                    }
                    break;

                    case MgPropertyType.String:
                    {
                        ((MgStringProperty)p).SetValue(record.GetString(name));
                    }
                    break;

                    default:
                        throw new NotSupportedException();
                    }
                }
            }
        }
Exemplo n.º 7
0
 internal static DateTime ConvertMgDateTime(MgDateTime dt) => new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second, dt.Microsecond * 1000);
Exemplo n.º 8
0
        public void PropertyCollection()
        {
            MgPropertyCollection coll = new MgPropertyCollection();
            MgDoubleProperty dblProp = new MgDoubleProperty("DoubleProp", 1.1111);
            MgInt32Property intProp = new MgInt32Property("IntProp", 1);
            MgDateTime dateTime = new MgDateTime(2006, 9, 21);
            MgDateTimeProperty dateProp = new MgDateTimeProperty("DateProp", dateTime);
            MgSingleProperty single = new MgSingleProperty("SingleProp", (float) 2.2222);
            coll.Add(dblProp);
            coll.Add(intProp);
            coll.Add(dateProp);
            coll[2] = single;

            Assert.AreEqual(1.1111, (coll[0] as MgDoubleProperty).GetValue());
            Assert.AreEqual(MgPropertyType.Double, coll[0].GetPropertyType());
            Assert.AreEqual(MgPropertyType.Int32, coll[1].GetPropertyType());
            Assert.AreEqual(MgPropertyType.Single, coll[2].GetPropertyType());
            Assert.AreEqual((float) 2.2222, (coll[2] as MgSingleProperty).GetValue());
            Assert.AreEqual(3, coll.Count);

            Assert.AreEqual(MgPropertyType.Double, coll[0].GetPropertyType());

            string str = "";
            foreach (MgProperty prop in coll)
            {
                str = str+"["+prop.GetName()+"]";
            }
            Assert.AreEqual("[DoubleProp][IntProp][SingleProp]", str);
        }
Exemplo n.º 9
0
 internal static DateTime ConvertMgDateTime(MgDateTime dt)
 {
     return new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second, dt.Microsecond * 1000);
 }
Exemplo n.º 10
0
 static DateTime ToClrDateTime(MgDateTime dt)
 {
     return new DateTime(dt.Year, dt.Day, dt.Month, dt.Hour, dt.Minute, dt.Second, dt.Microsecond / 1000);
 }
Exemplo n.º 11
0
        public void DateTimeProperty()
        {
            MgDateTime dt = new MgDateTime(2006, 9, 22, 8, 33, 44, 55);
            MgDateTimeProperty dtp = new MgDateTimeProperty("DateTimePropName", dt);

            Assert.AreEqual("DateTimePropName", dtp.Name);
            Assert.AreEqual(MgPropertyType.DateTime, dtp.PropertyType);
            Assert.AreEqual(dt.Year, dtp.Value.Year);
            Assert.AreEqual(dt.Month, dtp.Value.Month);
            Assert.AreEqual(dt.Day, dtp.Value.Day);
            Assert.AreEqual(dt.Hour, dtp.Value.Hour);
            Assert.AreEqual(dt.Minute, dtp.Value.Minute);
            Assert.AreEqual(dt.Second, dtp.Value.Second);
            Assert.AreEqual(dt.Microsecond, dtp.Value.Microsecond);
        }
Exemplo n.º 12
0
        public void DateTime()
        {
            MgDateTime dt = new MgDateTime();
            dt.Year = 2006;
            dt.Month = 9;
            dt.Day = 21;
            dt.Hour = 16;
            dt.Minute = 4;
            dt.Second = 25;
            dt.Microsecond = 99;

            Assert.AreEqual(2006, dt.Year);
            Assert.AreEqual(9, dt.Month);
            Assert.AreEqual(21, dt.Day);
            Assert.AreEqual(16, dt.Hour);
            Assert.AreEqual(4, dt.Minute);
            Assert.AreEqual(25, dt.Second);
            Assert.AreEqual(99, dt.Microsecond);
        }
Exemplo n.º 13
0
 public MgProperty GenerateProperty()
 {
     MgProperty prop = null;
     if (IsReadOnly || IsIdentity || !IsUpdated) return null;
     switch (PropertyType)
     {
         case MgPropertyType.Boolean:
             bool val = new bool();
             if (!bool.TryParse(Value.ToString(), out val))
             { throw new InvalidOperationException(string.Format("<b>{0}</b> - נתון אינו תקין", Alias)); }
             prop = new MgBooleanProperty(Name, val);
             break;
         case MgPropertyType.Byte:
             byte val2 = new byte();
             if (!byte.TryParse(Value.ToString(), out val2))
             { throw new InvalidOperationException(string.Format("<b>{0}</b> - נתון אינו תקין", Alias)); }
             prop = new MgByteProperty(Name, val2);
             break;
         case MgPropertyType.Double:
             double val3 = new double();
             if (!double.TryParse(Value.ToString(), out val3))
             { throw new InvalidOperationException(string.Format("<b>{0}</b> חייב להיות מספר", Alias)); }
             prop = new MgDoubleProperty(Name, val3);
             break;
         case MgPropertyType.Int16:
             short val4 = new short();
             if (!short.TryParse(Value.ToString(), out val4))
             { throw new InvalidOperationException(string.Format("<b>{0}</b> חייב להיות מספר", Alias)); }
             prop = new MgInt16Property(Name, val4);
             break;
         case MgPropertyType.Int32:
             int val5 = new int();
             if (!int.TryParse(Value.ToString(), out val5))
             { throw new InvalidOperationException(string.Format("<b>{0}</b> חייב להיות מספר", Alias)); }
             prop = new MgInt32Property(Name, val5);
             break;
         case MgPropertyType.Int64:
             long val6 = new long();
             if (!long.TryParse(Value.ToString(), out val6))
             { throw new InvalidOperationException(string.Format("<b>{0}</b> חייב להיות מספר", Alias)); }
             prop = new MgInt64Property(Name, val6);
             break;
         case MgPropertyType.DateTime:
             MgDateTime dt = new MgDateTime();
             short day, month, year;
             if (Alias == "תאריך עדכון" || Alias == "עדכון אחרון")
             {
                 Value = DateTime.Now.ToString("dd/MM/yyyy");
             }
             string[] arrDT = Value.ToString().Split('/');
             if (!short.TryParse(arrDT[0], out day) || !short.TryParse(arrDT[1], out month) || !short.TryParse(arrDT[2], out year))
             { throw new InvalidOperationException(string.Format("<b>{0}</b> פורמת תאריך שגוי", Alias)); }
             dt.Day = day;
             dt.Month = month;
             dt.Year = year;
             prop = new MgDateTimeProperty(Name, dt);
             break;
         case MgPropertyType.String:
             string val7 = "";
             val7 = Value.ToString();
             prop = new MgStringProperty(Name, val7);
             break;
         default:
             break;
     }
     return prop;
 }
Exemplo n.º 14
0
        internal static void Populate(MgPropertyCollection props, IMutableRecord record)
        {
            for (int i = 0; i < record.FieldCount; i++)
            {
                var    pt   = record.GetPropertyType(i);
                string name = record.GetName(i);
                if (record.IsNull(i))
                {
                    switch (pt)
                    {
                    case PropertyValueType.Blob:
                    {
                        var propVal = new MgBlobProperty(name, null);
                        propVal.SetNull(true);
                        props.Add(propVal);
                    }
                    break;

                    case PropertyValueType.Boolean:
                    {
                        var propVal = new MgBooleanProperty(name, false);
                        propVal.SetNull(true);
                        props.Add(propVal);
                    }
                    break;

                    case PropertyValueType.Byte:
                    {
                        var propVal = new MgByteProperty(name, 0);
                        propVal.SetNull(true);
                        props.Add(propVal);
                    }
                    break;

                    case PropertyValueType.Clob:
                    {
                        var propVal = new MgClobProperty(name, null);
                        propVal.SetNull(true);
                        props.Add(propVal);
                    }
                    break;

                    case PropertyValueType.DateTime:
                    {
                        var propVal = new MgDateTimeProperty(name, null);
                        propVal.SetNull(true);
                        props.Add(propVal);
                    }
                    break;

                    case PropertyValueType.Double:
                    {
                        var propVal = new MgDoubleProperty(name, 0.0);
                        propVal.SetNull(true);
                        props.Add(propVal);
                    }
                    break;

                    case PropertyValueType.Geometry:
                    {
                        var propVal = new MgGeometryProperty(name, null);
                        propVal.SetNull(true);
                        props.Add(propVal);
                    }
                    break;

                    case PropertyValueType.Int16:
                    {
                        var propVal = new MgInt16Property(name, 0);
                        propVal.SetNull(true);
                        props.Add(propVal);
                    }
                    break;

                    case PropertyValueType.Int32:
                    {
                        var propVal = new MgInt32Property(name, 0);
                        propVal.SetNull(true);
                        props.Add(propVal);
                    }
                    break;

                    case PropertyValueType.Int64:
                    {
                        var propVal = new MgInt64Property(name, 0L);
                        propVal.SetNull(true);
                        props.Add(propVal);
                    }
                    break;

                    case PropertyValueType.Single:
                    {
                        var propVal = new MgSingleProperty(name, 0.0f);
                        propVal.SetNull(true);
                        props.Add(propVal);
                    }
                    break;

                    case PropertyValueType.String:
                    {
                        var propVal = new MgStringProperty(name, "");
                        propVal.SetNull(true);
                        props.Add(propVal);
                    }
                    break;

                    default:
                        throw new NotSupportedException();
                    }
                }
                else
                {
                    switch (pt)
                    {
                    case PropertyValueType.Blob:
                    {
                        var bytes = record.GetBlob(i);
                        var br    = new MgByteSource(bytes, bytes.Length);
                        var bv    = new MgBlobProperty(name, br.GetReader());
                        props.Add(bv);
                    }
                    break;

                    case PropertyValueType.Boolean:
                    {
                        props.Add(new MgBooleanProperty(name, record.GetBoolean(i)));
                    }
                    break;

                    case PropertyValueType.Byte:
                    {
                        props.Add(new MgByteProperty(name, record.GetByte(i)));
                    }
                    break;

                    case PropertyValueType.Clob:
                    {
                        var bytes = record.GetBlob(i);
                        var br    = new MgByteSource(bytes, bytes.Length);
                        var bv    = new MgClobProperty(name, br.GetReader());
                        props.Add(bv);
                    }
                    break;

                    case PropertyValueType.DateTime:
                    {
                        var dt  = record.GetDateTime(i);
                        var mdt = new MgDateTime((short)dt.Year, (short)dt.Month, (short)dt.Day, (short)dt.Hour, (short)dt.Minute, (short)dt.Second, dt.Millisecond * 1000);
                        props.Add(new MgDateTimeProperty(name, mdt));
                    }
                    break;

                    case PropertyValueType.Double:
                    {
                        props.Add(new MgDoubleProperty(name, record.GetDouble(i)));
                    }
                    break;

                    case PropertyValueType.Geometry:
                    {
                        MgByteReader agf = GeomConverter.GetAgf(record.GetGeometry(i));
                        props.Add(new MgGeometryProperty(name, agf));
                    }
                    break;

                    case PropertyValueType.Int16:
                    {
                        props.Add(new MgInt16Property(name, record.GetInt16(i)));
                    }
                    break;

                    case PropertyValueType.Int32:
                    {
                        props.Add(new MgInt32Property(name, record.GetInt32(i)));
                    }
                    break;

                    case PropertyValueType.Int64:
                    {
                        props.Add(new MgInt64Property(name, record.GetInt64(i)));
                    }
                    break;

                    case PropertyValueType.Single:
                    {
                        props.Add(new MgSingleProperty(name, record.GetSingle(i)));
                    }
                    break;

                    case PropertyValueType.String:
                    {
                        props.Add(new MgStringProperty(name, record.GetString(i)));
                    }
                    break;

                    default:
                        throw new NotSupportedException();
                    }
                }
            }
        }
Exemplo n.º 15
0
 static DateTime ToClrDateTime(MgDateTime dt)
 {
     return(new DateTime(dt.Year, dt.Day, dt.Month, dt.Hour, dt.Minute, dt.Second, dt.Microsecond / 1000));
 }
Exemplo n.º 16
0
 public void CreateNew(int uid, string infrastructureType)
 {
     if (!string.IsNullOrEmpty(infrastructureType) && (infrastructureType != "בחר מרשימה"))
     {
         SetInfrastructureType(this._parentLayer.FeatureSourceId, infrastructureType);
         MgGeometryProperty geometry = null;
         MgResourceIdentifier resId = new MgResourceIdentifier(this._parentLayer.FeatureSourceId);
         MgFeatureQueryOptions opt = new MgFeatureQueryOptions();
         opt.SetFilter(string.Format("{0}={1}", this._uidKey, uid));
         MgFeatureReader reader = this._helper.FeatureService.SelectFeatures(resId, this._parentLayer.FeatureClassName, opt);
         MgClassDefinition classDefinition = this._helper.FeatureService.GetClassDefinition(resId, this._parentLayer.FeatureClassName.Split(new char[] { ':' })[0], this._parentLayer.FeatureClassName.Split(new char[] { ':' })[1]);
         if (classDefinition != null)
         {
             string geomName = classDefinition.DefaultGeometryPropertyName;
             if (reader.ReadNext())
             {
                 MgByteReader value = reader.GetGeometry(geomName);
                 if (value != null)
                 {
                     geometry = new MgGeometryProperty(geomName, value);
                 }
             }
         }
         reader.Close();
         reader.Dispose();
         if (geometry != null)
         {
             MgDateTime today = new MgDateTime();
             MgPropertyCollection properties = new MgPropertyCollection {
             geometry,
             new MgInt32Property("UID", uid),
             new MgStringProperty("InfrastructureType", infrastructureType),
             new MgStringProperty("OperationType", "לא מוגדר"),
             new MgStringProperty("Status", "פתוח"),
             new MgStringProperty("FeatureSource", this._parentLayer.FeatureSourceId),
             new MgDateTimeProperty("dtStart", today),
             new MgDateTimeProperty("dtDue", today),
             new MgDateTimeProperty("dtUpdate", today)
         };
             MgInsertFeatures insert = new MgInsertFeatures("Maintenance", properties);
             MgFeatureCommandCollection commands = new MgFeatureCommandCollection {
             insert
         };
             this._helper.FeatureService.UpdateFeatures(this._sdfResId, commands, false);
         }
     }
 }
Exemplo n.º 17
0
        public MgProperty GenerateProperty(bool changedOnly)
        {
            MgProperty prop = null;
            if ((this.IsReadOnly || this.IsIdentity) || (!this.IsUpdated && changedOnly))
            {
                return null;
            }
            switch (this.PropertyType)
            {
                case 1:
                    bool val;
                    if (!bool.TryParse(this.Value.ToString(), out val))
                    {
                        throw new InvalidOperationException(string.Format("<b>{0}</b> - נתון אינו תקין", this.Alias));
                    }
                    return new MgBooleanProperty(this.Name, val);

                case 2:
                    byte val2;
                    if (!byte.TryParse(this.Value.ToString(), out val2))
                    {
                        throw new InvalidOperationException(string.Format("<b>{0}</b> - נתון אינו תקין", this.Alias));
                    }
                    return new MgByteProperty(this.Name, val2);

                case 3:
                    {
                        short day;
                        short month;
                        short year;
                        MgDateTime dt = new MgDateTime();
                        if (LastUpdateAliases.Contains<string>(this.Alias))
                        {
                            this.Value = DateTime.Now.ToString("dd/MM/yyyy");
                        }
                        string[] arrDT = this.Value.ToString().Split(new char[] { '/' });
                        if (!((short.TryParse(arrDT[0], out day) && short.TryParse(arrDT[1], out month)) && short.TryParse(arrDT[2], out year)))
                        {
                            throw new InvalidOperationException(string.Format("<b>{0}</b> פורמת תאריך שגוי", this.Alias));
                        }
                        dt.Day = day;
                        dt.Month = month;
                        dt.Year = year;
                        return new MgDateTimeProperty(this.Name, dt);
                    }
                case 4:
                    return prop;

                case 5:
                    double val3;
                    if (!double.TryParse(this.Value.ToString(), out val3))
                    {
                        throw new InvalidOperationException(string.Format("<b>{0}</b> חייב להיות מספר", this.Alias));
                    }
                    return new MgDoubleProperty(this.Name, val3);

                case 6:
                    short val4;
                    if (!short.TryParse(this.Value.ToString(), out val4))
                    {
                        throw new InvalidOperationException(string.Format("<b>{0}</b> חייב להיות מספר", this.Alias));
                    }
                    return new MgInt16Property(this.Name, val4);

                case 7:
                    int val5;
                    if (!int.TryParse(this.Value.ToString(), out val5))
                    {
                        throw new InvalidOperationException(string.Format("<b>{0}</b> חייב להיות מספר", this.Alias));
                    }
                    return new MgInt32Property(this.Name, val5);

                case 8:
                    long val6;
                    if (!long.TryParse(this.Value.ToString(), out val6))
                    {
                        throw new InvalidOperationException(string.Format("<b>{0}</b> חייב להיות מספר", this.Alias));
                    }
                    return new MgInt64Property(this.Name, val6);

                case 9:
                    return new MgStringProperty(this.Name, this.Value.ToString());
            }
            return prop;
        }