public ServiceSingleResult <WorkItem> GetWorkItem(long itemId, string userId) { var result = new ServiceSingleResult <WorkItem>(); var workItem = GetWorkItemById(itemId); if (workItem != null) { //does user have any binding with project var projUserRef = _accessService.GetAccessByWorkItem(workItem, userId); if (projUserRef == null) { result.HandleError(ErrorMessagesDict.AccessDenied); } else { result.TargetObject = workItem; } return(result); } result.HandleError(ErrorMessagesDict.NotFoundResource); return(result); }
public ServiceSingleResult <bool> AddWorkItem(WorkItem item) { var result = new ServiceSingleResult <bool>(); if (item != null && item.Issue != null) { var projUserRef = _accessService.GetAccessByWorkItem(item, item.CreatorId); if (projUserRef == null || !Inspector.CanUserUpdateProject(projUserRef)) { result.HandleError(ErrorMessagesDict.AccessDenied); return(result); } if (!Inspector.IsValidWorkItemTime(item)) { result.HandleError(ErrorMessagesDict.WrongEstimatedTimeFormat); return(result); } _context.WorkItems.Add(item); try { _context.SaveChanges(); result.TargetObject = true; } catch (Exception exc) { result.HandleError(exc.Message); } return(result); } result.HandleError(ErrorMessagesDict.NullInstance); return(result); }
public ServiceSingleResult <Report> GetReport(long reportId, string userId) { var result = new ServiceSingleResult <Report>(); var report = GetReportById(reportId); if (report != null) { //does user have any binding with project var projUserRef = _accessService.GetAccessByReport(report, userId); if (projUserRef == null) { result.HandleError(ErrorMessagesDict.AccessDenied); } else { result.TargetObject = report; } return(result); } result.HandleError(ErrorMessagesDict.NotFoundResource); return(result); }
public ServiceSingleResult <bool> DeleteWorkItem(long itemId, string userId) { var result = new ServiceSingleResult <bool>(); var item = GetWorkItemById(itemId); if (item != null) { //check security var projUserRef = _accessService.GetAccessByWorkItem(item, userId); if (projUserRef == null || !Inspector.CanUserUpdateProject(projUserRef)) { result.HandleError(ErrorMessagesDict.AccessDenied); return(result); } _context.WorkItems.Remove(item); try { _context.SaveChanges(); result.TargetObject = true; } catch (Exception exc) { result.HandleError(exc.Message); } return(result); } result.HandleError(ErrorMessagesDict.NotFoundResource); return(result); }
public ServiceSingleResult <bool> AddIssue(Issue issue) { var result = new ServiceSingleResult <bool>(); if (issue != null && issue.Project != null) { //check user access to the project var projUserRef = _accessService.GetAccessByIssue(issue, issue.CreatorId); if (projUserRef == null || !Inspector.CanUserUpdateProject(projUserRef)) { result.HandleError(ErrorMessagesDict.AccessDenied); return(result); } _context.Issues.Add(issue); try { _context.SaveChanges(); result.TargetObject = true; } catch (Exception exc) { result.HandleError(exc.Message); } return(result); } result.HandleError(ErrorMessagesDict.NullInstance); return(result); }
public ServiceSingleResult <bool> AddReport(Report report) { var result = new ServiceSingleResult <bool>(); if (report != null && report.Issue != null) { var projUserRef = _accessService.GetAccessByReport(report, report.ReporterId); if (projUserRef == null || !Inspector.CanUserAddReport(projUserRef)) { result.HandleError(ErrorMessagesDict.AccessDenied); return(result); } _context.Reports.Add(report); try { _context.SaveChanges(); result.TargetObject = true; } catch (Exception exc) { result.HandleError(exc.Message); } return(result); } result.HandleError(ErrorMessagesDict.NullInstance); return(result); }
public ServiceSingleResult <bool> DeleteReport(long reportId, string userId) { var result = new ServiceSingleResult <bool>(); var reportToDelete = GetReportById(reportId); if (reportToDelete != null) { //check security var projUserRef = _accessService.GetAccessByReport(reportToDelete, userId); if (projUserRef == null || !Inspector.CanUserDeleteReport(projUserRef, reportToDelete, userId)) { result.HandleError(ErrorMessagesDict.AccessDenied); return(result); } _context.Reports.Remove(reportToDelete); try { _context.SaveChanges(); result.TargetObject = true; } catch (Exception exc) { result.HandleError(exc.Message); } return(result); } result.HandleError(ErrorMessagesDict.NotFoundResource); return(result); }
public ServiceSingleResult <Issue> GetIssue(int trackingNumber, string userId) { var result = new ServiceSingleResult <Issue>(); var issue = _accessService.GetAccessibleIssues(userId) .FirstOrDefault(i => i.IssueTrackingNumber == trackingNumber); if (issue != null) { result.TargetObject = issue; } else { result.HandleError(ErrorMessagesDict.AccessDenied); } return(result); }
public ServiceSingleResult <Issue> GetIssue(long issueId, string userId) { var result = new ServiceSingleResult <Issue>(); var issue = _accessService.GetAccessibleIssues(userId) .SingleOrDefault(i => i.Id == issueId); if (issue != null) { result.TargetObject = issue; } else { result.HandleError(ErrorMessagesDict.AccessDenied); } return(result); }
public ServiceSingleResult <bool> UpdateWorkItem(WorkItem item, string userId) { var result = new ServiceSingleResult <bool>(); if (item != null) { var itemToUpdate = GetWorkItemById(item.Id); if (itemToUpdate != null) { //check security var projUserRef = _accessService.GetAccessByWorkItem(itemToUpdate, userId); if (projUserRef == null || !Inspector.CanUserUpdateProject(projUserRef)) { result.HandleError(ErrorMessagesDict.AccessDenied); return(result); } if (!Inspector.IsValidWorkItemTime(item)) { result.HandleError(ErrorMessagesDict.WrongEstimatedTimeFormat); return(result); } _context.Entry(itemToUpdate).CurrentValues.SetValues(item); try { _context.SaveChanges(); result.TargetObject = true; } catch (Exception exc) { result.HandleError(exc.Message); } return(result); } result.HandleError(ErrorMessagesDict.NotFoundResource); return(result); } result.HandleError(ErrorMessagesDict.NullInstance); return(result); }
public ServiceSingleResult <bool> AddProject(Project project) { var result = new ServiceSingleResult <bool>(); if (project != null) { //check permission to create int nCreatedProjects = GetProjectsUserCreated(project.CreatorId).Count(); if (!Inspector.CanUserCreateProject(nCreatedProjects)) { result.HandleError(ErrorMessagesDict.TooMuchProjectsCreated); return(result); } //create user-project reference project.ProjectUsers.Add( new ProjectUserAccess { UserId = project.CreatorId, ProjectAccess = ProjectAccess.ProjectCreator, CanGrantAccess = true } ); //add project _context.Projects.Add(project); try { _context.SaveChanges(); result.TargetObject = true; } catch (Exception exc) { result.HandleError(exc.Message); } return(result); } result.HandleError(ErrorMessagesDict.NullInstance); return(result); }
public ServiceSingleResult <bool> UpdateIssue(Issue issue, string userId) { var result = new ServiceSingleResult <bool>(); if (issue != null) { var issueToUpdate = _context.Issues .SingleOrDefault(i => i.Id == issue.Id); if (issueToUpdate != null) { //check user access to the project var projUserRef = _accessService.GetAccessByIssue(issueToUpdate, userId); if (projUserRef == null || !Inspector.CanUserUpdateProject(projUserRef)) { result.HandleError(ErrorMessagesDict.AccessDenied); return(result); } _context.Entry(issueToUpdate).CurrentValues.SetValues(issue); try { _context.SaveChanges(); result.TargetObject = true; } catch (Exception exc) { result.HandleError(exc.Message); } return(result); } result.HandleError(ErrorMessagesDict.NotFoundResource); return(result); } result.HandleError(ErrorMessagesDict.NullInstance); return(result); }
public ServiceSingleResult <bool> UpdateReport(Report report, string userId) { var result = new ServiceSingleResult <bool>(); if (report != null) { var reportToUpdate = GetReportById(report.Id); if (reportToUpdate != null) { //check security var projUserRef = _accessService.GetAccessByReport(reportToUpdate, userId); if (projUserRef == null || !Inspector.CanUserUpdateReport(projUserRef, reportToUpdate, userId)) { result.HandleError(ErrorMessagesDict.AccessDenied); return(result); } _context.Entry(reportToUpdate).CurrentValues.SetValues(report); try { _context.SaveChanges(); result.TargetObject = true; } catch (Exception exc) { result.HandleError(exc.Message); } return(result); } result.HandleError(ErrorMessagesDict.NotFoundResource); return(result); } result.HandleError(ErrorMessagesDict.NullInstance); return(result); }
public ServiceSingleResult <Project> GetProject(string projectName, string userId) { var result = new ServiceSingleResult <Project>(); var project = _context.Projects .SingleOrDefault(p => p.Name == projectName); if (project == null) { result.HandleError(ErrorMessagesDict.NotFoundResource); return(result); } //check user access if (_accessService.GetAccessByProject(project.Id, userId) != null) { result.TargetObject = project; return(result); } result.HandleError(ErrorMessagesDict.AccessDenied); return(result); }
public ServiceSingleResult <bool> UpdateProject(Project project, string userId) { var result = new ServiceSingleResult <bool>(); if (project != null) { var projectToUpdate = _context.Projects .SingleOrDefault(p => p.Id == project.Id); if (projectToUpdate != null) { //check permission for editiing project info var projUserRef = _accessService.GetAccessByProject(projectToUpdate.Id, userId); if (projUserRef == null || !Inspector.CanUserUpdateProject(projUserRef)) { result.HandleError(ErrorMessagesDict.AccessDenied); return(result); } _context.Entry(projectToUpdate).CurrentValues.SetValues(project); try { _context.SaveChanges(); result.TargetObject = true; } catch (Exception exc) { result.HandleError(exc.Message); } return(result); } result.HandleError(ErrorMessagesDict.NotFoundResource); return(result); } result.HandleError(ErrorMessagesDict.NullInstance); return(result); }