public async Task <IActionResult> Create(NewAccountViewModel vm) { if (ModelState.IsValid) { var user = new IdentityUser { UserName = vm.Usuario, Email = vm.Correo }; var resul = await _userManager.CreateAsync(user, vm.Contraseña); var usuarioentity = _mapper.Map <Users>(vm); usuarioentity.Tipo = vm.RoleSelect; usuarioentity.Estado = "Activo"; usuarioentity.Id = user.Id; if (resul.Succeeded) { var resulrol = await _userManager.AddToRoleAsync(user, vm.RoleSelect); if (resulrol.Succeeded) { await _adminrepository.Add(usuarioentity); if (vm.RoleSelect.Equals("cliente")) { var productentity = new ProductosUsers(); productentity.Id = DateTime.Now.ToString("HHyfffmm"); productentity.Idusuario = user.Id; productentity.Idtipo = 1; productentity.Tipo = "Principal"; productentity.Balance = vm.MontoInicial; await _productsrepository.Add(productentity); } return(RedirectToAction("Management")); } } } return(View()); }
public ActionResult Crear(Producto producto, int categoriaId) { if (!ModelState.IsValid) { ViewBag.CategoriaId = new SelectList(categorias.GetAll(), "Id", "Nombre"); return(this.View()); } producto.Categoria = categorias.Get(categoriaId); productos.Add(producto); if (Request.IsAjaxRequest()) { return(this.Json(new { id = producto.Id })); } TempData["mensaje"] = string.Format("El producto {0} se ha creado correctamente", producto.Nombre); return(RedirectToAction("index")); }
public async Task <IActionResult> Create(RegisterViewModel vm) { if (ModelState.IsValid) { try { var users = await _context.Usuarios.FirstOrDefaultAsync(c => c.UserName == vm.UserName || c.Correo == vm.Correo); var productos = _context.Productos.Where(c => c.Tipo == "Principal" && c.Cuenta == vm.UserName).Count(); if (users != null) { ModelState.AddModelError("U/Exists", "Usuario ya existente"); return(View(vm)); } var usuario = _mapper.Map <Usuario>(vm); usuario.UserType = "client"; var user = new IdentityUser { UserName = vm.UserName, Email = vm.Correo }; user.LockoutEnabled = true; var result = await _userManager.CreateAsync(user, vm.Password); var resultRol = await _userManager.AddToRoleAsync(user, vm.SelectedRol); if (result.Succeeded) { if (productos < 1) { var prod = new Productos { Producto = "Cuenta de Ahorro", Monto = vm.Monto, Cuenta = new Random().Next(100000000, 999999999).ToString(), Tipo = "Principal", Usuario = vm.UserName }; await _Prepository.Add(prod); } _context.Usuarios.Add(usuario); await _context.SaveChangesAsync(); if (resultRol.Succeeded) { await _signInManager.SignInAsync(user, isPersistent : false); return(RedirectToAction("Index", "Client")); } } else { addErrors(result); } } catch { return(View(vm)); } } return(View(vm)); }