Advertisement
Advertisement
| 02.23.2008 at 03:41PM PST, ID: 23187729 |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
|
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
| Microsoft |
| Apple |
| Internet |
| Gamers |
| Digital Living |
| Virus & Spyware |
| Hardware |
| Software |
| ITPro |
| Developer |
| Storage |
| OS |
| Database |
| Security |
| Programming |
| Web Development |
| Networking |
| Other |
| Community Support |
| 02.23.2008 at 04:06PM PST, ID: 20967444 |
| 02.23.2008 at 04:32PM PST, ID: 20967552 |
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: |
ALTER TRIGGER mwtrig_tblBulkUpload
ON tblBulkUpload
FOR INSERT, UPDATE, DELETE
AS
DECLARE @BulkUploadID INT,
@BulkUploadBatchID INT,
@EnglishName VARCHAR( 200 ), -- tblMember
@NonEnglishName NVARCHAR( 200 ),
@OfficeName VARCHAR( 500 ), -- tblMemberLocation
@StreetAddress VARCHAR( 200 ),
@ChineseStreetAddress NVARCHAR( 200 ),
@Country VARCHAR( 200 ), -- tblLocation
@Region VARCHAR( 200 ),
@City VARCHAR( 200 ),
@Zip VARCHAR( 50 ), -- tblMemberLocation
@Email VARCHAR( 200 ), -- tblMemberInternetInfo
@Phone VARCHAR( 200 ),
@Description VARCHAR( 5000 ), -- tblMember
@Classification VARCHAR( 200 ), -- tblMemberClassification
@LastUpdateDate SMALLDATETIME,
@WhoID INT,
@Inserted BIT,
@InsertComment VARCHAR( 8000 ),
@LocationID INT,
@ClassificationID INT,
@CompanyID INT
IF EXISTS( SELECT BulkUploadID FROM INSERTED )
BEGIN
SELECT @BulkUploadID = BulkUploadID,
@BulkUploadBatchID = BulkUploadBatchID,
@EnglishName = EnglishName,
@NonEnglishName = NonEnglishName,
@OfficeName = OfficeName,
@StreetAddress = StreetAddress,
@ChineseStreetAddress = ChineseStreetAddress,
@Country = Country,
@Region = Region,
@City = City,
@Zip = Zip,
@Email = Email,
@Phone = Phone,
@Description = Description,
@Classification = Classification,
@LastUpdateDate = LastUpdateDate,
@WhoID = WhoID,
@Inserted = Inserted,
@InsertComment = 'Please have a look at this record', -- used for validation
@LocationID = dbo.mwfn_getLocationID( Country, Region, City ),
@ClassificationID = dbo.mwfn_getClassificationID( Classification ),
@CompanyID = 0 -- will get id if successful insert
FROM INSERTED
-- location
IF @LocationID = 0
BEGIN
SET @InsertComment = 'Unable to determine location'
END
-- classification
SELECT ID, Value, RelID
INTO #ParsedTable
FROM dbo.mwfn_getClassificationInsertTable( @Classification )
-- count classification records that couldn't be resolved
DECLARE @CountClassificationZeros INT
SELECT @CountClassificationZeros = COUNT( ID ) FROM #ParsedTable WHERE RelID = 0
IF @CountClassificationZeros > 0
BEGIN
SET @InsertComment = 'Unable to determine classification'
END
-- get ready for insert
IF @CountClassificationZeros = 0 AND @LocationID > 0
BEGIN
SET @InsertComment = 'Inserting...'
-- INSERT COMPANY:
EXEC mwsp_insertMemberForBulkUpload
1, -- typeID: company(1)
@WhoID, -- this is parent ID... not sure why we are using a user's ID
'- none -',
7, -- EnglishPrefixID(7)
'', -- FirstName (company doesn't have one)
@EnglishName,
@NonEnglishName,
6, -- Chinese Suffix ID
@WhoID,
@CompanyID OUT
-- INSERT PHONE NUMBER:
DECLARE @Token AS VARCHAR( 8000 )
SET @Token = @Phone
DECLARE @Temp AS VARCHAR(50)
WHILE LEN( @Token ) > 0
BEGIN
IF CHARINDEX('|', @Token) = 0
BEGIN
SET @TEMP =@Token
SET @Token = ''
-- insert value
EXEC mwsp_insertMemberContactNumber
@CompanyID,
7, -- Business Phone 1 (id:7)
@TEMP,
@WhoID
END
ELSE
BEGIN
SET @Temp = LEFT( @Token, CHARINDEX( '|', @Token )-1 )
-- insert value
EXEC mwsp_insertMemberContactNumber
@CompanyID,
7, -- Business Phone 1 (id:7)
@TEMP,
@WhoID
SET @Token = RIGHT(@Token, LEN(@Token)-LEN(@Temp)-1)
END
END
-- EMAIL ADDRESS
SET @Token = @Email
WHILE LEN( @Token ) > 0
BEGIN
IF CHARINDEX('|', @Token) = 0
BEGIN
SET @TEMP =@Token
SET @Token = ''
-- insert value
EXEC mwsp_insertMemberInternetInfo
@CompanyID,
1, -- InternetInfoTypeID Email( 1 )
@TEMP,
@WhoID
END
ELSE
BEGIN
SET @Temp = LEFT( @Token, CHARINDEX( '|', @Token )-1 )
-- insert value
EXEC mwsp_insertMemberInternetInfo
@CompanyID,
1, -- InternetInfoTypeID Email( 1 )
@TEMP,
@WhoID
SET @Token = RIGHT(@Token, LEN(@Token)-LEN(@Temp)-1)
END
END
-- INSERT CLASSIFICATION REL
DECLARE @RelID INT
DECLARE cur_CwClassification CURSOR LOCAL FORWARD_ONLY STATIC
FOR ( SELECT RelID
FROM #ParsedTable )
OPEN cur_CwClassification
FETCH cur_CwClassification
INTO @RelID
WHILE @@FETCH_STATUS = 0
BEGIN
-- insert into classification
EXEC mwsp_insertMemberClassificationRel @CompanyID, @RelID, @WhoID
FETCH cur_CwClassification
INTO @RelID
END
CLOSE cur_CwClassification
DEALLOCATE cur_CwClassification
-- INSERT LOCATION
EXEC mwsp_insertMemberLocationForBulkUpload
@CompanyID,
@OfficeName,
@StreetAddress,
'', -- street address 2
@ChineseStreetAddress,
@LocationID,
1, -- @MainAddressBool_6 [bit],
@Zip,
@WhoID
SET @Inserted = 1
SET @InsertComment = 'Successful insert!'
END
-- update the Bulk Upload File
EXEC mwsp_updateBulkUpload
@BulkUploadID,
@BulkUploadBatchID,
@EnglishName,
@NonEnglishName,
@OfficeName,
@StreetAddress,
@ChineseStreetAddress,
@Country,
@Region,
@City,
@Zip,
@Email,
@Phone,
@Description,
@Classification,
@WhoID,
@Inserted,
@InsertComment,
@CompanyID
END
ELSE
BEGIN
DECLARE @CompID INT
SELECT @CompID = ISNULL( d.MemberID, 0 )
FROM DELETED d
IF @CompID > 0
BEGIN
EXEC jcDeleteMember @CompID
END
END
GO
|
| 02.23.2008 at 07:43PM PST, ID: 20968352 |
| 02.23.2008 at 09:01PM PST, ID: 20968722 |
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: |
CREATE TABLE tblBulkUploadBatch ( BulkUploadBatchID INT PRIMARY KEY IDENTITY( 1, 1 ), Guid UNIQUEIDENTIFIER DEFAULT( NEWID() ), Name NVARCHAR( 400 ), -- used to name the bulk upload WhoID INT, -- who did the initial upload UploadDate SMALLDATETIME DEFAULT( GETDATE() ), FOREIGN KEY( WhoID ) REFERENCES tblMember( ID ) ON DELETE CASCADE ) GO CREATE TABLE tblBulkUpload ( BulkUploadID INT PRIMARY KEY IDENTITY( 1, 1 ), BulkUploadBatchID INT, EnglishName VARCHAR( 200 ), -- tblMember NonEnglishName NVARCHAR( 200 ), OfficeName VARCHAR( 500 ), -- tblMemberLocation StreetAddress VARCHAR( 200 ), ChineseStreetAddress NVARCHAR( 200 ), Country VARCHAR( 200 ), -- tblLocation Region VARCHAR( 200 ), City VARCHAR( 200 ), Zip VARCHAR( 50 ), -- tblMemberLocation Email VARCHAR( 200 ), -- tblMemberInternetInfo Phone VARCHAR( 200 ), Description VARCHAR( 500 ), -- tblMember ( should be 5K but row size is exceeded ) Classification VARCHAR( 200 ), -- tblMemberClassification LastUpdateDate SMALLDATETIME DEFAULT( GETDATE() ), WhoID INT, Inserted BIT DEFAULT( 0 ), InsertComment VARCHAR( 1000 ) DEFAULT( 'No attempt yet... please refresh in 10 seconds' ), MemberID INT NULL, -- is populated with the memberId after an insert is completed FOREIGN KEY( BulkUploadBatchID ) REFERENCES tblBulkUploadBatch( BulkUploadBatchID ) ON DELETE CASCADE, FOREIGN KEY( WhoID ) REFERENCES tblMember( ID ) ) |
| 02.23.2008 at 10:20PM PST, ID: 20968949 |
| 02.23.2008 at 11:19PM PST, ID: 20969085 |
| 02.25.2008 at 01:21AM PST, ID: 20973826 |
| 02.25.2008 at 08:59PM PST, ID: 20981732 |
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: |
ALTER PROC dbo.mwsp_deleteBulkUploadBatch @BulkUploadBatchID INT AS -- get a list of all successful inserts and delete them DECLARE @MemberID INT DECLARE cur_SuccessfulInserts CURSOR LOCAL FORWARD_ONLY STATIC FOR ( SELECT MemberID FROM tblBulkUpload WHERE BulkUploadBatchID = @BulkUploadBatchID AND ISNULL( MemberID, 0 ) > 0 ) OPEN cur_SuccessfulInserts FETCH cur_SuccessfulInserts INTO @MemberID WHILE @@FETCH_STATUS = 0 BEGIN -- delete it since the cascade delete does not work EXEC jcDeleteMember @MemberID FETCH cur_SuccessfulInserts INTO @MemberID END CLOSE cur_SuccessfulInserts DEALLOCATE cur_SuccessfulInserts -- Delete batch header DELETE tblBulkUploadBatch WHERE BulkUploadBatchID = @BulkUploadBatchID GO |
| 03.01.2008 at 10:00PM PST, ID: 21025126 |
| 03.02.2008 at 11:16AM PST, ID: 21027086 |
| 03.03.2008 at 11:57AM PST, ID: 21035026 |
| 03.03.2008 at 12:09PM PST, ID: 21035124 |
| 03.03.2008 at 01:51PM PST, ID: 21036082 |
| 03.03.2008 at 01:54PM PST, ID: 21036110 |