Ejemplo n.º 1
0
        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()));
        }
Ejemplo n.º 2
0
 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()));
 }
Ejemplo n.º 3
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()));
        }
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
        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);
        }