public static int SetUser(UserDataAdm ud, int mngUserId) { List <Product> userProducts = ud.Products.FindAll(p => p.Selected == true); int[,] products = new int[userProducts.Count, 2]; for (int i = 0; i < userProducts.Count; i++) { Product p = userProducts[i]; products[i, 0] = userProducts[i].ProductId; products[i, 1] = userProducts[i].LicenseCnt; } return(DB.SetUser(mngUserId, ud.UserId, ud.ClientId, ud.Username, ud.Email, ud.Password, ud.UserTypeId, ud.Fullname, ud.PushSessions, ud.MaxLoginCount, ud.SessionTimeout, ud.Code, ud.Phone, ud.SkypeName, ud.CountryId, products, ud.Note, ud.SellerParentId, ud.Active, ud.OriginId, ud.EmailValid, ud.AllowedIps)); }
// [ValidateAjax] public ActionResult AddRegistration(RegisterUserData rud) { var captchaResponseToken = Request.Form["g-recaptcha-response"]; bool res = Common.ValidateCaptcha(captchaResponseToken); if (!res) { ModelState.AddModelError(String.Empty, "Invalid Captcha"); // for summary-view only return(Json(this.GetModelStateDictErrors(ModelState))); } if (ModelState.IsValid) { var fakeProducts = new List <Product>(); var fakeProduct = new Product { Demo = false, StartDate = DateTime.Now, EndDate = DateTime.Now.AddYears(10), IsActive = true, ProductId = 1, Selected = true, LicenseCnt = 1 }; fakeProducts.Add(fakeProduct); var fakeClient = new ClientData(); fakeClient.ClientName = rud.Mail; fakeClient.CountryId = 36; fakeClient.OriginId = 1; fakeClient.Products = fakeProducts; var clientId = UserMng.SetClient(6510, fakeClient); var fakeUserDataAdm = new UserDataAdm { Email = rud.Mail, EmailValid = false, // consider not validating this at start Username = rud.Mail, UserType = UserTypes.User, Active = true, // consider not activating this at start Fullname = rud.Mail, // intentionally ClientId = clientId, Password = rud.Password, OriginId = 1, Products = fakeProducts }; var userId = UserMng.SetUser(fakeUserDataAdm, 6510); // TODO: get some system id // SEND ACTIVATION EMAIL string subject = "Interlex account activation"; string token = UserMng.AddUservalidateToken(userId); string applicationPath = Request.ApplicationPath != "/" ? Request.ApplicationPath : String.Empty; string activationUrl = "http://" + Request.Url.Authority + applicationPath + "/Login/Activate/" + token; string activationLink = "<a href=\"" + activationUrl + "\" target=\"_blank\">" + activationUrl + "</a>"; string body = Resources.Resources.UI_Registration_MailBody; body = body.Replace("{fullname}", rud.Mail); // intentionally using mail instead of fullname body = body.Replace("{activation_link}", activationLink); // var model = new RegistrationEmail(activationLink, name); // var body = base.GetViewString("~/Views/User/_RegistrationEmail.cshtml", model, language); Mail.SendMail("*****@*****.**", "Interlex", new string[] { rud.Mail }, subject, body); return(PartialView("AfterRegistration")); } return(Json(this.GetModelStateDictErrors(ModelState))); }