public async Task <InboundResponse> Handle(InboundRequest <InitializeConnection> request, CancellationToken cancellationToken) { _logger.WithDebug("InitializeConnection: DeviceId:{0}", handling: Handling.Unrestricted, request.Message.DeviceId.Value) .WithPair("DeviceId", request.Message.DeviceId.Value) .Log(); var connectionAccepted = new ConnectionAccepted() { }; _logger.WithDebug("Sending: ConnectionAccepted").Log(); var response = new InitializeConnectionResponse(); response.RequestApproved.Value = true; response.DeviceId.Value = request.Message.DeviceId.Value; var payload = Encoding.UTF8.GetBytes(response.Serialize()); return(new InboundResponse() { Topic = request.ResponseTopic, Message = connectionAccepted, MessageType = connectionAccepted.GetType().Name, Payload = payload, PayloadType = response.GetType().Name, CorrelationData = request.CorrelationData, }); }
public bool AddOrUpdate(InboundRequest inboundRequest) { bool isSaved = true; using (WTCCeresEntities db = new WTCCeresEntities()) { try { if (inboundRequest.InboundRequestId == 0) { db.InboundRequest.Add(inboundRequest); } else { db.InboundRequest.AddOrUpdate(inboundRequest); } db.SaveChanges(); ir = inboundRequest; } catch (Exception ex) { string msg = ex.Message; isSaved = false; } } return(isSaved); }
public ResultRequest <DtoTokenResponse> RefreshToken( [FromBody] InboundRequest <DtoRefreshToken> request) { try { var dto = request?.Data; if (dto == null) { return(ResultRequest <DtoTokenResponse> .Error("Access Token request fail", "Invalid request data")); } var encryptedRefreshToken = dto.RefreshToken; if (string.IsNullOrEmpty(encryptedRefreshToken)) { throw new LogicException( "Refresh Token is required for grantType RefreshToken"); } var tokenFromRefreshToken = _service.GetNewTokenFromRefreshToken(encryptedRefreshToken); return(ResultRequest <DtoTokenResponse> .Ok(tokenFromRefreshToken)); } catch (Exception e) { return(ResultRequest <DtoTokenResponse> .Error("Access Token request error", e.Message)); } }
public Task <ResultRequest> BlockUserToken([FromBody] InboundRequest <DtoUserToken> request) { try { var dto = request?.Data; if (dto == null || (string.IsNullOrEmpty(dto.UserId) && string.IsNullOrEmpty(dto.Token))) { return(Task.FromResult(ResultRequest.Error("Access Token request fail", "Invalid request data"))); } var allTokens = string.IsNullOrEmpty(dto.Token); if (allTokens) { UserTokenMapping.Remove(dto.UserId, true); } else { UserTokenMapping.Remove(dto.UserId, new UserToken { UserId = dto.UserId, Token = dto.Token }); } return(Task.FromResult(ResultRequest.Ok())); } catch (Exception e) { return(Task.FromResult(ResultRequest.Error("Access Token request error", e.Message))); } }
public Task BindModelAsync(ModelBindingContext bindingContext) { var userInboundRequest = new InboundRequest(); userInboundRequest.Page = GetFromQuery(nameof(InboundRequest.Page), bindingContext); userInboundRequest.Sorting = GetFromQuery(nameof(InboundRequest.Sorting), bindingContext); userInboundRequest.Language = GetHeader(nameof(InboundRequest.Language), bindingContext); userInboundRequest.ClientId = GetHeader(nameof(InboundRequest.ClientId), bindingContext); userInboundRequest.Query = bindingContext.HttpContext.Request.QueryString; bindingContext.Result = ModelBindingResult.Success(userInboundRequest); return(Task.CompletedTask); }
public bool Delete(int InboundRequestId) { bool isSaved = true; using (WTCCeresEntities db = new WTCCeresEntities()) { try { ir = db.InboundRequest.Find(InboundRequestId); db.InboundRequest.Remove(ir); db.SaveChanges(); } catch (Exception ex) { string msg = ex.Message; isSaved = false; } } return(isSaved); }
public async Task <ResultRequest <DtoTokenResponse> > LoginWithApiKey( [FromBody] InboundRequest <DtoAuthApiKey> request) { try { var dto = request?.Data; if (dto == null) { return(ResultRequest <DtoTokenResponse> .Error("Access Token request fail", "Invalid request data")); } var token = await _service.GenerateToken(dto.ApiKey); return(ResultRequest <DtoTokenResponse> .Ok(token)); } catch (Exception e) { return(ResultRequest <DtoTokenResponse> .Error("Access Token request error", e.Message)); } }
public void LoadInfo(VW_InboundRequest inReq) { loadForm(); firstLoad = true; inRequest = InboundRequestService.GetById(inReq.InboundRequestId); cboSSLine.SelectedValue = inRequest.ShippingLineId; nudQtyCans.Value = inRequest.QtyRequested; cboReleaseType.SelectedValue = inRequest.BookingTypeId; cboCanState.SelectedItem = inRequest.ContainerState; cboCanSize.SelectedValue = inRequest.ContainerSizeId; lblTitle.Text = "Update Request"; if (!inReq.ReleaseType.Equals("REPO")) { relOrder = ReleaseOrderService.GetAllByInboundRequestId(inReq.InboundRequestId).ToList()[0]; rel = ReleaseService.GetByReleaseId(relOrder.ReleaseId); // RelOrderMbList = ReleaseOrderMinibookingService.GetAllByReleaseOrderId(relOrder.ReleaseOrderId) // relOrderMb = RelOrderMbList.Where(Function(r) r.AssignmentOrder = 1).ToList(0) cboBooking.SelectedText = rel.ReleaseNumber; } firstLoad = false; }
private void btnComplete_Click(object sender, EventArgs e) { if (GoodToGo()) { var relOrderService = new ReleaseOrderService(); var relService = new ReleaseService(); bool isInserted; int relReqId; if (isNewRequest) { inRequest = new InboundRequest(); inRequest.RequestStatusId = (int)MdlEnum.RequestStatus.PENDING_REPLY; inRequest.DateRequested = DateAndTime.Now; inRequest.IsOpenRequest = true; } inRequest.ShippingLineId = Conversions.ToInteger(cboSSLine.SelectedValue); inRequest.QtyRequested = (int)Math.Round(nudQtyCans.Value); inRequest.ContainerSizeId = Conversions.ToInteger(cboCanSize.SelectedValue); inRequest.ContainerState = Conversions.ToString(cboCanState.SelectedItem); inRequest.BookingTypeId = Conversions.ToInteger(cboReleaseType.SelectedValue); isInserted = inReqServ.AddOrUpdate(inRequest); relReqId = inReqServ.GetLastInboundRequestId(); if (isInserted) { if (isExportRelease) { if (isNewRequest) { rel = new Release(); isChangeOfExportBooking = false; relOrder = new ReleaseOrder(); } rel.ReleaseNumber = Strings.Trim(cboBooking.Text); if (relService.AddOrUpdate(rel)) { relOrder.ReleaseId = relService.GetLastReleaseId(); relOrder.DateAccepted = default; relOrder.CreatedAt = DateAndTime.Now; relOrder.InboundRequestId = inReqServ.GetLastInboundRequestId(); relOrder.QtyAccepted = 0; if (relOrderService.AddOrUpdate(relOrder)) { if (isChangeOfExportBooking) { ReplaceExportBookingNumber(); } else { var newRelMb = new ReleaseOrderMinibooking(); var relOrdService = new ReleaseOrderMinibookingService(); newRelMb.ReleaseOrderId = relOrderService.GetLastReleaseOrderId(); newRelMb.MinibookingId = MinibookingService.GetByBookingAndMbOrder(Strings.Trim(cboBooking.Text), 1).MiniBookingId; newRelMb.CreatedAt = DateAndTime.Now; newRelMb.QtyRequested = inRequest.QtyRequested; newRelMb.AssignmentOrder = 1; relOrdService.AddOrUpdate(newRelMb); } Close(); } else { My.MyProject.Forms.MessageBoxCeresOK.ShowDialog("Booking export not saved", "Something went wrong and the export booking request was not saved." + Constants.vbNewLine + "Please try again.", this); } } else { My.MyProject.Forms.MessageBoxCeresOK.ShowDialog("Booking export not saved", "Something went wrong and the export booking request was not saved." + Constants.vbNewLine + "Please try again.", this); } } else { Close(); } } else { My.MyProject.Forms.MessageBoxCeresOK.ShowDialog("Request not saved", "Something went wrong and the request was not saved." + Constants.vbNewLine + "Please try again.", this); } } }
public async Task <IActionResult> Inbound(string paymentId, string actiontype) { string responseCode = string.Empty; string responseMessage = string.Empty; string responseStatusCode = string.Empty; string responseBody = string.Empty; string privateKey = HttpContext.Request.Headers[AffirmConstants.PrivateKeyHeader]; string publicKey = HttpContext.Request.Headers[AffirmConstants.PublicKeyHeader]; var bodyAsText = await new System.IO.StreamReader(HttpContext.Request.Body).ReadToEndAsync(); InboundRequest inboundRequest = null; try { inboundRequest = JsonConvert.DeserializeObject <InboundRequest>(bodyAsText); } catch (Exception ex) { responseMessage = ex.Message; _context.Vtex.Logger.Error("Inbound", null, $"Error parsing InboundRequest {bodyAsText}", ex); } dynamic inboundRequestBody = null; try { inboundRequestBody = JsonConvert.DeserializeObject(inboundRequest.requestData.body); } catch (Exception ex) { responseMessage = ex.Message; _context.Vtex.Logger.Error("Inbound", null, $"Error parsing InboundRequestBody {bodyAsText}", ex); } paymentId = inboundRequest.paymentId; string requestId = inboundRequest.requestId; if (inboundRequestBody == null) { responseStatusCode = StatusCodes.Status400BadRequest.ToString(); } else if (string.IsNullOrWhiteSpace(privateKey) || string.IsNullOrWhiteSpace(publicKey)) { responseStatusCode = StatusCodes.Status400BadRequest.ToString(); responseMessage = "Missing keys."; } else { try { switch (actiontype) { case AffirmConstants.Inbound.ActionAuthorize: string token = inboundRequestBody.token; string callbackUrl = inboundRequestBody.callbackUrl; int amount = inboundRequestBody.orderTotal; string orderId = inboundRequestBody.orderId; bool sandboxMode = inboundRequest.sandboxMode; string transactionId = inboundRequest.transactionId; if (string.IsNullOrEmpty(paymentId) || string.IsNullOrEmpty(token) || string.IsNullOrEmpty(callbackUrl)) { responseStatusCode = StatusCodes.Status400BadRequest.ToString(); responseMessage = "Missing parameters."; } else { var paymentRequest = await this._affirmPaymentService.Authorize(paymentId, token, publicKey, privateKey, callbackUrl, amount, orderId, sandboxMode, transactionId); _context.Vtex.Logger.Info("Inbound", null, $"{paymentId} {JsonConvert.SerializeObject(paymentRequest)}"); Response.Headers.Add("Cache-Control", "private"); responseBody = JsonConvert.SerializeObject(paymentRequest); responseStatusCode = StatusCodes.Status200OK.ToString(); } break; default: responseStatusCode = StatusCodes.Status405MethodNotAllowed.ToString(); responseMessage = $"Action '{actiontype}' is not supported."; break; } } catch (Exception ex) { _context.Vtex.Logger.Error("Inbound", null, $"Error processing request {bodyAsText}", ex); } } InboundResponse response = null; try { response = new InboundResponse { code = responseCode, message = responseMessage, paymentId = paymentId, requestId = requestId, responseData = new ResponseData { body = responseBody, statusCode = responseStatusCode } }; } catch (Exception ex) { _context.Vtex.Logger.Error("Inbound", null, $"Error creating Response {responseBody}", ex); } return(Json(response)); }
public void Handler() { InboundRequest inboundRequest = null; ToaRequestResult inboundResult = null; int? aid = null; WorkOrderModel workOrderModel = null; try { _log.Notice("Starting WorkOrderSave Handler."); object wotype = EventHandlerServices.GetEventHandlerService().getFieldFromWorOrderRecord(_workOrderRecord, "WO_Type"); object overrideRequest = EventHandlerServices.GetEventHandlerService().getFieldFromWorOrderRecord(_workOrderRecord, "Override_Request"); object timeSlot = EventHandlerServices.GetEventHandlerService().getFieldFromWorOrderRecord(_workOrderRecord, "WO_Time_Slot"); object wodate = EventHandlerServices.GetEventHandlerService().getFieldFromWorOrderRecord(_workOrderRecord, "WO_Date"); object resolutionDue = EventHandlerServices.GetEventHandlerService().getFieldFromWorOrderRecord(_workOrderRecord, "Resolution_Due"); if (null == wotype) { return; } if (overrideRequest != null) { if (timeSlot == null || wodate == null) { return; } } else { if (timeSlot == null || wodate == null) { if (resolutionDue == null) { return; } } } _log.Notice("Converting from RecordContext to WorkOrder Model started"); workOrderModel = EventHandlerServices.GetEventHandlerService().GetWorkOrderModel(_recordContext); _log.Notice("Convertion from RecordContext to WorkOrder Model completed"); //Appointments 'key' fields are set in the constuctor of below object var activitySettings = new ActivitySettingsModel(); //Inventory 'key' fields are set in the constuctor of below object var inventorySettings = new InventorySettingsModel(); _log.Notice("Initialize InboundRequest"); inboundRequest = new InboundRequest(new List <IToaModel>() { workOrderModel }); inboundRequest.PropertiesMode = Client.Common.PropertiesMode.Replace; inboundRequest.AllowChangeDate = Client.Common.AllowChangeDate.Yes; inboundRequest.ActivitySettings = activitySettings; inboundRequest.InventorySettings = inventorySettings; _log.Notice("Invoking TOA Server using Inbound API Started"); inboundResult = InboundService.GetService().BeginSyncRequest(inboundRequest); if (inboundResult != null) { _log.Notice("Invoking TOA Server using Inbound API Completed"); ToaExceptionManager manager = new ToaExceptionManager(); _log.Notice("Processing Inbound API Response Result"); aid = manager.ProcessInboundResult(inboundResult); _log.Notice("Completed Processing Inbound API Response Result"); if (aid == null) { _cancelEventArgs.Cancel = true; return; } } else { foreach (IGenericField field in _workOrderRecord.GenericFields) { if (field.Name.Equals("WO_Status")) { TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; field.DataValue.Value = textInfo.ToTitleCase(ToaStringsUtil.GetString(Client.Common.ActivityStatus.NotCreated)); break; } } } } catch (Exception ex) { _log.Error(ex.Message, ex.StackTrace); MessageBox.Show(ToaExceptionMessages.UnexpectedError, ToaExceptionMessages.TitleError, MessageBoxButton.OK, MessageBoxImage.Error); } try { _log.Notice("Updating WorkOrder Record."); workOrderModel.TOA_AID = (aid != null) ? aid : 0; UpdateWorkOrderRecord(inboundResult, workOrderModel); _log.Notice("WorkOrder Record Updated."); _log.Notice("Exiting WorkOrderSave Handler."); } catch (Exception ex) { _log.Error(ex.Message, ex.StackTrace); MessageBox.Show(ToaExceptionMessages.UnexpectedError, ToaExceptionMessages.TitleError, MessageBoxButton.OK, MessageBoxImage.Error); } }
public bool AddOrUpdate(InboundRequest inboundRequest) { return(repository.AddOrUpdate(inboundRequest)); }
public ActionResult Inbound([FromBody] InboundRequest inboundRequest) { var modelErrors = new List <string>(); InboundResponse inboundResponse = new InboundResponse(); CacheHandler cacheHandler = new CacheHandler(); var request = Request; var headers = request.Headers; headers.TryGetValue("Authorization", out authorizationToken); string token = authorizationToken.FirstOrDefault().Substring("Basic ".Length).Trim(); string userName = token.Split(':')[0]; string authId = token.Split(':')[1]; try { if (!ModelState.IsValid) { foreach (var modelState in ModelState.Values) { foreach (var modelError in modelState.Errors) { modelErrors.Add(modelError.ErrorMessage); } } inboundResponse.Message = ""; inboundResponse.Error = string.Join(",", modelErrors); } else { long accountId = _context.Account.Where(x => x.Username == userName && x.AuthId == authId).FirstOrDefault().Id; PhoneNumber phoneNumber = _context.PhoneNumber.Where(x => x.Number == inboundRequest.To && x.AccountId == accountId).FirstOrDefault(); if (phoneNumber != null) { if (inboundRequest.Text.Equals("STOP") || inboundRequest.Text.Equals("STOP\n") || inboundRequest.Text.Equals("STOP\r") || inboundRequest.Text.Equals("STOP\r\n")) { if (!cacheHandler.IsKeyPresentInInboundCache(inboundRequest.From, inboundRequest.To)) { cacheHandler.SetInboundSMSCacheAsync(inboundRequest.From, inboundRequest.To); } } inboundResponse.Message = "inbound sms ok"; inboundResponse.Error = ""; } else { inboundResponse.Message = ""; inboundResponse.Error = "to parameter not found"; } } } catch { inboundResponse.Message = ""; inboundResponse.Error = "unknown failure"; } return(CreatedAtAction("Inbound", inboundResponse)); }
public async Task <IActionResult> Inbound(string actiontype) { Console.WriteLine($"InboundAsync action = {actiontype}"); string responseCode = string.Empty; string responseMessage = string.Empty; string responseStatusCode = string.Empty; string responseBody = string.Empty; var bodyAsText = await new System.IO.StreamReader(HttpContext.Request.Body).ReadToEndAsync(); InboundRequest inboundRequest = JsonConvert.DeserializeObject <InboundRequest>(bodyAsText); dynamic inboundRequestBody = null; try { inboundRequestBody = JsonConvert.DeserializeObject(inboundRequest.requestData.body); } catch (Exception ex) { responseMessage = ex.Message; } string paymentId = inboundRequest.paymentId; string requestId = inboundRequest.requestId; if (inboundRequestBody == null) { responseStatusCode = StatusCodes.Status400BadRequest.ToString(); } else { switch (actiontype) { case FlowFinanceConstants.Inbound.ActionLoanAcceptance: Models.SignLoanRequest.RootObject signLoanRequest = new Models.SignLoanRequest.RootObject { signature = new Models.SignLoanRequest.Signature { date = DateTime.Now, userAgent = inboundRequestBody.userAgent, ip = await this._flowFinancePaymentService.GetShopperIp() } }; string loanId = inboundRequestBody.loanId; int accountId = inboundRequestBody.accountId; //Console.WriteLine($"loanId = [{loanId}] accountId = [{accountId}]"); responseBody = await this._flowFinancePaymentService.SignLoan(signLoanRequest, loanId, accountId); //if (responseBody.Equals(FlowFinanceConstants.Success)) //{ string callbackUrl = inboundRequestBody.callbackUrl; //decimal amount = inboundRequestBody.amount; responseStatusCode = StatusCodes.Status200OK.ToString(); // Verify that the loan is signed and update the status with Vtex Payment CreatePaymentResponse verifyPaymentResponse = await this._flowFinancePaymentService.VerifyLoanAsync(paymentId, loanId, accountId, callbackUrl); //} responseMessage = verifyPaymentResponse.message; break; default: responseStatusCode = StatusCodes.Status405MethodNotAllowed.ToString(); responseMessage = $"Action '{actiontype}' is not supported."; break; } } InboundResponse response = new InboundResponse { code = responseCode, message = responseMessage, paymentId = paymentId, requestId = requestId, responseData = new ResponseData { body = responseBody, statusCode = responseStatusCode } }; return(Json(response)); }
public IActionResult ModelBindingTest ([ModelBinder(BinderType = typeof(PaginationRequestBinder))] InboundRequest inboundRequest) { return(Ok(inboundRequest)); }