Пример #1
0
 public void AddProjectRole(ProjectRoleDto projectRoleDto)
 {
     try
     {
         if (projectRoleDto.projectId == 0 || projectRoleDto.userId == 0 || projectRoleDto.projectName == null || projectRoleDto.userName == null)
         {
             ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.BadRequest;
         }
         else
         {
             Data.Database.projectroles projectroles = new Data.Database.projectroles
             {
                 id        = projectRoleDto.id,
                 projectid = projectRoleDto.projectId,
                 userid    = projectRoleDto.userId
             };
             unitOfWork.GetRepository <Data.Database.projectroles>().Add(projectroles);
             unitOfWork.Complete();
             ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.OK;
         }
     }
     catch (Exception)
     {
         ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.InternalServerError;
         throw;
     }
 }
Пример #2
0
 public string SetProjectRole(ProjectRoleDto projectRoleDto) //Projectrole'ü update etmeye yarayan kod.
 {
     using (UnitOfWorkPattern unitOf = new UnitOfWorkPattern())
     {
         projectrole prole = unitOf.RepositoryPattern <projectrole>().Get(projectRoleDto.Id);
         if (prole != null)
         {
             try
             {
                 prole.projectid = projectRoleDto.ProjectId;
                 prole.userid    = projectRoleDto.UserId;
                 unitOf.RepositoryPattern <projectrole>().Update(prole);
                 unitOf.Save();
                 return("Kayıt güncellendi");
             }
             catch
             {
                 return("Güncellerken bir hata oluştu");
             }
         }
         else
         {
             return("Kayıt bulunamadı");
         }
     }
 }
Пример #3
0
        public async Task <IActionResult> CreateRole([FromBody] ProjectRoleDto role)
        {
            if (role == null)
            {
                return(BadRequest());
            }

            var newRole = new ProjectRoles {
                Name = role.Name, System = false
            };

            _db.ProjectRoles.Add(newRole);
            await _db.SaveChangesAsync();

            if (role.Permissions != null)
            {
                var permissionSlugs     = role.Permissions.Select(p => p.ProjectPermissionSlug);
                var existingPermissions = await _db.ProjectPermissions.Where(p => permissionSlugs.Contains(p.ProjectPermissionSlug)).ToListAsync();

                _db.ProjectRolePermissions.AddRange(existingPermissions.Select(p => new ProjectRolePermissions {
                    ProjectRoleId = newRole.ProjectRoleId, ProjectPermissionSlug = p.ProjectPermissionSlug
                }));
                await _db.SaveChangesAsync();
            }

            return(Ok(new ProjectRoleDto(newRole)));
        }
Пример #4
0
 public void SetProjectRole(ProjectRoleDto projectRoleDto)
 {
     try
     {
         if (projectRoleDto.id == 0 || projectRoleDto.projectId == 0 ||
             projectRoleDto.projectName == null || projectRoleDto.userId == 0 || projectRoleDto.userName == null)
         {
             ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.BadRequest;
         }
         var result = unitOfWork.GetRepository <Data.Database.projectroles>().Get(projectRoleDto.id);
         if (result == null)
         {
             ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.NotFound;
         }
         else
         {
             result.projectid = projectRoleDto.projectId;
             result.userid    = projectRoleDto.userId;
             unitOfWork.GetRepository <Data.Database.projectroles>().Set(result);
             unitOfWork.Complete();
             ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.OK;
         }
     }
     catch (Exception)
     {
         ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.InternalServerError;
         throw;
     }
 }
Пример #5
0
 public void AddProjectRole(ProjectRoleDto prdto) //ProjectRole eklemeyi sağlayan servis. Parametre olarak ProjectDto alır.
 {
     using (UnitOfWorkPattern unitOf = new UnitOfWorkPattern())
     {
         projectrole prol = new projectrole() //Yukarıdaki işlemin aynısını uyguladık.
         {
             userid    = prdto.UserId,
             projectid = prdto.ProjectId
         };
         unitOf.RepositoryPattern <projectrole>().Add(prol);
         unitOf.Save();
     }
 }
Пример #6
0
 public string SetProjectRole(ProjectRoleDto projectRoleDto)
 {
     using (UnitOfWork unitOfWork = new UnitOfWork(masterContext))
     {
         ProjectRole projectRole = unitOfWork.GetRepository <ProjectRole>().Get(projectRoleDto.Id);
         projectRole.Id        = projectRoleDto.Id;
         projectRole.UserId    = projectRoleDto.UserId;
         projectRole.ProjectId = projectRoleDto.ProjectId;
         unitOfWork.GetRepository <ProjectRole>().Update(projectRole);
         unitOfWork.SaveChange();
     }
     return("ProjectRole güncelleme başarılı");
 }
