Exemple #1
0
        public async Task <ValidationResult> Create(MobileRepair mobileRepair)
        {
            var validationResult = new ValidationResult();

            try
            {
                var alreadyCreated = await MobileRepairRequestAlreadyExists(mobileRepair.MobileNumber);

                if (!alreadyCreated.Succeeded)
                {
                    return(alreadyCreated);
                }
                mobileRepair.MobileRepairStateId = (int)MobileRepairRequestState.Created;
                var data = await _mobileDataService.CreateGetAsync(mobileRepair);
                await CreateMobileCoupon(mobileRepair.MobileNumber, mobileRepair.CouponCode);

                var message = $"Your request to repair is created.Request id :{data.MobileRepairId}. mumbile team will contact you on {data.MobileNumber}. Thank you for choosing mumbile.com";
                _smsBusinessService.SendSMS(mobileRepair.MobileNumber.ToString(), message);
                validationResult.Message   = "Request created successfully.";
                validationResult.Succeeded = true;
            }
            catch (Exception ex)
            {
                validationResult.Succeeded = false;
                validationResult.Message   = ex.Message;
            }
            return(validationResult);
        }
        public async Task <ActionResult> Create(MobileRepairViewModel model)
        {
            var mobileRepair = new MobileRepair()
            {
                CouponCode   = model.CouponCode,
                Description  = model.Description,
                MobileNumber = model.MobileNumber,
                ModelName    = model.ModelName
            };
            var otpResult = await _otpBusinessService.IsValidOtp(model.OTP, model.MobileNumber, (int)OtpReason.MobileRepair, DateTime.UtcNow);

            if (!otpResult.Succeeded)
            {
                return(this.Json(otpResult));
            }
            if (!string.IsNullOrEmpty(model.CouponCode))
            {
                var couponCodeResult = await _couponCodeBusinessService.IsValidCoupon(model.MobileNumber, model.CouponCode);

                if (!couponCodeResult.Succeeded)
                {
                    return(this.Json(couponCodeResult));
                }
            }
            var mobileRepairResult = await _mobileRepairBusinessService.Create(mobileRepair);

            return(this.JsonNet(mobileRepairResult));
        }
Exemple #3
0
        public async Task <ValidationResult <MobileRepair> > UpdateMobileRepair(MobileRepair mobileRepair)
        {
            var validationResult = new ValidationResult <MobileRepair>();

            try
            {
                mobileRepair.AppointmentDate = mobileRepair.AppointmentDate.CombineDateTime(mobileRepair.AppointmentTime);
                await _mobileDataService.UpdateAsync(mobileRepair);

                validationResult.Succeeded = true;
            }
            catch (Exception e)
            {
                validationResult.Succeeded = true;
                validationResult.Message   = e.Message;
            }
            return(validationResult);
        }