コード例 #1
0
 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());
     }
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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());
            }
        }
コード例 #6
0
        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);
        }