/*================================================================================================================================== * Public Methods *=================================================================================================================================*/ public questStatus DoBulkUpdate(BulkUpdateViewModel bulkUpdateViewModel, out int numRows) { // Initialize questStatus status = null; numRows = -1; // TODO: PREP REQUEST BulkUpdateRequest bulkUpdateRequest = new BulkUpdateRequest(); bulkUpdateRequest.FilterId = bulkUpdateViewModel.FilterId; foreach (NameValueViewModel nameValueViewModel in bulkUpdateViewModel.ColumnData) { BulkUpdateColumnValue bulkUpdateColumnValue = new BulkUpdateColumnValue(); bulkUpdateColumnValue.Name = nameValueViewModel.ColumnName; bulkUpdateColumnValue.Value = nameValueViewModel.ColumnValue; BufferMgr.TransferBuffer(nameValueViewModel, bulkUpdateColumnValue); bulkUpdateRequest.Columns.Add(bulkUpdateColumnValue); } // Perform bulk update. BulkUpdateMgr bulkUpdateMgr = new BulkUpdateMgr(this.UserSession); status = bulkUpdateMgr.PerformBulkUpdate(bulkUpdateRequest, out numRows); if (!questStatusDef.IsSuccess(status)) { return(status); } return(status); }
public ActionResult Save(BulkUpdateViewModel 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. *---------------------------------------------------------------------------------------------------------------------------------*/ int numRows = -1; BulkUpdateModeler bulkUpdateModeler = new BulkUpdateModeler(this.Request, this.UserSession); status = bulkUpdateModeler.DoBulkUpdate(viewModel, out numRows); if (!questStatusDef.IsSuccess(status)) { viewModel.questStatus = status; return(Json(viewModel, JsonRequestBehavior.AllowGet)); } /*---------------------------------------------------------------------------------------------------------------------------------- * Return result. *---------------------------------------------------------------------------------------------------------------------------------*/ // TODO: WORK OUT NUM ROWS WHEN USING A PROCEDURE. ////status = new questStatus(Severity.Success, String.Format("Bulk updated {0} rows", numRows)); status = new questStatus(Severity.Success, String.Format("Bulk update performed successfully")); BulkUpdateViewModel bulkUpdateViewModel = new BulkUpdateViewModel(this.UserSession, viewModel); bulkUpdateViewModel.questStatus = status; return(Json(bulkUpdateViewModel, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> ProcessBulkUpdate(BulkUpdateViewModel viewModel) { viewModel.CanOverrideCRProcess = User.IsInRole(R.ROLE_BACKOFFICE); if (ModelState.IsValid) { var fileName = FileHelper.GetTempFileName(Path.GetExtension(viewModel.BulkFile.FileName)); viewModel.BulkFile.SaveAs(fileName); if (new FileInfo(fileName).Length > 1000000) { viewModel.Result = new Services.Domain.BulkUpdateProgressModel { Errors = new[] { new Services.Domain.ApiError { Code = "error.maxRowsLimitReached.payload.bulkUpload" } } }; } else { var payload = new BulkUpdateDto { BulkFileType = viewModel.BulkUpdateType.Value, FileName = fileName, OverrideCRProcess = viewModel.CanOverrideCRProcess && viewModel.OverrideCRProcess }; var state = UriHelper.SerializeToUrlToken(payload); var response = await _establishmentWriteService.BulkUpdateAsync(payload, User); System.IO.File.Delete(fileName); if (response.HasErrors) { viewModel.Result = new Services.Domain.BulkUpdateProgressModel { Errors = response.Errors }; } else { return(RedirectToAction(nameof(Result), new { response.GetResponse().Id, state })); } } } return(View("Index", viewModel)); }
public MainWindowViewModel( QueryInputViewModel queryInputViewModel, FilteredDeviceListViewModel filteredDeviceListViewModel, BulkUpdateViewModel bulkUpdateViewModel, ScheduleJobsViewModel scheduleJobsViewModel, CloudToDeviceViewModel cloudToDeviceViewModel) { QueryInputViewModel = queryInputViewModel; FilteredDeviceListViewModel = filteredDeviceListViewModel; BulkUpdateViewModel = bulkUpdateViewModel; ScheduleJobsViewModel = scheduleJobsViewModel; CloudToDeviceViewModel = cloudToDeviceViewModel; queryInputViewModel.QueryResultUpdated += OnQueryUpdated; // initial query queryInputViewModel.ExecuteDeviceQueryCommand.Execute(null); queryInputViewModel.QueryError += OnQueryError; }
public async Task <ActionResult> ProcessBulkUpdate(BulkUpdateViewModel viewModel) { viewModel.CanOverrideCRProcess = User.IsInRole(AuthorizedRoles.IsAdmin); if (ModelState.IsValid) { var fileName = FileHelper.GetTempFileName(Path.GetExtension(viewModel.BulkFile.FileName)); viewModel.BulkFile.SaveAs(fileName); if (new FileInfo(fileName).Length > 1000000) { ModelState.AddModelError("BulkFile", "The file size is too large. Please use a file size smaller than 1MB"); } else { var payload = new BulkUpdateDto { BulkFileType = viewModel.BulkUpdateType.Value, FileName = fileName, OverrideCRProcess = viewModel.CanOverrideCRProcess && viewModel.OverrideCRProcess }; var state = UriHelper.SerializeToUrlToken(payload); var response = await _establishmentWriteService.BulkUpdateAsync(payload, User); System.IO.File.Delete(fileName); if (response.HasErrors) { viewModel.Result = new Services.Domain.BulkUpdateProgressModel { Errors = response.Errors }; } else { return(RedirectToAction(nameof(Result), new { response.GetResponse().Id, state })); } } } return(View("Index", viewModel)); }
public async Task <ActionResult> Result(Guid id, string state) { var model = await _establishmentWriteService.BulkUpdateAsync_GetProgressAsync(id, User); if (!model.IsCompleted()) { return(View("InProgress", model)); } else { var dto = UriHelper.DeserializeUrlToken <BulkUpdateDto>(state); var vm = new BulkUpdateViewModel { BulkUpdateType = dto.BulkFileType, EffectiveDate = new UI.Models.DateTimeViewModel(dto.EffectiveDate), Result = model }; vm.CanOverrideCRProcess = User.IsInRole(R.ROLE_BACKOFFICE); vm.OverrideCRProcess = dto.OverrideCRProcess; return(View("Index", vm)); } }