Example #1
0
        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));
        }
Example #2
0
        /*==================================================================================================================================
        * 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));
        }