Exemple #1
0
        public IHttpActionResult CloseOrder(RentoRequest <OrderClose> request)
        {
            var response = new RentoResponse(request);

            return(Ok(TryCatch(request, response, ValidateType.Active, async() =>
            {
                if ((!request.Data.Approve && !ValidateRequirdField(request.Data.Comment))
                    ||
                    !ValidateRequirdField(request.Data.Star)
                    )
                {
                    response.ErrorCode = ErrorCode.RequirdField; return;
                }
                ;
                var userToken = await CarManager.CloseOrder(UserSession.Id, request.Data);
                if (userToken != null)
                {
                    var bodyAr = request.Data.Approve ? "لقد تم الموافقة على طلبكم من قبل المكتب" : "لقد تم رفض طلبكم من قبل المكتب وذلك بسبب: " + request.Data.Comment;
                    var bodyEn = request.Data.Approve ? "Your request has been processed successfully" : "Your request has been rejected from office and the reason is: " + request.Data.Comment;
                    await Database.MessageManager.Create(userToken.CustomerId, string.Format("{0} {1}",
                                                                                             request.Language == (int)Language.Arabic ? bodyAr + " ذو الرقم " : bodyEn + " with number ", request.Data.Id
                                                                                             ));
                    if (!string.IsNullOrEmpty(userToken.NotificationToken))
                    {
                        FirebaseNotification.SendPushNotification("طلب استئجار السيارة", bodyAr, userToken.NotificationToken, userToken.IsAndroid);
                    }
                }
            })));
        }