public IHttpActionResult RequestPayBooking(PayModel model) { try { int ff; if (User != null && int.TryParse(User.Identity.GetUserId(), out ff)) { if (_routemanager.IsPayValid(ff, model)) { if (_routemanager.HasCapacity(model)) { if (!_routemanager.HasReserved(model, ff)) { if (model.ChargeAmount > 0) { //gotobank var res = _routemanager.RequestPayBooking(ff, model.TripId, model.ChargeAmount); return(Json(res)); /*var res = _routemanager.RequestBooking(ff, model.TripId, model.ChargeAmount); * return Json(res);*/ } else { var res1 = _routemanager.BookSeat(ff, model); return(Json(res1)); } } else { _responseProvider.SetBusinessMessage(new MessageResponse() { Type = ResponseTypes.Error, Message = getResource.getMessage("SeatPreviouslyReserved") }); return(Json(_responseProvider.GenerateBadRequestResponse())); } } else { _responseProvider.SetBusinessMessage(new MessageResponse() { Type = ResponseTypes.Error, Message = getResource.getMessage("NoEmptySeat") }); return(Json(_responseProvider.GenerateBadRequestResponse())); } } else { _responseProvider.SetBusinessMessage(new MessageResponse() { Type = ResponseTypes.Error, Message = getResource.getMessage("PricesUnDefined") }); return(Json(_responseProvider.GenerateBadRequestResponse())); } } else { return (ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "You are unauthorized to see Info!"))); } } catch (Exception e) { _logmanager.Log(Tag, "RequestPayBooking", e.Message); } return(Json(_responseProvider.GenerateUnknownErrorResponse())); }