private async void submitFeedbackResponse(HttpResponseMessage restResponse) { if (restResponse != null && restResponse.StatusCode == System.Net.HttpStatusCode.OK && restResponse.Content != null) { Log.Debug(TAG, restResponse.Content.ToString()); string strContent = await restResponse.Content.ReadAsStringAsync(); GeneralResponseModel response = JsonConvert.DeserializeObject <GeneralResponseModel>(strContent); if (response.Status_Code == Constants.STATUS_CODE_SUCCESS) { Log.Debug(TAG, "Submit Feedback Successful"); showLayoutSubmit(); } else { Log.Debug(TAG, "Submit Feedback Failed"); showLayoutSelectTemperature(); Utils.Utils.ShowToast(this.Context, "Failed to submit feedback, please try again!"); } } else { Log.Debug(TAG, "Feedback Failed"); showLayoutSelectTemperature(); Utils.Utils.ShowToast(this.Context, "Failed to submit feedback, please try again!"); } }
protected JsonResult Success(object data, int totalCount = 0, bool mvcJson = false, JsonRequestBehavior behavior = JsonRequestBehavior.AllowGet, string format = DateFormat) { var t = data.GetType(); object resp;; if (t.Name.Equals(typeof(GeneralResponseModel <object>).Name)) { resp = data; } else { resp = new GeneralResponseModel <object> { Data = data, TotalCount = totalCount }; } if (mvcJson) { return(new JsonResult { Data = resp, JsonRequestBehavior = behavior }); } else { return(Json(resp, behavior)); } }
public async Task <JsonResult> Login(LoginViewModel model) { try { if (!ModelState.IsValid) { throw new ArgumentException("输入无效"); } var loginResult = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout : false); var result = new GeneralResponseModel <object>(); if (loginResult == SignInStatus.Success) { var userId = UserManager.FindByName(model.UserName).Id; result.Data = model.ReturnUrl ?? GetDefaultUrl(userId); } else { result.Success = false; result.Message = "用户名或密码错误"; } return(Success(result)); } catch (Exception e) { return(Fail(ErrorCode.RequestParamError, e.Message)); } }
/// <summary> /// 返回分页数据方法,如果需要按更多条件返回,请重写此方法 /// </summary> /// <param name="id">实体主键</param> /// <param name="pageIndex">页码,必需参数,大于0</param> /// <param name="pageSize">页大小,必需参数</param> /// <param name="queryItem">对象查找条件</param> /// <returns>ResultModel 对象,需要参Data进行转换</returns> public virtual async Task <GeneralResponseModel <List <TModel> > > QueryAsync(int pageIndex, int pageSize, RecordStates state = RecordStates.AuditPass) { // 参数检查 if (pageIndex < 1) { throw new ArithmeticException("pageIndex参数无效,必需大于0的整数"); } if (pageSize < 1) { throw new ArithmeticException("pageSize 参数无效,必需大于0的整数"); } using (Db = new TDbContext()) { var items = Db.Set <TModel>().Where(m => true); var list = items .OrderByDescending(f => f.CreateDate) .Skip(pageSize * (pageIndex - 1)) .Take(pageSize); var result = new GeneralResponseModel <List <TModel> > { Data = list.ToList(), TotalCount = await items.CountAsync() }; return(result); } }
private async void submitFeedbackResponse(HttpResponseMessage restResponse) { if (restResponse != null && restResponse.StatusCode == System.Net.HttpStatusCode.OK && restResponse.Content != null) { string strContent = await restResponse.Content.ReadAsStringAsync(); GeneralResponseModel response = JsonConvert.DeserializeObject <GeneralResponseModel>(strContent); if (response.Status_Code == Constants.STATUS_CODE_SUCCESS) { var ThankYouViewController = Storyboard.InstantiateViewController("ThankYouViewController") as ThankYouViewController; ThankYouViewController.NavigationItem.SetHidesBackButton(true, false); NavigationController.PushViewController(ThankYouViewController, true); loadingOverlay.Hide(); } else { IOSUtil.ShowMessage("Failed to submit feedback, please try again!", loadingOverlay, this); } } else { IOSUtil.ShowMessage("Failed to submit feedback, please try again!", loadingOverlay, this); } }
public IResponseBuilder WithGeneralResponseContent(GeneralResponseModel response) { if (!string.IsNullOrWhiteSpace(response.Content)) { this.WithContent(response.Content); } if (!string.IsNullOrWhiteSpace(response.DisplayTextOverride)) { this.WithDisplayText(response.DisplayTextOverride); } if (!string.IsNullOrWhiteSpace(response.DisplayTitleOverride)) { this.WithDisplayTitle(response.DisplayTitleOverride); } if (response.Audio is object) { this.WithAudio(response.Audio.Url); } if (response.Video is object) { this.WithVideo(response.Video.Url); } if (response.SmallImage is object) { this.WithSmallImage(response.SmallImage.Url); } if (response.LargeImage is object) { this.WithLargeImage(response.LargeImage.Url); } if (response.BackgroundImage is object) { this.WithBackgroundImage(response.BackgroundImage.Url); } if (response.Reprompt is object) { this.WithReprompt(response.Reprompt); } if (response.MediaResponseContainer is object) { this.WithMediaResponse(response.MediaResponseContainer?.Responses?.FirstOrDefault()); } if (response.FollowUp is object) { this.WithFollowUp(f => { var followUp = response.FollowUp; f.WithContent(followUp.Content); foreach (var contentItem in followUp.ChildContentContainer?.ContentItems ?? Enumerable.Empty <GenericContentModel>()) { f.WithContentItemFollowUp(contentItem.Id, contentItem.FeatureTypeId); } }); } return(this); }
/// <summary> /// 返回分页数据方法,如果需要按更多条件返回,请重写此方法 /// </summary> /// <returns>GeneralResponseModel<List<TModel>> 对象</returns> public virtual async Task <GeneralResponseModel <List <TModel> > > QueryAsync(Expression <Func <TModel, bool> > expression) { var querys = Model.Where(expression); var result = new GeneralResponseModel <List <TModel> > { Data = querys.ToList(), TotalCount = await querys.CountAsync() }; return(result); }
/// <summary> /// პაციენტების სია /// </summary> /// <returns></returns> public async Task <GeneralResponseModel <IEnumerable <GenderResponseModel> > > ListGet() { var response = new GeneralResponseModel <IEnumerable <GenderResponseModel> >(); try { response.Data = await __genderRepository.ListGet(); response.Status = true; response.Message = "Success"; } catch (Exception ex) { response.Status = false; response.Message = "Error: " + ex.Message; } return(response); }
/// <summary> /// პაციენტის შენახვა /// </summary> /// <param name="PatientID"></param> /// <returns></returns> public async Task <GeneralResponseModel <int> > Post(PatientRequestModel model) { var response = new GeneralResponseModel <int>(); try { response.Data = await _patientRepository.Post(model); response.Status = true; response.Message = "Success"; } catch (Exception ex) { response.Status = false; response.Message = "Error: " + ex.Message; } return(response); }
/// <summary> /// პაციენტის შესახებ ინფორმაცია /// </summary> /// <param name="PatientID"></param> /// <returns></returns> public async Task <GeneralResponseModel <PatientResponseModel> > Get(int PatientID) { var response = new GeneralResponseModel <PatientResponseModel>(); try { response.Data = await _patientRepository.Get(PatientID); response.Status = true; response.Message = "Success"; } catch (Exception ex) { response.Status = false; response.Message = "Error: " + ex.Message; } return(response); }
protected JsonResult Fail(ErrorCode errorCode, string message, bool mvcJson = false, JsonRequestBehavior behavior = JsonRequestBehavior.AllowGet) { var resp = new GeneralResponseModel <object> { Success = false, Data = null, Message = message, MessageCode = (int)errorCode }; if (mvcJson) { return(new JsonResult { Data = resp, JsonRequestBehavior = behavior }); } else { return(Json(resp, behavior)); } }
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) { if (filterContext == null) { throw new ArgumentNullException("filterContext"); } if (filterContext.HttpContext.Request.HttpMethod != "POST") { if (!filterContext.HttpContext.User.Identity.IsAuthenticated) { filterContext.Result = new HttpUnauthorizedResult(); } else { string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName; filterContext.Result = new RedirectResult($"/{controllerName}/{failActionName}", true); } } else { var resp = new GeneralResponseModel <object> { Success = false, Message = "操作失败:您的权限不足!", MessageCode = (int)ErrorCode.AuthFailError }; string jsonStr = JsonConvert.SerializeObject(resp, Formatting.None); filterContext.Result = new JsonResult { Data = resp, JsonRequestBehavior = JsonRequestBehavior.AllowGet, ContentType = "application/json", }; } }
protected override async Task <GeneralResponseModel> processRequestAsync() { string orderId = Request.Order.Id; using (IPaymentRepository repo = new PaymentRepository()) { var timer = Stopwatch.StartNew(); var startTime = DateTime.Now; Order order = await repo.FindOrderByReferenceAsync(orderId); var ms = timer.ElapsedMilliseconds; Trace.WriteLine($"1- Ref -Order {order.Reference} Start {startTime.ToString(format)} End {DateTime.Now.ToString(format)} Duration {ms}"); if (order == null) { throw new PaymentException(PaymentErrorCodes.InputInvalid, new Dictionary <string, string>() { { "fieldName", "orderId" } }); } FillReferenceData(repo); if (!order.ActiveOrderStatu.OrderStatusType.Name.Equals(Models.Constant.ORDER_STATUS_INITIATED)) { throw new PaymentException(PaymentErrorCodes.OrderOperationNotAllowed, new Dictionary <string, string>() { { "orderState", order.ActiveOrderStatu.OrderStatusType.Name } }); //throw new HttpResponseException(Util.FactoryHttpResponse(Constant.ERROR_ORDER_ALREADY_AUTHORIZED, String.Format(Constant.ERROR_DESC_ORDER_ALREADY_AUTHORIZED, order.ActiveOrderStatu.OrderStatusType.Name), Constant.ERROR_ORDER_ALREADY_AUTHORIZED, System.Net.HttpStatusCode.Forbidden)); } var cardEnrolled = _3DSecureStatusTypeMapperList.FirstOrDefault(d => d.Name.Equals("CARD_ENROLLED")); var authenticationSuccessful = _3DSecureStatusTypeMapperList.FirstOrDefault(d => d.Name.Equals("AUTHENTICATION_SUCCESSFUL")); var cardDoesNotSupport3Ds = _3DSecureStatusTypeMapperList.FirstOrDefault(d => d.Name.Equals("CARD_DOES_NOT_SUPPORT_3DS")); var cardNotEnrolled = _3DSecureStatusTypeMapperList.FirstOrDefault(d => d.Name.Equals("CARD_NOT_ENROLLED")); if (order.OrderConfiguration.Check3DSecure != null && (bool)order.OrderConfiguration.Check3DSecure) { if (order.Order3DSecureEnroll == null) { throw new PaymentException(PaymentErrorCodes.Order3DSecureCheckFailed); // throw error 3D Check not prerformed } if (order.Order3DSecureEnroll.ActiveOrder3DSecureEnrollStatus.C3DSecureStatusTypeMapper.C3DSecureStatusType.Name == cardNotEnrolled?.Name) //|| //order.Order3DSecureEnroll.ActiveOrder3DSecureEnrollStatus.C3DSecureStatusTypeMapper.C3DSecureStatusType.Name == cardDoesNotSupport3Ds?.Name) { throw new PaymentException(PaymentErrorCodes.Order3DSecureCheckFailed); // throw error only if merchant disallow not 3D Secure transaction } if ( order.Order3DSecureEnroll.ActiveOrder3DSecureEnrollStatus.C3DSecureStatusTypeMapper.C3DSecureStatusType.Name == cardEnrolled?.Name && order.Order3DSecureEnroll.ActiveOrder3DSecureEnrollStatus.C3DSecureGatewayCodeTypeMapper.C3DSecureGatewayCodeType.Name == authenticationSuccessful?.Name) { // card enrolled and successfully authenticated } } Request.Transaction = new TransactionModel() { Id = Guid.NewGuid().ToString() }; timer = Stopwatch.StartNew(); startTime = DateTime.Now; UpdateRequest(Request, order); ms = timer.ElapsedMilliseconds; Trace.WriteLine($"2- UpdateReq- Order {order.Reference} Start {startTime.ToString(format)} End {DateTime.Now.ToString(format)} Duration {ms}"); if (string.IsNullOrEmpty(Request.Session?.Id)) { if (string.IsNullOrEmpty(Request.SourceOfFunds?.Token2?.Identifier) && (string.IsNullOrEmpty(Request.SourceOfFunds.Provided?.Card?.Number))) { throw new PaymentException(PaymentErrorCodes.OrderPaymentInfoMissing); } } else { if (Request.SourceOfFunds == null) { Request.SourceOfFunds = new SourceOfFundsModel(); } if (string.IsNullOrEmpty(Request.SourceOfFunds.Type)) { Request.SourceOfFunds.Type = "CARD"; } } string merchantId = order.MerchantAccount.MerchantIdentifier; string authParam = order.MerchantAccount.ActiveMerchantAccountApiKey.PrivateKey; //var helper = FactoryAdapter.GetHelper<GeneralRequestModel, GeneralResponseModel>(ConstantWhiteLabelPG.MPGS, ConstantApiOperation.Authorize);//= new Client.MPGS.Helper2.Transaction.AuthorizeOrderHelper(); //Response = await helper.ProcessAsync(Request, merchantId, authParam); var helper = FactoryAdapter.GetHelper <GeneralRequestModel, GeneralResponseModel>(order.MerchantAccount.PaymentGatewayType.Name, ConstantApiOperation.Authorize);//new Check3DEnrollHelper(); timer = Stopwatch.StartNew(); startTime = DateTime.Now; Response = await helper.ProcessAsync(Request, merchantId, authParam); ms = timer.ElapsedMilliseconds; Trace.WriteLine($"3- Gateway- Order {order.Reference} Start {startTime.ToString(format)} End {DateTime.Now.ToString(format)} Duration {ms}"); OrderTxn txn = null; if (Models.Constant.RESULT_SUCCESS.Equals(Response.Result)) { if (order.OrderConfiguration.TokenizeCc != null && (bool)order.OrderConfiguration.TokenizeCc && order.ActiveOrderFundsSrc?.MerchantTokenIdentifier == null) //&& // TO DO: update it to save user consent //order.OrderConfiguration.PayerConsentForToken!=null && (bool)order.OrderConfiguration.PayerConsentForToken) { if (order.ActiveOrderFundsSrc?.MerchantToken != null) { Response.SourceOfFunds.Token2 = new TokenModel() { Identifier = order.ActiveOrderFundsSrc.MerchantToken.Identifier }; } else { GeneralRequestModel tokenReqModel = new GeneralRequestModel() { Merchant = new MerchantModel() { Id = order.Business.Organization.Identifier }, Order = new OrderModel { Id = order.Reference }, SourceOfFunds = new SourceOfFundsModel { Type = "CARD", Token2 = new TokenModel() { Identifier = Guid.NewGuid().ToString() } }, Session = new SessionModel { Id = order.OrderSessions.FirstOrDefault(s => s.IsActive == true).Identifier } }; //var h = FactoryAdapter.GetHelper<GeneralRequestModel, GeneralResponseModel>(ConstantWhiteLabelPG.MPGS, ConstantApiOperation.CreateToken);//= new CreateUpdateTokenHelper(); //GeneralResponseModel tokenResModel = await h.ProcessAsync(tokenReqModel, merchantId, authParam); var h = FactoryAdapter.GetHelper <GeneralRequestModel, GeneralResponseModel>(order.MerchantAccount.PaymentGatewayType.Name, ConstantApiOperation.CreateToken);//new Check3DEnrollHelper(); GeneralResponseModel tokenResModel = await h.ProcessAsync(Request, merchantId, authParam); if (Models.Constant.RESULT_SUCCESS.Equals(tokenResModel.Result)) { if (Response.Result.Equals(Models.Constant.RESULT_SUCCESS)) { //MerchantAccount merchantAccount = order.MerchantAccount; MerchantToken merchantToken = new MerchantToken { Business = order.MerchantAccount.Business, MerchantAccount = order.MerchantAccount, PgIdentifier = tokenResModel.SourceOfFunds.Token2.Identifier, Identifier = Guid.NewGuid().ToString(), CreatedOn = DateTime.UtcNow, IsActive = true }; MerchantTokenCc merchantTokenCc = new MerchantTokenCc { Brand = Response.SourceOfFunds.Provided.Card.Brand, ExpiryMonth = Convert.ToInt32(Response.SourceOfFunds.Provided.Card.Expiry.Month), ExpiryYear = Convert.ToInt32(Response.SourceOfFunds.Provided.Card.Expiry.Year), MaskedNumber = Response.SourceOfFunds.Provided.Card.Number, Scheme = Response.SourceOfFunds.Provided.Card.Scheme, MerchantToken = merchantToken }; merchantToken.MerchantTokenCc = merchantTokenCc; order.MerchantAccount.MerchantTokens.Add(merchantToken); Response.SourceOfFunds.Token2 = new TokenModel() { Identifier = merchantToken.Identifier }; } } } } txn = AddOrderTxn(Request, Response, order); UpdateOrderBalance(order, (decimal)Response.Order.TotalAuthorizedAmount, (decimal)Response.Order.TotalCapturedAmount, (decimal)Response.Order.TotalRefundedAmount); if (Response.Device != null) { order.OrderDevice = new OrderDevice { Browser = Response.Device.Browser, IpAddress = Response.Device.IpAddress }; } if (order.ActiveOrderFundsSrc == null) { OrderFundsSrc srcFunds = new OrderFundsSrc() { Type = Response.SourceOfFunds.Type, CreatedOn = DateTime.UtcNow, Order = order, IsActive = true }; if (Response.SourceOfFunds.Token2 != null && Response.SourceOfFunds.Token2.Identifier != null) { srcFunds.MerchantToken = order.MerchantAccount.MerchantTokens.FirstOrDefault(t => t.Identifier.Equals(Response.SourceOfFunds.Token2.Identifier)); srcFunds.MerchantTokenIdentifier = Response.SourceOfFunds.Token2.Identifier; } order.OrderFundsSrcs.Add(srcFunds); } if (Response.SourceOfFunds?.Provided?.Card != null && order.ActiveOrderFundsSrc?.OrderCardDetail == null) { OrderCardDetail orderCardDetail = new OrderCardDetail() { Brand = Response.SourceOfFunds.Provided.Card.Brand, ExpiryMonth = Convert.ToInt32(Response.SourceOfFunds.Provided.Card.Expiry.Month), ExpiryYear = Convert.ToInt32(Response.SourceOfFunds.Provided.Card.Expiry.Year), CardHolderName = Response.SourceOfFunds.Provided.Card.NameOnCard, MaskedNumber = Response.SourceOfFunds.Provided.Card.Number, Scheme = Response.SourceOfFunds.Provided.Card.Scheme, FundingMethod = Response.SourceOfFunds.Provided.Card.FundingMethod }; order.ActiveOrderFundsSrc.OrderCardDetail = orderCardDetail; order.ActiveOrderFundsSrc.PayerInfo = orderCardDetail.MaskedNumber; order.ActiveOrderFundsSrc.PaymentInfo = orderCardDetail.Scheme; order.ActiveOrderFundsSrc.Type = "CARD"; if (Response.SourceOfFunds.Provided.Card.Response?.Cvv != null) { OrderTxnRespAcqDetail d = new OrderTxnRespAcqDetail() { AcqCode = Response.SourceOfFunds.Provided.Card.Response.Cvv.AcquirerCode, GatewayCode = Response.SourceOfFunds.Provided.Card.Response.Cvv.GatewayCode, Type = "CardSecurityCode" }; txn.OrderTxnRespAcq.OrderTxnRespAcqDetails.Add(d); } } if (order.ActiveOrderFundsSrc != null && order.ActiveOrderFundsSrc.MerchantToken != null) { if (Response.SourceOfFunds == null) { Response.SourceOfFunds = new SourceOfFundsModel(); } if (Response.SourceOfFunds.Token2 == null) { Response.SourceOfFunds.Token2 = new TokenModel(); } Response.SourceOfFunds.Token2.Identifier = order.ActiveOrderFundsSrc.MerchantToken.Identifier; } UpdateOrderStatus(order, Response); } else { } timer = Stopwatch.StartNew(); startTime = DateTime.Now; AddEvent(Request, Response, order, txn); ms = timer.ElapsedMilliseconds; Trace.WriteLine($"4- Add Event- Order {order.Reference} Start {startTime.ToString(format)} End {DateTime.Now.ToString(format)} Duration {ms}"); timer = Stopwatch.StartNew(); startTime = DateTime.Now; await repo.SaveOrderAsync(order); ms = timer.ElapsedMilliseconds; Trace.WriteLine($"5- Save- Order {order.Reference} Start {startTime.ToString(format)} End {DateTime.Now.ToString(format)} Duration {ms}"); } return(Response); }
public CustomActionResult(GeneralResponseModel <T> generalResponseModel) { this.generalResponseModel = generalResponseModel; }
protected async Task <CustomActionResult> ExecuteAsync(GeneralResponseModel request) => new CustomActionResult(request);
protected async Task <CustomActionResult <T> > ExecuteAsync <T>(GeneralResponseModel <T> request) where T : class => new CustomActionResult <T>(request);