示例#1
0
 public void SetDecimalValue(string columnName, decimal?value)
 {
     NullableDecimal tempvalue = value.HasValue ? new NullableDecimal(Common.ParseDecimal(value.Value.ToString())) : null;
     {
         CommonPINVOKE.DataRow_SetDecimalValue__SWIG_1(swigCPtr, columnName, NullableDecimal.getCPtr(tempvalue));
         if (CommonPINVOKE.SWIGPendingException.Pending)
         {
             throw CommonPINVOKE.SWIGPendingException.Retrieve();
         }
     }
 }
示例#2
0
 public decimal?ValueAsDecimal(string columnName)
 {
     global::System.IntPtr cPtr = CommonPINVOKE.DataRow_ValueAsDecimal__SWIG_1(swigCPtr, columnName);
     if (CommonPINVOKE.SWIGPendingException.Pending)
     {
         throw CommonPINVOKE.SWIGPendingException.Retrieve();
     }
     using (NullableDecimal tempDecimal = (cPtr == global::System.IntPtr.Zero) ? null : new NullableDecimal(cPtr, false)) {
         if (tempDecimal?.HasValue() ?? false)
         {
             return(System.Convert.ToDecimal(Common.ToString(tempDecimal.GetValueOrDefault())));
         }
         return(null);
     }
 }
示例#3
0
        public void TestQueryNullableValue()
        {
            foreach (IDataService dataService in DataServices)
            {
                if (dataService is OracleDataService && typeof(SQLDataService).Assembly.ImageRuntimeVersion.StartsWith("v2"))
                {
                    ///TODO: Исправить конвертацию для OracleDataService decimal в char, если используется System.Data.OracleClient (в Net3.5).
                    ///Для версии Net4.0 и выше используется Oracle.ManagedDataAccess.Client, для которого исправление не требуется.
                    continue;
                }
                var ds = (SQLDataService)dataService;

                NullableDateTime date = new NullableDateTime();
                date.Value = DateTime.Now;
                NullableDecimal dec = new NullableDecimal();
                dec.Value = new decimal(77.111);
                NullableDecimal decGreater = new NullableDecimal();
                decGreater.Value = dec.Value + new decimal(0.001);
                NullableInt i = new NullableInt();
                i.Value = 77;
                FullTypesMaster1 fullTypes = new FullTypesMaster1()
                {
                    PoleNullableDateTime = date, PoleNullableDecimal = dec, PoleNullableInt = i
                };

                // Сохранение данных.
                var updateObjectsArray = new ICSSoft.STORMNET.DataObject[] { fullTypes };
                ds.UpdateObjects(ref updateObjectsArray);

                // Выбор представления.
                var view = FullTypesMaster1.Views.FullMasterView;
                List <FullTypesMaster1> list;

                // Проверка поиска NullableDateTime.
                list = ds.Query <FullTypesMaster1>(view).Where(d => d.PoleNullableDateTime.Value <= date.Value).ToList();
                Assert.Equal(1, list.Count);

                // Проверка поиска NullableDecimal.
                list = ds.Query <FullTypesMaster1>(view).Where(d => d.PoleNullableDecimal.Value < decGreater.Value).ToList();
                Assert.Equal(1, list.Count);

                // Проверка поиска NullableInt.
                list = ds.Query <FullTypesMaster1>(view).Where(d => d.PoleNullableInt.Value == i.Value).ToList();
                Assert.Equal(1, list.Count);
            }
        }
