Esempio n. 1
0
        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()));
        }