public ActionResult Save(BulkInsertViewModel viewModel) { questStatus status = null; /*---------------------------------------------------------------------------------------------------------------------------------- * Log Operation *---------------------------------------------------------------------------------------------------------------------------------*/ status = LogOperation(); if (!questStatusDef.IsSuccess(status)) { viewModel.questStatus = status; return(Json(viewModel, JsonRequestBehavior.AllowGet)); } /*---------------------------------------------------------------------------------------------------------------------------------- * Authorize *---------------------------------------------------------------------------------------------------------------------------------*/ status = Authorize(viewModel._ctx); if (!questStatusDef.IsSuccess(status)) { viewModel.questStatus = status; return(Json(viewModel, JsonRequestBehavior.AllowGet)); } /*---------------------------------------------------------------------------------------------------------------------------------- * Perform operation. *---------------------------------------------------------------------------------------------------------------------------------*/ BulkInsertModeler bulkInsertModeler = new BulkInsertModeler(this.Request, this.UserSession); status = bulkInsertModeler.DoBulkInsert(viewModel); if (!questStatusDef.IsSuccess(status)) { viewModel.questStatus = status; return(Json(viewModel, JsonRequestBehavior.AllowGet)); } /*---------------------------------------------------------------------------------------------------------------------------------- * Return result. *---------------------------------------------------------------------------------------------------------------------------------*/ BulkInsertViewModel bulkInsertViewModel = new BulkInsertViewModel(this.UserSession, viewModel); status = new questStatus(Severity.Success, "Bulk insert successfully executed"); bulkInsertViewModel.questStatus = status; return(Json(bulkInsertViewModel, JsonRequestBehavior.AllowGet)); }
/*================================================================================================================================== * Public Methods *=================================================================================================================================*/ public questStatus DoBulkInsert(BulkInsertViewModel bulkInsertViewModel) { // Initialize questStatus status = null; // Build bulk insert request BulkInsertRequest bulkInsertRequest = new BulkInsertRequest(); BufferMgr.TransferBuffer(bulkInsertViewModel, bulkInsertRequest, true); bulkInsertRequest.TablesetId = bulkInsertViewModel.TablesetId; foreach (BulkInsertRowDataViewModel RowData in bulkInsertViewModel.Rows) { BulkInsertRow bulkInsertRow = new BulkInsertRow(); foreach (NameValueViewModel nameValueViewModel in RowData.Columns) { BulkInsertColumnValue bulkInsertColumnValue = new BulkInsertColumnValue(); bulkInsertColumnValue.Name = nameValueViewModel.ColumnName; if ((string.IsNullOrWhiteSpace(nameValueViewModel.ColumnValue)) && (nameValueViewModel.ColumnValue != null)) { bulkInsertColumnValue.Value = nameValueViewModel.ColumnValue.Trim(); } else { bulkInsertColumnValue.Value = nameValueViewModel.ColumnValue; } bulkInsertRow.Columns.Add(bulkInsertColumnValue); } bulkInsertRequest.Rows.Add(bulkInsertRow); } // Perform bulk insert. BulkInsertMgr bulkInsertMgr = new BulkInsertMgr(this.UserSession); status = bulkInsertMgr.PerformBulkInsert(bulkInsertRequest); if (!questStatusDef.IsSuccess(status)) { return(status); } return(new questStatus(Severity.Success)); }