public virtual ActionResult Edit(BaseUserLogin bul) { try { if (!ModelState.IsValid) { return(Json(new { isError = true, Msg = "ورودی نامعتبر" })); } var baseuser = _baseuserService.Where(b => b.CodeMeli == bul.CodeMeli && b.BaseUserLoginId != bul.BaseUserLoginId) .FirstOrDefault(); if (baseuser != null) { return(Json(new { isError = true, Msg = "کد ملی در بانک اطلاعاتی وجود دارد!" })); } baseuser = _baseuserService.Where( b => b.CodeEstekhdam == bul.CodeEstekhdam && b.BaseUserLoginId != bul.BaseUserLoginId) .FirstOrDefault(); if (baseuser != null) { return(Json(new { isError = true, Msg = "کد استخدامی در بانک اطلاعاتی وجود دارد!" })); } _baseuserService.Edit(bul); Log log = new Log() { UserId = int.Parse(User.Identity.GetUserId()), Operation = Operations.اطلاعات_پایه_کاربر, OperationDetail = OperationsDetail.ویرایش, Description = "ویرایش اطلاعات پایه کاربران مجاز به سیستم به شماره " + bul.BaseUserLoginId }; _logService.AddNewLog(log); _unitOfWork.SaveChanges(); return(Json(new { isError = false, Msg = "تغییرات اعمال شد" })); } catch (Exception) { return(Json(new { isError = true, Msg = "خطا در ویرایش اطلاعات کاربر" })); } }
public virtual async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { try { BaseUserLogin baseuserlogin = _userService.Where(x => x.CodeMeli == model.CodeMeli && x.CodeEstekhdam == model.CodeEstekhdam).FirstOrDefault(); if (baseuserlogin == null) { ModelState.AddModelError("", "اطلاعات پایه کاربری وجود ندارد"); return(View(model)); } if (baseuserlogin.Active) { ModelState.AddModelError("", "شماره شناسایی قبلا استفاده شده است"); return(View(model)); } //throw new Exception("اطلاعات پایه کاربری وجود ندارد"); var user = new AppUser { UserName = model.Email, Email = model.Email, BaseUserLoginId = baseuserlogin.BaseUserLoginId }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { baseuserlogin.Active = true; _baseuserService.Edit(baseuserlogin); var roleid = _roleManager.FindRoleByName(Roles.User.ToString()).Id; var departman = _univercity.Where(x => x.Level == 1).SingleOrDefault(); if (departman != null) { _roleManager.AddUserRole(user.Id, roleid, departman.Id); } _uow.SaveChanges(); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user.Id); var callbackUrl = Url.Action(MVC.Account.ActionNames.ConfirmEmail, MVC.Account.Name, new { userId = user.Id, code }, Request.Url.Scheme); ViewBag.Link = callbackUrl; //_emailIdentityService.SendEmailWithPostal("Reg.Html", user.Email, "", "", "تائید حساب کاربری ", "تائید حساب کاربری ", "جهت فعال سازی حساب کاربری خود بر روی لینک زیر کلیک کنید: <a href=\"" + callbackUrl + "\">link</a>"); var def = _definitionService.GetAllDefinitionsAsQueryable().FirstOrDefault(); dynamic email = new Email("Reg.Html"); email.To = user.Email; email.Title = "تائید حساب کاربری "; email.Subject = (def == null ? "تائید حساب کاربری " : "تائید حساب کاربری " + def.UniversityName); email.Body = "جهت فعال سازی حساب کاربری خود بر روی لینک زیر کلیک کنید"; email.Link = callbackUrl; //if (!string.IsNullOrWhiteSpace(email.To.ToString())) // email.Send(); scope.Complete(); return(View("DisplayEmail")); } addErrors(result); } catch (Exception ex) { ErrorSignal.FromCurrentContext().Raise(ex); ModelState.AddModelError("", "عملیات با مشکل مواجه شد! " + ex.Message); return(View(model)); } finally { //scope.Dispose(); } } } return(View(model)); }