public ActionResult Delete(int id) { try { if (id != 0) { User user = _context.Users.Find(id); if (user != null) { UserPermission userPermission = new UserPermissionDao().GetByUserId(user.Id); if (userPermission != null) { _context.UserPermission.Remove(userPermission); _context.Users.Remove(user); _context.SaveChanges(); return(Json("OK")); } } } return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public PaginationResult List(string param, int user_id, string action) { connection = db.GetCon(); connection.Open(); PaginationResult objResult = new PaginationResult(); UserPermissionBusiness bus = new UserPermissionBusiness(connection); List <string> messages_list = new List <string>(); UserPermissionDao dao = new UserPermissionDao(connection, null); try { messages_list = bus.Validate(null, user_id, action); if (messages_list.Count > 0) { objResult.resultStatus = "error"; objResult.resultMessages = messages_list; connection.Close(); return(objResult); } objResult = dao.List(param); } finally { connection.Close(); } return(objResult); }
public ObjResult Save(UserPermission obj, int user_id, string action) { connection = db.GetCon(); connection.Open(); int id; ObjResult objResult = new ObjResult(); UserPermissionBusiness bus = new UserPermissionBusiness(connection); List <string> messages_list = new List <string>(); //validações try { messages_list = bus.Validate(obj, user_id, action); if (messages_list.Count > 0) { objResult.resultStatus = "error"; objResult.resultMessages = messages_list; connection.Close(); return(objResult); } } finally { connection.Close(); } NpgsqlTransaction transaction = null; try { connection.Open(); transaction = connection.BeginTransaction(); UserPermissionDao dao = new UserPermissionDao(connection, transaction); id = dao.Post(obj); LogDao logDao = new LogDao(connection, transaction); logDao.Post(new Log(user_id, "UserPermission", action, id.ToString(), JsonConvert.SerializeObject(obj))); objResult.resultStatus = "success"; objResult.data = id; transaction.Commit(); } catch (Exception ex) { if (transaction != null) { transaction.Rollback(); } throw new Exception(ex.ToString()); } finally { connection.Close(); } return(objResult); }
public ObjResult Get(int per_id, int user_id, string action) { connection = db.GetCon(); connection.Open(); ObjResult objResult = new ObjResult(); UserPermissionBusiness bus = new UserPermissionBusiness(connection); UserPermission obj = new UserPermission(); List <string> messages_list = new List <string>(); UserPermissionDao dao = new UserPermissionDao(connection, null); //validações try { messages_list = bus.Validate(null, user_id, action); if (messages_list.Count > 0) { objResult.resultStatus = "error"; objResult.resultMessages = messages_list; connection.Close(); return(objResult); } obj = dao.GetById(per_id); if (obj.per_id != 0) { objResult.resultStatus = "success"; objResult.data = obj; } else { messages_list.Add("Registro não encontrado."); objResult.resultStatus = "error"; objResult.resultMessages = messages_list; } } finally { connection.Close(); } return(objResult); }
public ActionResult Edit(int id, [Bind("Id,Login,Password,ConfirmPassword,Name,LastName,Pesel,PermissionId,PlaceOfBirth,DateOfBirth,Workplace")] User user) { try { if (id == 0) { return(NotFound()); } else { bool checkLogin = new UserDao().CheckUserLogin(_context, user.Login, user.Id); bool checkPesel = new UserDao().CheckUserPesel(_context, user.Pesel, user.Id); if (checkLogin || checkPesel) { if (checkLogin) { ModelState.AddModelError("Login", "Użytkownik o takiej nazwie już istnieje"); } if (checkPesel) { ModelState.AddModelError("Pesel", "Użytkownik o taki numerze Pesel już istnieje"); } ViewBag.Permissions = new SelectList(_context.Permissions, "Id", "Name"); return(View()); } if (user.PermissionId != null) { var UserPemissionExist = new UserPermissionDao().GetByUserId(user.Id); if (UserPemissionExist == null) { Permission permission = _context.Permissions.Find(user.PermissionId); if (permission != null) { UserPermission userPermission = new UserPermission(user.Id, permission); _context.UserPermission.Add(userPermission); _context.SaveChanges(); } } else if (UserPemissionExist != null && UserPemissionExist.PermissionId != user.PermissionId) { UserPemissionExist.Permission = _context.Permissions.Find(user.PermissionId); _context.UserPermission.Update(UserPemissionExist); _context.SaveChanges(); } } _context.Users.Update(user); _context.SaveChanges(); return(RedirectToAction(nameof(CreateComplete))); } } catch (Exception e) { return(View()); } }
public ObjResult ApplyPerfil(dynamic obj, int user_id, string action) { connection = db.GetCon(); connection.Open(); ObjResult objResult = new ObjResult(); UserPermissionBusiness bus = new UserPermissionBusiness(connection); List <string> resources = new List <string>(); List <string> messages_list = new List <string>(); int use_id = obj.use_id; //validações try { connection.Open(); UserPermission obj2 = new UserPermission(); obj2.per_user_id = obj.use_id; messages_list = bus.Validate(obj2, user_id, "create"); if (messages_list.Count > 0) { objResult.resultStatus = "error"; objResult.resultMessages = messages_list; connection.Close(); return(objResult); } } finally { connection.Close(); } NpgsqlTransaction transaction = null; try { connection.Open(); transaction = connection.BeginTransaction(); UserPermissionDao dao = new UserPermissionDao(connection, transaction); resources = dao.ListResources(); for (int i = 0; i < resources.Count; i++) { if (!dao.PermissionExists(use_id, Convert.ToInt32(resources[i]))) { UserPermission new_obj = new UserPermission(); new_obj.per_resource_id = Convert.ToInt32(resources[i]); new_obj.per_user_id = use_id; int id = dao.Post(new_obj); LogDao logDao = new LogDao(connection, transaction); logDao.Post(new Log(user_id, "UserPermission", "create", id.ToString(), JsonConvert.SerializeObject(obj))); } } objResult.resultStatus = "success"; objResult.data = "ok"; transaction.Commit(); } catch (Exception ex) { if (transaction != null) { transaction.Rollback(); } throw new Exception(ex.ToString()); } finally { connection.Close(); } return(objResult); }