public async Task <ActionResult> CreateMobileRepairPayment(MobileRepairViewModel model)
        {
            var otpResult = await _otpBusinessService.IsValidOtp(model.OTP, model.MobileNumber, (int)OtpReason.MobileRepairPayment, DateTime.UtcNow);

            if (!otpResult.Succeeded)
            {
                return(this.JsonNet(otpResult));
            }
            var mobilePayment = new MobileRepairPayment
            {
                Amount         = model.Amount,
                MobileRepairId = model.MobileRepairId,
                Otp            = model.OTP,
                RecievedBy     = User.Identity.GetUserId()
            };
            var result = await _mobileRepairBusinessService.CreateMobileRepairPayment(mobilePayment);

            return(this.JsonNet(result));
        }
Beispiel #2
0
        public async Task <ValidationResult> CreateMobileRepairPayment(MobileRepairPayment mobileRepairPayment)
        {
            var validationResult = new ValidationResult();

            try
            {
                await _mobileDataService.CreateAsync(mobileRepairPayment);

                var mobileRepairData = await _mobileDataService.RetrieveByIdAsync <MobileRepair>(mobileRepairPayment.MobileRepairId);
                await UpdateMobileRepairState(mobileRepairPayment.MobileRepairId, (int)MobileRepairRequestState.Completed);

                //Send SMS for mobile repair Payment.
                var message = $"Payment of amount {mobileRepairPayment.Amount} recieved successfully.Invoice will be generated very soon.Thank you for using mumbile.com";
                _smsBusinessService.SendSMS(mobileRepairData.MobileNumber.ToString(), message);
                validationResult.Succeeded = true;
            }
            catch (Exception ex)
            {
                validationResult.Succeeded = false;
                validationResult.Message   = ex.Message;
            }
            return(validationResult);
        }