public Models.TransferResponse CreateTransfer(Models.TransferRequest body) { Task <Models.TransferResponse> t = CreateTransferAsync(body); APIHelper.RunTaskSynchronously(t); return(t.Result); }
public async Task <Models.TransferResponse> CreateTransferAsync(Models.TransferRequest body) { string _baseUri = Configuration.GetBaseURI(); StringBuilder _queryBuilder = new StringBuilder(_baseUri); _queryBuilder.Append("/transfer"); string _queryUrl = APIHelper.CleanUrl(_queryBuilder); var _headers = Utilities.APIHelper.GetHeader(); var _body = APIHelper.JsonSerialize(body); HttpRequest _request = ClientInstance.PostBody(_queryUrl, _headers, _body); HttpStringResponse _response = (HttpStringResponse)await ClientInstance.ExecuteAsStringAsync(_request).ConfigureAwait(false); HttpContext _context = new HttpContext(_request, _response); base.ValidateResponse(_response, _context); try { return(APIHelper.JsonDeserialize <Models.TransferResponse>(_response.Body)); } catch (Exception _ex) { throw new APIException("Failed to parse the response: " + _ex.Message, _context); } }
private void button1_Click(object sender, EventArgs e) { try { selectedTransferID = listViewTransferProducts.SelectedItems[0].SubItems[0].Text; Models.TransferRequest myTransfer = transfers.Find(item => item.Id == selectedTransferID); PopulateProducts(myTransfer.ProductList); } catch (Exception ec) { MessageBox.Show("Select a request"); } }
public IActionResult TransferBulkMeters(TransferBulkRequest tRequest) { // getting MeterID[], MeterStatus, Name, company, Comment, Transaction Date // send the success message with list of meters ArrayList transferMeterList = new ArrayList(); // check is this request is for Pickup if (!(tRequest.MeterStatus.Equals(MeterStatus.Transfer))) { ModelState.AddModelError("Error", "Invalid request type for transfer meters: " + tRequest.MeterStatus); return(NotFound()); } if (tRequest.Name.Equals(null)) { ModelState.AddModelError("Error", "Transferee Name is required"); return(NotFound()); } if (tRequest.Company.Equals(null)) { ModelState.AddModelError("Error", "Transferee Company is required"); return(NotFound()); } // validate Meter ID before create a model var metersList = tRequest.MIRN; for (var i = 0; i < metersList.Length; i++) { var isValidMeter = _mrepo.IsValidMeter(metersList[i]); if (isValidMeter.Item1.Equals(false)) { ModelState.AddModelError("Error", isValidMeter.Item2); return(NotFound()); } } // transfer db model var transferDbModel = new DbModels.Transfer(); transferDbModel.Name = tRequest.Name; transferDbModel.Company = tRequest.Company; // TODO: Validate transfer model inputs Name, Company. var transferResult = _trepo.Add(transferDbModel); if (transferResult > 0) { var transferID = transferResult; for (var i = 0; i < metersList.Length; i++) { var meter = _mrepo.Get(metersList[i]); if (meter != null) { var viewModel = new Models.TransferRequest(); viewModel.MIRN = meter.MIRN; viewModel.PayRollID = tRequest.PayRollID; viewModel.MeterStatus = tRequest.MeterStatus; viewModel.Comment = tRequest.Comment; viewModel.TransactionDate = tRequest.TransactionDate; var transferId = Convert.ToString(transferID); // creating meter transaction in meter history table var result = _repo.CreateTransferHistory(transferId, viewModel); // checking the result from repo // if returns true then update meter status in Meter Table if (result.Item1 == true) { var meterStatusUpdateResult = _mrepo.UpdateMeterStatus(meter.MIRN, tRequest.MeterStatus); if (meterStatusUpdateResult == true) { transferMeterList.Add(metersList[i]); } else { ModelState.AddModelError("Error", "Unable to update meter status"); return(NotFound()); } } else { //if returns false the show the model state error ModelState.AddModelError("Error", result.Item2); } } else { ModelState.AddModelError("Error", "Meter ID " + metersList[i] + " is not found"); } } } String message = " "; if (transferMeterList.Count > 0) { message = "Total number of Meter: " + transferMeterList.Count + "\nTransfered Meter List: \n"; foreach (String transferedMeter in transferMeterList) { message += transferedMeter + "\n"; } } return(Ok(message)); }