Пример #7
0
 public string AddProjectRole(ProjectRoleDto projectRoleDto)
 {
     using (UnitOfWork unitOfWork = new UnitOfWork(masterContext))
     {
         ProjectRole projectRole = new ProjectRole()
         {
             Id        = projectRoleDto.Id,
             UserId    = projectRoleDto.UserId,
             ProjectId = projectRoleDto.ProjectId
         };
         unitOfWork.GetRepository <ProjectRole>().Add(projectRole);
         unitOfWork.SaveChange();
     }
     return("ProjectRole başarı ile kaydedildi");
 }
Пример #8
0
 public string AddProjectRole(ProjectRoleDto projectRoleDto)
 {
     using (UnitOfWork unitOfWork = new UnitOfWork(masterContext))
     {
         ProjectRoles projectRoles = new ProjectRoles()
         {
             Id        = projectRoleDto.Id,
             Projectid = projectRoleDto.Projectid,
             Userid    = projectRoleDto.Userid
         };
         unitOfWork.GetRepository <ProjectRoles>().Add(projectRoles);
         unitOfWork.SaveChanges();
         return("Kayıt başarılı");
     }
 }
Пример #9
0
 public string DelProjectRole(ProjectRoleDto projectRoleDto) //ProjectRoleDto alıp delete işlemi uygulayan servis.
 {
     using (UnitOfWorkPattern unitOf = new UnitOfWorkPattern())
     {
         projectrole prol = unitOf.RepositoryPattern <projectrole>().Get(projectRoleDto.Id);
         if (prol != null)
         {
             unitOf.RepositoryPattern <projectrole>().Delete(prol);
             unitOf.Save();
             return("Kayıt silindi");
         }
         else
         {
             return("Kayıt bulunamadı");
         }
     }
 }
Пример #10
0
        public List <ProjectRoleDto> GetProjectRoles(int id)
        {
            try
            {
                if (id == 0)
                {
                    ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.BadRequest;
                    return(new List <ProjectRoleDto>());
                }
                var result = unitOfWork.GetRepository <Data.Database.projectroles>().GetProjectRoles(id);
                if (result == null)
                {
                    ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.NotFound;
                    return(new List <ProjectRoleDto>());
                }

                else
                {
                    List <ProjectRoleDto> projectRoleDtos = new List <ProjectRoleDto>();
                    foreach (var item in result)
                    {
                        var project = unitOfWork.GetRepository <Data.Database.project>().Get((int)item.projectid);
                        var user    = unitOfWork.GetRepository <Data.Database.user>().Get((int)item.userid);
                        Data.DTO.ProjectRoleDto projectRoleDto = new ProjectRoleDto
                        {
                            id          = item.id,
                            projectId   = (int)item.projectid,
                            userId      = (int)item.userid,
                            projectName = project.name,
                            userName    = user.username
                        };

                        projectRoleDtos.Add(projectRoleDto);
                    }
                    ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.OK;
                    return(projectRoleDtos);
                }
            }
            catch (Exception)
            {
                ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.InternalServerError;
                throw;
            }
        }
Пример #11
0
        public async Task <IActionResult> UpdateRole([FromRoute] int id, [FromBody] ProjectRoleDto updatedRole)
        {
            if (updatedRole == null)
            {
                return(BadRequest());
            }

            var role = await _db.ProjectRoles.Include(r => r.ProjectRolePermissions).ThenInclude(rp => rp.ProjectPermissionSlugNavigation).SingleOrDefaultAsync(r => r.ProjectRoleId == id);

            if (role == null)
            {
                return(NotFound());
            }

            if (role.System)
            {
                throw new Exception("System role is immutable");
            }

            role.Name = updatedRole.Name;

            if (role.ProjectRolePermissions == null)
            {
                role.ProjectRolePermissions = new List <ProjectRolePermissions>();
            }

            if (updatedRole.Permissions != null)
            {
                var toDelete = role.ProjectRolePermissions.Where(uc => !updatedRole.Permissions.Select(c => c.ProjectPermissionSlug).Contains(uc.ProjectPermissionSlug) && uc.ProjectRoleId == id).Select(uc => uc.ProjectPermissionSlug);
                var toAdd    = updatedRole.Permissions.Where(u => !role.ProjectRolePermissions.Select(uc => uc.ProjectPermissionSlug).Contains(u.ProjectPermissionSlug)).Select(c => c.ProjectPermissionSlug);
                _db.ProjectRolePermissions.RemoveRange(_db.ProjectRolePermissions.Where(uc => toDelete.Contains(uc.ProjectPermissionSlug) && uc.ProjectRoleId == id));
                var existingPermissionsToAdd = await _db.ProjectPermissions.Where(uc => toAdd.Contains(uc.ProjectPermissionSlug)).ToListAsync();

                _db.ProjectRolePermissions.AddRange(existingPermissionsToAdd.Select(c => new ProjectRolePermissions {
                    ProjectRoleId = id, ProjectPermissionSlug = c.ProjectPermissionSlug
                }));
            }

            await _db.SaveChangesAsync();

            return(Ok(new ProjectRoleDto(role)));
        }