Example #1
0
        private void UpdateField(
            int accountId,
            string fieldName,
            PropertyMapping.UpdateFieldDataType fieldType,
            PropertyMapping.UpdateFieldTable tableNumber,
            string newString,
            string oldString,
            string userId,
            int positionId)
        {
            var noteType = ChangedFieldCodeManager.GetChangedFieldCodes().First(code => TrimEquals(code.Name, fieldName) && TrimEquals(code.TableName, tableNumber.ToString()));

            using (var conn = new SqlConnection())
            {
                var parameters = new[]
                {
                    DataUtilities.CreateNullableSqlParameter("@AccountID", accountId),
                    DataUtilities.CreateNullableSqlParameter("@FieldName", fieldName),
                    DataUtilities.CreateNullableSqlParameter("@FieldType", fieldType), //(int)fieldType
                    DataUtilities.CreateNullableSqlParameter("@TableNumber", (int)tableNumber),
                    DataUtilities.CreateNullableSqlParameter("@NewString", newString),
                    DataUtilities.CreateNullableSqlParameter("@OldString", oldString),
                    DataUtilities.CreateNullableSqlParameter("@UserID", userId),
                    DataUtilities.CreateNullableSqlParameter("@PositionID", positionId),
                    DataUtilities.CreateNullableSqlParameter("@NoteType", noteType.CodeId),
                    DataUtilities.CreateNullableSqlParameter("@UpdateLastWorkDate", 0),
                    DataUtilities.CreateNullableSqlParameter("@IsUpdatePhoneStatusOK", 100)
                };

                int returnValue;
                DataUtilities.SqlExecuteStoredProcedureNonQuery(ConnectionString, "spUpdateField", parameters, out returnValue);

                if (returnValue != 0)
                {
                    throw new UpdateFieldException(returnValue);
                }
            }
        }
Example #2
0
        private static string GetFieldTypeValue(object obj, string property, PropertyMapping mapping, PropertyMapping.UpdateFieldDataType fieldType)
        {
            var objType       = obj.GetType();
            var typeProperty  = objType.GetProperty(property);
            var propertyValue = typeProperty.GetValue(obj, null);

            if (propertyValue == null)
            {
                return(String.Empty);
            }

            string returnValue;

            switch (fieldType)
            {
            case PropertyMapping.UpdateFieldDataType.NumberField:
                returnValue = typeProperty.PropertyType.IsEnum
                        ? Convert.ToInt32(propertyValue).ToString()
                        : propertyValue.ToString();

                break;

            case PropertyMapping.UpdateFieldDataType.StringField:
                returnValue = propertyValue.ToString();
                break;

            case PropertyMapping.UpdateFieldDataType.DateField:
                if (propertyValue is DateTime)
                {
                    var dateValue = (DateTime)propertyValue;
                    returnValue = dateValue == DateTime.MinValue ? String.Empty : $"{dateValue:yyyy-MM-dd HH:mm:ss}";
                }
                else
                {
                    returnValue = String.Empty;
                }

                break;

            case PropertyMapping.UpdateFieldDataType.BitField:
                var boolValue = Convert.ToBoolean(propertyValue);
                returnValue = boolValue ? "1" : "0";
                break;

            default:
                throw new ArgumentOutOfRangeException("fieldType");
            }

            // we have a value, we need to check whether or not it needs to be encrypted.
            // returnValue = mapping.IsEncrypted ? Core.Utilities.AesEncryption.AesEncrypt(returnValue) : Regex.Replace(returnValue, @"((?<!')'(?!'))", "''");

            return(returnValue);
        }