Beispiel #1
0
        public async Task SendSms(CustomerRegisterReq customer)
        {
            RemoveExpiredFromList();

            if (CustomerRegList.Any(l => l.mobile == customer.mobile))
            {
                throw new Exception("شماره شما در سیستم ثبت شده است، کد ارسال شده توسط پیامک را وارد کنید یا چند دقیقه صبر کنید تا منقضی شود و دوباره تلاش کنید");
            }

            var obj = new CustomerRegisterReqSms()
            {
                firstName  = customer.firstName,
                lastName   = customer.lastName,
                mail       = customer.mail,
                mobile     = customer.mobile,
                createDate = DateTime.Now,
                SmsCode    = RandomString(5)
            };

            var result = await kavenegarApi.Send(string.Empty, obj.mobile, obj.SmsCode);

            obj.SmsSendResult = result;
            CustomerRegList.Add(obj);

            if (result.Messageid <= 0)
            {
                throw new Exception(result.StatusText);
            }
        }
        public async Task <object> AddCustomer([FromBody] CustomerRegisterReq request)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest());
                }

                //var cus = new Customer() { firstName = request.firstName, lastName = request.lastName, mobile = request.mobile, email = request.mail };
                //await _dBRepository.Customers.AddAsync(cus);
                //await _dBRepository.SaveChangesAsync();
                var cus = await _dBRepository.Customers.AnyAsync(a => a.mobile == request.mobile);

                if (cus)
                {
                    throw new Exception("there is already an exsiting customer with this mobile: " + request.mobile);
                }
                await _smsService.SendSms(request);

                return(new CoreResponse()
                {
                    data = request, isSuccess = true
                });
            }
            catch (Exception ex)
            {
                return(new CoreResponse()
                {
                    devMessage = ex.GetaAllMessages(), data = request, isSuccess = false
                });
            }
        }
        public async Task <CustomerRegisterRes> CreateCustomer(CustomerRegisterReq request)
        {
            try
            {
                var result = await customerRepository.CreateCustomer(request);

                if (!String.IsNullOrEmpty(result.Id))
                {
                    return(result);
                }
                result.Id      = "";
                result.Message = "Something went wrong please try again";
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #4
0
        public async Task <CustomerRegisterRes> CreateCustomer(CustomerRegisterReq request)
        {
            try
            {
                if (request != null)
                {
                    var customer = new AppIdentityUser()
                    {
                        Email       = request.Email,
                        UserName    = request.Email,
                        PhoneNumber = request.PhoneNumber,
                        Fullname    = request.Fullname,
                        Avatar      = request.Avatar,
                        WardId      = request.Ward,
                        DistrictId  = request.District,
                        ProvinceId  = request.Province,
                        CountryId   = request.Country,
                        Address     = request.Address,
                        JoinDate    = DateTime.Now
                    };
                    var result = await userManager.CreateAsync(customer, request.Password);

                    if (result.Succeeded)
                    {
                        DynamicParameters parameters = new DynamicParameters();
                        parameters.Add("@UserId", customer.Id);
                        parameters.Add("@RoleId", "1");
                        return(await SqlMapper.QueryFirstAsync <CustomerRegisterRes>(
                                   cnn : connection,
                                   sql : "sp_AddRoleToUser",
                                   param : parameters,
                                   commandType : CommandType.StoredProcedure));
                    }
                }
                return(new CustomerRegisterRes());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #5
0
 public async Task <IActionResult> CreateCustomer(CustomerRegisterReq req)
 {
     return(Ok(await customerService.CreateCustomer(req)));
 }