//api guardar actividad public HttpResponseMessage Post(CreateUsuarioDto model) { try { var rpta = _usuario.Save(model); return(Request.CreateResponse(HttpStatusCode.OK, rpta)); } catch { var message = "error al guardar"; return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, message)); } }
public async Task <ActionResult> Register(RegisterViewModel model) { var defaultRoleKey = "USER"; if (ModelState.IsValid) { #region obtener rol id var owinContext = HttpContext.GetOwinContext().Get <BitSecurityContext>(); RoleRepository roleRepository = new RoleRepository(owinContext); var roleId = roleRepository.GetRoleByName(defaultRoleKey).Id; #endregion CreateUsuarioDto createUsuario = new CreateUsuarioDto { Email = model.Email, Password = model.Password, EmailConfirmed = true }; createUsuario.RolesIds = new Guid[] { roleId }; try { var serviceResult = usuarioService.Create(createUsuario); if (serviceResult.IsSucceed) { var bitUser = UserManager.FindByEmail(createUsuario.Email); SignInManager.SignIn(bitUser, isPersistent: false, rememberBrowser: false); owinContext.Dispose(); return(RedirectToAction("Index", "Home")); } else { if (serviceResult.OperationError.errorMessage != null) { ModelState.AddModelError("errorMessage", serviceResult.OperationError.errorMessage); } if (serviceResult.OperationError.Exception != null) { ModelState.AddModelError("exceptionMessage", serviceResult.OperationError.Exception.Message); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } } // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario return(View(model)); }
public bool Save(CreateUsuarioDto model) { var rpta = false; try { using (var ctx = new PresupuestoContext()) { using (DbContextTransaction transacion = ctx.Database.BeginTransaction()) { try { if (model.Id == 0) { model.password = HashHelper.SHA256(model.password); } var usuario = new SPUsuario { Id = model.Id, email = model.email, usuario = model.usuario, password = model.password, estado = "A" }; if (usuario.Id > 0) { ctx.Entry(usuario).State = EntityState.Modified; } else { ctx.Entry(usuario).State = EntityState.Added; } ctx.SaveChanges(); var usuarioId = usuario.Id; //eliminamos los existentes para sustituirlos var permisos = ctx.SPUsuarioPermiso.Where(x => x.usuarioId == usuarioId).ToList(); ctx.SPUsuarioPermiso.RemoveRange(permisos); ctx.SaveChanges(); foreach (var u in model.permisos) { var usuario_permiso = new SPUsuarioPermiso { usuarioId = usuarioId, permisoId = u }; ctx.Entry(usuario_permiso).State = EntityState.Added; ctx.SaveChanges(); } //eliminamos los existentes de la tabla paises var paises = ctx.SPUsuarioPais.Where(x => x.usuarioId == usuarioId).ToList(); ctx.SPUsuarioPais.RemoveRange(paises); ctx.SaveChanges(); foreach (var p in model.paises) { var usuario_pais = new SPUsuarioPais { usuarioId = usuarioId, paisId = p }; ctx.Entry(usuario_pais).State = EntityState.Added; ctx.SaveChanges(); } //eliminamos los presupuestos asignados anteriormente var presupuestos = ctx.SPUsuarioPresupuesto.Where(x => x.usuarioId == usuarioId).ToList(); ctx.SPUsuarioPresupuesto.RemoveRange(presupuestos); ctx.SaveChanges(); if (model.presupuestos != null) { foreach (var p in model.presupuestos) { var usuario_p = new SPUsuarioPresupuesto { usuarioId = usuarioId, tipoId = p }; ctx.Entry(usuario_p).State = EntityState.Added; ctx.SaveChanges(); } } transacion.Commit(); rpta = true; }catch (Exception e) { transacion.Rollback(); throw e; } } } }catch (Exception e) { throw e; } return(rpta); }