public IHttpActionResult SubmitChatByMobile(CommentModel model) { try { var user = AppUserManager.FindByName(model.Mobile); if (user != null) { var res = _groupManager.SubmitChat(user.Id, model.Mobile, model.Comment); return(Json(_responseProvider.GenerateResponse(new List <string> { res }, "SubmitChatByMobile"))); } else { _responseProvider.SetBusinessMessage(new MessageResponse() { Message = getResource.getMessage("UserNotExist"), Type = ResponseTypes.Error }); return(Json(_responseProvider.GenerateBadRequestResponse())); } } catch (Exception e) { _logProvider.Log(Tag, "SubmitChatByMobile", e.Message); } return(Json(_responseProvider.GenerateUnknownErrorResponse())); }
public IHttpActionResult ChargeUserAccount(ChargeModel model) { try { var user = AppUserManager.FindByName(model.MobileNo); if (user == null) { _responseProvider.SetBusinessMessage(new MessageResponse() { Type = ResponseTypes.Error, Message = getResource.getMessage("UserNotFound") }); return(Json(_responseProvider.GenerateBadRequestResponse())); } else { var res = _paymentManager.ChargeAccount(user.Id, model.ChargeValue, GetUserNameFamilyString(user)); return(Json(res)); } } catch (Exception e) { _logProvider.Log(Tag, "ChargeUserAccount", e.Message); } return(Json(_responseProvider.GenerateUnknownErrorResponse())); }
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())); }
public string ConfirmAppointment(int userid, AppointmentModel model) { using (var dataModel = new MibarimEntities()) { var validation = dataModel.vwRouteGroups.Where(x => x.UserId == userid && x.GroupId == model.GroupId).ToList(); if (validation.Count > 0) { var group = dataModel.Groups.FirstOrDefault(x => x.GroupId == model.GroupId); if (group != null) { if (group.GIsDriverConfirmed == null || !(bool)group.GIsDriverConfirmed) { group.GRouteRequestId = model.RouteId; group.AppointTime = model.AppointTime; group.AppointTime = model.AppointTime; group.GIsDriverConfirmed = false; group.GAppointAddress = model.GAppointAddress; group.GAppointLatitude = decimal.Parse(model.GAppointLatitude); group.GAppointLongitude = decimal.Parse(model.GAppointLongitude); group.GAppointGeo = CreatePoint(model.GAppointLatitude, model.GAppointLongitude); group.ConfirmedPrice = (decimal)model.ConfirmedPrice; dataModel.SaveChanges(); return(getResource.getMessage("GroupConfirmed")); } else { _responseProvider.SetBusinessMessage(new MessageResponse() { Type = ResponseTypes.Error, Message = getResource.getMessage("AppointAlreadySet") }); } } } else { _responseProvider.SetBusinessMessage(new MessageResponse() { Type = ResponseTypes.Warning, Message = getResource.getMessage("UnknownGroup") }); return(string.Empty); } } return(string.Empty); }
public bool AddRouteGroup(int userId, RouteGroupModel model, int suggestAccompanyCount) { var routegroup = new RouteGroup(); using (var dataModel = new MibarimEntities()) { //I have a group and add this route to it var userGroup = dataModel.vwRouteGroups.FirstOrDefault(x => x.RGHolderRRId == model.RgHolderRrId && x.RouteRequestId == model.RgHolderRrId && x.RGIsConfirmed); //I'm part of a group and add this to that group if (userGroup == null) { userGroup = dataModel.vwRouteGroups.FirstOrDefault(x => x.UserId == userId && x.RouteRequestId == model.RgHolderRrId && x.RGIsConfirmed); } if (userGroup == null) { if (IsAddQuataExceed(userId, model.RgHolderRrId)) { _responseProvider.SetBusinessMessage(new MessageResponse() { Type = ResponseTypes.Error, Message = getResource.getMessage("OnlythreeGroupAllowed") }); return(false); } using (var dbContextTransaction = dataModel.Database.BeginTransaction()) { try { var group = new Group() { GCreateTime = DateTime.Now, GIsDeleted = false, GCreatorUser = userId }; dataModel.Groups.Add(group); dataModel.SaveChanges(); routegroup.RGCreateTime = DateTime.Now; routegroup.GroupId = group.GroupId; routegroup.RGRouteRequestId = model.RouteId; routegroup.RGHolderRRId = model.RgHolderRrId; routegroup.RGIsDeleted = false; routegroup.RGIsConfirmed = false; dataModel.RouteGroups.Add(routegroup); var holderRoutegroup = new RouteGroup(); holderRoutegroup.RGCreateTime = DateTime.Now; holderRoutegroup.GroupId = group.GroupId; holderRoutegroup.RGRouteRequestId = model.RgHolderRrId; holderRoutegroup.RGHolderRRId = model.RgHolderRrId; holderRoutegroup.RGIsDeleted = false; holderRoutegroup.RGIsConfirmed = true; dataModel.RouteGroups.Add(holderRoutegroup); dbContextTransaction.Commit(); } catch (Exception) { dbContextTransaction.Rollback(); } } } else { if (GroupRouteCount(userGroup.GroupId) + suggestAccompanyCount > 5) { _responseProvider.SetBusinessMessage(new MessageResponse() { Type = ResponseTypes.Error, Message = getResource.getMessage("GroupCapacityExceed") }); return(false); } if (IsRepeated(userId, model.RgHolderRrId, model.RouteId, userGroup.GroupId)) { _responseProvider.SetBusinessMessage(new MessageResponse() { Type = ResponseTypes.Error, Message = getResource.getMessage("RequestRepeated") }); return(false); } routegroup.RGCreateTime = DateTime.Now; routegroup.GroupId = userGroup.GroupId; routegroup.RGRouteRequestId = model.RouteId; routegroup.RGHolderRRId = model.RgHolderRrId; routegroup.RGIsDeleted = false; routegroup.RGIsConfirmed = false; dataModel.RouteGroups.Add(routegroup); } dataModel.SaveChanges(); } return(true); }