Exemple #1
0
        public void SaveUpdateBaseObject <T>(T businessObject, long userID)
            where T : class, IBaseObject
        {
            businessObject.ModifiedByID = userID;
            businessObject.ModifiedDate = DateTime.Now;

            if (businessObject.ObjectTypeID == null || businessObject.ObjectTypeID == 0)
            {
                businessObject.ObjectTypeID = GetObjectTypeID(businessObject.GetType().Name);
            }

            if (string.IsNullOrEmpty(businessObject.Name))
            {
                businessObject.Name = "none";
            }

            if (string.IsNullOrEmpty(businessObject.Details))
            {
                businessObject.Details = "none";
            }

            var properties = businessObject.GetType().GetProperties().Where(
                prop => Attribute.IsDefined(prop, typeof(FieldMappingForObjectTableAttribute)));
            var    propertyNamesAndValues = SqlQueryProvider.GetPropertyNamesForDBColumnsAndValuesForUpdate <T>(properties, businessObject);
            string query = SqlQueryProvider.UpdateBaseObject(propertyNamesAndValues, businessObject.ObjectID.ToString());

            using (SqlConnection conn = new SqlConnection(Configuration.DefaultConnectionString))
                using (SqlCommand cmd = new SqlCommand(query, conn))
                {
                    conn.Open();
                    cmd.ExecuteNonQuery();
                    conn.Close();
                }
        }
Exemple #2
0
        public T SaveUpdateBusinessObject <T>(T businessObject)
            where T : class, IBaseObject
        {
            var table      = GetTableName <T>();
            var properties = businessObject.GetType().GetProperties().Where(
                prop => Attribute.IsDefined(prop, typeof(FieldMappingForMainTableAttribute)));

            if (properties.Any())
            {
                var    propertyNamesAndValues = SqlQueryProvider.GetPropertyNamesForDBColumnsAndValuesForUpdate <T>(properties, businessObject);
                string query = SqlQueryProvider.UpdateBusinessObject(table, propertyNamesAndValues, businessObject.ObjectID.ToString());

                using (SqlConnection conn = new SqlConnection(Configuration.DefaultConnectionString))
                    using (SqlCommand cmd = new SqlCommand(query, conn))
                    {
                        conn.Open();
                        cmd.ExecuteNonQuery();
                        conn.Close();
                    }
            }

            return(SelectGetBusinessObjectAfterSave <T>(businessObject, table, businessObject.ObjectID));
        }