public override T Convert <T, U>(U entity) { if (entity.GetType().Name == "User") { User user_ = entity as User; if (user_ == null) { return(default(T)); } BO.User boUser = new BO.User(); boUser.UserName = user_.UserName; boUser.ID = user_.id; boUser.FirstName = user_.FirstName; boUser.LastName = user_.LastName; boUser.ImageLink = user_.ImageLink; boUser.UserType = (BO.GBEnums.UserType)user_.UserType; boUser.Gender = (BO.GBEnums.Gender)user_.UserType; boUser.CreateByUserID = user_.CreateByUserID; return((T)(object)boUser); } OTP user = entity as OTP; if (user == null) { return(default(T)); } BO.OTP boOTP = new BO.OTP(); boOTP.Pin = user.Pin; return((T)(object)boOTP); }
public override Object Get(int id) { BO.OTP acc_ = Convert <BO.OTP, OTP>(_context.OTPs.Where(p => p.UserID == id && (p.IsDeleted != null || p.IsDeleted != true)).FirstOrDefault <OTP>()); if (acc_ != null) { return((object)acc_); } else { return(new BO.ErrorObject { ErrorMessage = "Invalid OTP details", errorObject = "", ErrorLevel = ErrorLevel.Information }); } }
public override List <BO.BusinessValidation> Validate <T>(T entity) { dynamic result = null; if (typeof(T) == typeof(BO.ValidateOTP)) { BO.ValidateOTP validateOTP = (BO.ValidateOTP)(object) entity; result = validateOTP.Validate(validateOTP); } if (typeof(T) == typeof(BO.OTP)) { BO.OTP otp = (BO.OTP)(object) entity; result = otp.Validate(otp); } return(result); }
public override Object RegenerateOTP <T>(T entity) { BO.OTP otpUser = (BO.OTP)(object) entity; var otpOld = _context.OTPs.Where(p => p.UserID == otpUser.User.ID).ToList <OTP>(); otpOld.ForEach(a => { a.IsDeleted = true; a.UpdateDate = DateTime.UtcNow; a.UpdateByUserID = System.Convert.ToInt32(Utility.GetConfigValue("DefaultAdminUserID")); }); if (otpOld != null) { _context.SaveChanges(); } OTP otpDB = new OTP(); otpDB.OTP1 = Utility.GenerateRandomNumber(6); otpDB.Pin = Utility.GenerateRandomNo(); otpDB.UserID = otpUser.User.ID; otpDB.CreateDate = DateTime.UtcNow; otpDB.CreateByUserID = System.Convert.ToInt32(Utility.GetConfigValue("DefaultAdminUserID")); _dbSet.Add(otpDB); _context.SaveChanges(); BO.OTP acc = Convert <BO.OTP, OTP>(otpDB); dynamic data_ = _context.Users.Where(x => x.id == otpUser.User.ID && (x.IsDeleted == null || x.IsDeleted == false)).FirstOrDefault(); BO.User acc_ = Convert <BO.User, User>(data_); string Message = "Dear " + acc_.UserName + ",<br><br>As per your request, a One Time Password (OTP) has been generated and the same is <i><b>" + otpDB.OTP1.ToString() + "</b></i><br><br>Please use this OTP to complete the Login. Reference number is " + otpDB.Pin.ToString() + " <br><br>*** This is an auto-generated email. Please do not reply to this email.*** <br><br>Thanks"; try { BO.Email objEmail = new BO.Email { ToEmail = acc_.UserName, Subject = "Alert Message From GBX MIDAS", Body = Message }; objEmail.SendMail(); } catch (Exception ex) { return(acc); } return(Convert <BO.OTP, OTP>(otpDB)); }
public override Object ValidateOTP <T>(T entity) { BO.ValidateOTP validateOTP = (BO.ValidateOTP)(object) entity; BO.OTP otpBO = validateOTP.otp; BO.User userBO = validateOTP.user; OTP data_ = _context.OTPs.Where(x => x.OTP1 == otpBO.OTP1 && x.Pin == otpBO.Pin && (x.IsDeleted != true) && x.UserID == userBO.ID).FirstOrDefault(); if (data_ == null) { return(new BO.ErrorObject { ErrorMessage = "Invalid OTP", errorObject = "", ErrorLevel = ErrorLevel.Information }); } else { BO.OTP acc_ = Convert <BO.OTP, OTP>(data_); User _user = _context.Users.Where(p => p.id == data_.UserID).FirstOrDefault(); if ((BO.GBEnums.UserType)_user.UserType == BO.GBEnums.UserType.Staff) { using (UserCompanyRepository sr = new UserCompanyRepository(_context)) { //acc_.company = ((BO.UserCompany)sr.Get(userBO.ID)).Company; //acc_.User = ((BO.UserCompany)sr.Get(userBO.ID)).User; var userCompany = ((BO.UserCompany)sr.GetByUserId(userBO.ID)); if (userCompany != null) { acc_.company = userCompany.Company; acc_.User = userCompany.User; } } } else { using (UserRepository userRep = new UserRepository(_context)) { acc_.User = ((BO.User)userRep.Get(userBO.ID)); } } return(acc_); } }