public bool AddOTP(ForgotPasswordBindingModel model) { var mobile = entities.AspNetUsers.Where(x => x.PhoneNumber == model.PhoneNumber).FirstOrDefault(); if (mobile != null) { using (QuizAppEntities entities = new QuizAppEntities()) { var OTP = GeneralFunctions.GetOTP(); MobileOTP mobileOTP = new MobileOTP() { PhoneNumber = model.PhoneNumber, OTP = OTP, CreatedDate = DateTime.UtcNow.AddHours(5.00).AddMinutes(30.00), }; entities.MobileOTPs.Add(mobileOTP); var OtpSend = sms_api_callAsync(model.PhoneNumber, OTP.ToString()); return(entities.SaveChanges() > 0); } } else { return(false); } }
public TokenResult RegisterUser(RegisterBindingModel model) { try { var Otp = GeneralFunctions.GetOTP(); //Set By Defaulte Admin Refferal Code When User Not Use Any Refferal Code if (model.UsedReferalCode == null || model.UsedReferalCode == "" || model.UsedReferalCode == string.Empty) { string AdminId = ConfigurationManager.AppSettings["Admin"].ToString(); model.UsedReferalCode = ConfigurationManager.AppSettings["RefferalCode"].ToString(); } var ParentIDs = GetParentsIDsFromReferalCode(model.UsedReferalCode, model.UserId); using (QuizAppEntities entities = new QuizAppEntities()) { User registerUser = new User() { Name = model.Name, Password = model.Password, UserID = model.UserId, CreatedDate = DateTime.UtcNow.AddHours(5.00).AddMinutes(30.00), LastUpdateDate = DateTime.UtcNow.AddHours(5.00).AddMinutes(30.00), ReferalCode = GeneralFunctions.GetReferalCode(), DeviceID = model.DeviceID, IP = model.IP, isActive = true, isBlocked = false, NotificationKey = model.NotificationKey, otp = Otp.ToString(), ParentIDs = ParentIDs, Platform = model.Platform, UsedReferalCode = model.UsedReferalCode.ToLower(), }; var OtpSend = sms_api_callAsync(model.PhoneNumber, Otp.ToString()); MobileOTP mobileOTP = new MobileOTP() { PhoneNumber = model.PhoneNumber, OTP = Otp, CreatedDate = DateTime.UtcNow.AddHours(5.00).AddMinutes(30.00) }; entities.MobileOTPs.Add(mobileOTP); entities.Users.Add(registerUser); int updatedRow = entities.SaveChanges(); var UserId = registerUser.UserID; if (updatedRow >= 1) { //Add Registration Income var jsonFilePath = HttpContext.Current.Server.MapPath("~/Models/JsonFile/LevelEarningMasterUser.json"); EaningHeadModel earningHeads = new EaningHeadModel(); using (StreamReader r = new StreamReader(jsonFilePath)) { string json = r.ReadToEnd(); earningHeads = JsonConvert.DeserializeObject <EaningHeadModel>(json); } var data = (from U in entities.Users join A in entities.AspNetUsers on U.UserID equals A.Id where U.UserID == UserId select new UserTransactionModel() { UserName = U.Name, MobileNumber = A.UserName }).FirstOrDefault(); var uniqueKey = $"{UserId}~{DateTime.UtcNow.AddHours(5.00).AddMinutes(30.00).ToString("dd-MM-yyy")}~Earning"; Transaction transaction = new Transaction() { UserID = UserId, transactionDateTime = DateTime.UtcNow.AddHours(5.00).AddMinutes(30.00), UniqueKey = uniqueKey, paymentStatus = "Earning", amount = earningHeads.RegistrationIncome, comment = "Registration Income Amount", username = data.UserName, mobilenumber = data.MobileNumber }; entities.Transactions.Add(transaction); entities.SaveChanges(); AuthRepository authRepository = new AuthRepository(); return(authRepository.GenerateToken(model.PhoneNumber, model.Password, model.UserId, "")); } else { TokenResult result = new TokenResult(); result.result = false; result.error_message = "User registration failed."; return(result); } } } catch (Exception ex) { TokenResult result = new TokenResult(); result.result = false; result.error_message = ex.Message; return(result); } }