示例#4
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = Boolean.GetHashCode();
         hashCode = (hashCode * 397) ^ NullableBoolean.GetHashCode();
         hashCode = (hashCode * 397) ^ Byte.GetHashCode();
         hashCode = (hashCode * 397) ^ NullableByte.GetHashCode();
         hashCode = (hashCode * 397) ^ SByte.GetHashCode();
         hashCode = (hashCode * 397) ^ NullableSByte.GetHashCode();
         hashCode = (hashCode * 397) ^ Char.GetHashCode();
         hashCode = (hashCode * 397) ^ NullableChar.GetHashCode();
         hashCode = (hashCode * 397) ^ Decimal.GetHashCode();
         hashCode = (hashCode * 397) ^ NullableDecimal.GetHashCode();
         hashCode = (hashCode * 397) ^ Double.GetHashCode();
         hashCode = (hashCode * 397) ^ NullableDouble.GetHashCode();
         hashCode = (hashCode * 397) ^ Single.GetHashCode();
         hashCode = (hashCode * 397) ^ NullableSingle.GetHashCode();
         hashCode = (hashCode * 397) ^ Int32;
         hashCode = (hashCode * 397) ^ NullableInt32.GetHashCode();
         hashCode = (hashCode * 397) ^ (int)UInt32;
         hashCode = (hashCode * 397) ^ NullableUInt32.GetHashCode();
         hashCode = (hashCode * 397) ^ Int64.GetHashCode();
         hashCode = (hashCode * 397) ^ NullableInt64.GetHashCode();
         hashCode = (hashCode * 397) ^ UInt64.GetHashCode();
         hashCode = (hashCode * 397) ^ NullableUInt64.GetHashCode();
         hashCode = (hashCode * 397) ^ Int16.GetHashCode();
         hashCode = (hashCode * 397) ^ NullableInt16.GetHashCode();
         hashCode = (hashCode * 397) ^ UInt16.GetHashCode();
         hashCode = (hashCode * 397) ^ NullableUInt16.GetHashCode();
         hashCode = (hashCode * 397) ^ (int)Enum;
         hashCode = (hashCode * 397) ^ NullableEnum.GetHashCode();
         hashCode = (hashCode * 397) ^ (String != null ? String.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Nested != null ? Nested.GetHashCode() : 0);
         return(hashCode);
     }
 }
示例#5
0
 protected new void SetPropertiesFromDataReader(SqlDataReaderWrapper dr)
 {
     this.firstName             = dr.GetString("FirstName");
     this.lastName              = dr.GetString("LastName");
     this.emailAddress          = dr.GetString("EmailAddress");
     this.phoneNumber           = dr.GetString("PhoneNumber");
     this.password              = dr.GetString("Password");
     this.address1              = dr.GetString("Address1");
     this.address2              = dr.GetString("Address2");
     this.city                  = dr.GetString("City");
     this.state                 = dr.GetString("State");
     this.postalCode            = dr.GetString("PostalCode");
     this.shippingAddress1      = dr.GetString("ShippingAddress1");
     this.shippingAddress2      = dr.GetString("ShippingAddress2");
     this.shippingCity          = dr.GetString("ShippingCity");
     this.shippingState         = dr.GetString("ShippingState");
     this.shippingPostalCode    = dr.GetString("ShippingPostalCode");
     this.areasOfExpertise      = dr.GetString("AreasOfExpertise");
     this.adminUserType         = (AdminUserType)dr.GetInt32("AdminUserType");
     this.isSystemAdministrator = dr.GetBoolean("IsSystemAdministrator");
     this.isReceivesPastDueNoFixNotifications = dr.GetBoolean("IsReceivesPastDueNoFixNotifications");
     this.market      = (Market)dr.GetInt32("Market");
     this.permissions = dr.GetString("Permissions");
     this.validationPayRateDollarsPerHour = dr.GetNullableDecimal("ValidationPayRateDollarsPerHour");
     this.isActive                  = dr.GetBoolean("IsActive");
     this.isDeleted                 = dr.GetBoolean("IsDeleted");
     this.updatedDateTimeUTC        = dr.GetDateTime("UpdatedDateTimeUTC");
     this.createdDateTimeUTC        = dr.GetDateTime("CreatedDateTimeUTC");
     this.lastLoginDateTimeUTC      = dr.GetNullableDateTime("LastLoginDateTimeUTC");
     this.propertyDefinitionDataSet = (PropertyDefinitionDataSet)dr.GetBusinessObjectBase(this.Registry, typeof(PropertyDefinitionDataSet), "PropertyDefinitionDataSetId");
     this.enablePropertyDefinitionEditingOnForms = dr.GetBoolean("EnablePropertyDefinitionEditingOnForms");
     if (!dr.IsDBNull("ValidationTestResultsTotalMinutesToComplete"))
     {
         this.validationTestResultsTotalMinutesToComplete = dr.GetInt32("ValidationTestResultsTotalMinutesToComplete");
     }
     this.IsObjectLoaded = true;
 }
示例#6
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(NullableDecimal obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
示例#7
0
        public void TestFilterNullable()
        {
            ActODataService(args =>
            {
                NullableDateTime date = new NullableDateTime();
                date.Value            = new DateTimeOffset(DateTime.Now).UtcDateTime;
                NullableInt i         = new NullableInt();
                i.Value                     = 7;
                NullableDecimal d           = new NullableDecimal();
                d.Value                     = new decimal(777.777);
                string prevDecimal          = (d.Value - 1).ToString().Replace(",", ".");
                string nextDecimal          = (d.Value + 1).ToString().Replace(",", ".");
                string prevDate             = $"{date.Value.AddDays(-1).ToString("yyyy-MM-ddTHH:mm:ss.fff")}%2B05:00";
                string nextDate             = $"{date.Value.AddDays(1).ToString("yyyy-MM-ddTHH:mm:ss.fff")}%2B05:00";
                КлассСМножествомТипов класс = new КлассСМножествомТипов()
                {
                    PropertyStormnetNullableInt = i, PropertyStormnetNullableDecimal = d, PropertyStormnetNullableDateTime = date, PropertyDateTime = date.Value
                };
                var objs = new DataObject[] { класс };
                args.DataService.UpdateObjects(ref objs);
                string requestUrl;

                /*
                 * // Проверка использования фильтрации для типа ICSSoft.STORMNET.UserDataTypes.NullableDateTime.
                 * requestUrl = $"http://localhost/odata/КлассСМножествомТиповs?$filter=(PropertyStormnetNullableDateTime gt {prevDate}) and (PropertyStormnetNullableDateTime lt {nextDate})";
                 *
                 * // Обращаемся к OData-сервису и обрабатываем ответ.
                 * using (HttpResponseMessage response = args.HttpClient.GetAsync(requestUrl).Result)
                 * {
                 *  // Убедимся, что запрос завершился успешно.
                 *  Assert.Equal(HttpStatusCode.OK, response.StatusCode);
                 *
                 *  // Получим строку с ответом.
                 *  string receivedStr = response.Content.ReadAsStringAsync().Result.Beautify();
                 *
                 *  // Преобразуем полученный объект в словарь.
                 *  Dictionary<string, object> receivedDict = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(receivedStr);
                 *
                 *  Assert.Equal(1, ((ArrayList)receivedDict["value"]).Count);
                 * }
                 *
                 * // Проверка использования фильтрации для типа ICSSoft.STORMNET.UserDataTypes.NullableDecimal.
                 * requestUrl = $"http://localhost/odata/КлассСМножествомТиповs?$filter=(PropertyStormnetNullableDecimal gt {prevDecimal}M) and (PropertyStormnetNullableDecimal lt {nextDecimal})";
                 *
                 * // Обращаемся к OData-сервису и обрабатываем ответ.
                 * using (HttpResponseMessage response = args.HttpClient.GetAsync(requestUrl).Result)
                 * {
                 *  // Убедимся, что запрос завершился успешно.
                 *  Assert.Equal(HttpStatusCode.OK, response.StatusCode);
                 *
                 *  // Получим строку с ответом.
                 *  string receivedStr = response.Content.ReadAsStringAsync().Result.Beautify();
                 *
                 *  // Преобразуем полученный объект в словарь.
                 *  Dictionary<string, object> receivedDict = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(receivedStr);
                 *
                 *  Assert.Equal(1, ((ArrayList)receivedDict["value"]).Count);
                 * }
                 */
                // Проверка использования фильтрации для типа ICSSoft.STORMNET.UserDataTypes.NullableInt.
                requestUrl = $"http://localhost/odata/КлассСМножествомТиповs?$filter=PropertyStormnetNullableInt eq {i.Value.ToString()}";

                // Обращаемся к OData-сервису и обрабатываем ответ.
                using (HttpResponseMessage response = args.HttpClient.GetAsync(requestUrl).Result)
                {
                    // Убедимся, что запрос завершился успешно.
                    Assert.Equal(HttpStatusCode.OK, response.StatusCode);

                    // Получим строку с ответом.
                    string receivedStr = response.Content.ReadAsStringAsync().Result.Beautify();

                    // Преобразуем полученный объект в словарь.
                    Dictionary <string, object> receivedDict = new JavaScriptSerializer().Deserialize <Dictionary <string, object> >(receivedStr);

                    Assert.Equal(1, ((ArrayList)receivedDict["value"]).Count);
                }
            });
        }