public ShellViewModel(IHubbClient hubbClient, IEventAggregator eventAggregator) { Issues = new IssuesViewModel(hubbClient, eventAggregator); Menu = new MenuViewModel(hubbClient, eventAggregator); Issues.ConductWith(this); Menu.ConductWith(this); }
public ActionResult Create(IssuesViewModel issueVM, HttpPostedFileBase upload) { var issue = new Issue() { UserId = User.Identity.GetUserId(), StartDate = DateTime.Now, EndDate = DateTime.Now, InventoryNumber = issueVM.InventoryNumber, State = 0, Rate = 1, Description = issueVM.Description, Title = issueVM.Title, TypeId = issueVM.TypeId }; if (ModelState.IsValid) { if (upload != null && upload.ContentLength > 0) { var attachment = new ReportAnIssue.Models.File { FileName = System.IO.Path.GetFileName(upload.FileName), ContentType = upload.ContentType }; using (var reader = new System.IO.BinaryReader(upload.InputStream)) { attachment.Content = reader.ReadBytes(upload.ContentLength); } db.Files.Add(attachment); db.SaveChanges(); issue.FileId = attachment.Id; } db.Issues.Add(issue); db.SaveChanges(); } var userMails = new List <string>(); var userId = User.Identity.GetUserId(); userMails.Add(db.Users.First(u => u.Id == userId).Email); var type = db.Types.First(t => t.Id == issue.TypeId); foreach (var user in type.Users) { userMails.Add(user.Email); } SendMail.InformUsers(userMails, issue, User.Identity.Name, "", 1); TempData["Success"] = "Dodano nową usterkę!"; return(RedirectToAction("Index", "Home")); }
public IssuesViewController(string user, string slug) { ViewModel = new IssuesViewModel(user, slug); BindCollection(ViewModel.Issues, CreateElement); NavigationItem.RightBarButtonItem = new UIBarButtonItem(NavigationButton.Create(Theme.CurrentTheme.AddButton, () => { var b = new IssueEditViewController(ViewModel.User, ViewModel.Slug) { Success = (issue) => ViewModel.CreateIssue(issue) }; NavigationController.PushViewController(b, true); })); ViewModel.Bind(x => x.IsLoading, Loading); }
// // GET: /jira/issues public ActionResult Issues(int page = 1, int[] priority = null, int[] status = null) { string jql = "project=" + Util.GetProjectKey(); if (priority != null) { jql += " AND priority in (" + String.Join(",", priority) + ")"; } if (status != null) { jql += " AND status in (" + String.Join(",", status) + ")"; } var model = new IssuesViewModel(); try { model.Issues = Client.GetIssuesByJql( jql, (page - 1) * ISSUES_PER_PAGE, ISSUES_PER_PAGE, new string[] { AnotherJiraRestClient.Issue.FIELD_SUMMARY, AnotherJiraRestClient.Issue.FIELD_STATUS, AnotherJiraRestClient.Issue.FIELD_DESCRIPTION, AnotherJiraRestClient.Issue.FIELD_PRIORITY, AnotherJiraRestClient.Issue.FIELD_ASSIGNEE, AnotherJiraRestClient.Issue.FIELD_CREATED, AnotherJiraRestClient.Issue.FIELD_REPORTER }); } catch (JiraApiException) { throw new HttpException(503, "Tjänsten är inte tillgänglig, kunde inte nå Jira."); } model.Priorities = Client.GetCachedPriorities(HttpContext); model.SelectedPriorities = priority; model.Statuses = Client.GetCachedStatuses(HttpContext); model.SelectedPriorities = status; model.Page = new Page( page, model.Issues.total / ISSUES_PER_PAGE + 1, (helper, pageNumber) => CreateIssuesUrl(helper, pageNumber, priority, status)); return(View(model)); }
public async Task <IActionResult> Index(SortState sortOrder = SortState.Column1, bool isDesc = true, bool filter = false) { IQueryable <IssueEntity> issues = _context.Issues.Include(i => i.CreatedBy); if (filter) { issues = issues.Where(i => i.CreatedBy.Login == User.Identity.Name); } switch (sortOrder) { case SortState.Column1: issues = isDesc ? issues.OrderByDescending(i => i.CreationDate) : issues.OrderBy(i => i.CreationDate); break; case SortState.Column2: issues = isDesc ? issues.OrderByDescending(i => i.ShortDescription) : issues.OrderBy(i => i.ShortDescription); break; case SortState.Column3: issues = isDesc ? issues.OrderByDescending(i => i.Status) : issues.OrderBy(i => i.Status); break; case SortState.Column4: issues = isDesc ? issues.OrderByDescending(i => i.Priority) : issues.OrderBy(i => i.Priority); break; case SortState.Column5: issues = isDesc ? issues.OrderByDescending(i => i.Urgency) : issues.OrderBy(i => i.Urgency); break; case SortState.Column6: issues = isDesc ? issues.OrderByDescending(i => i.CreatedBy.FullName) : issues.OrderBy(i => i.CreatedBy.FullName); break; default: throw new ArgumentOutOfRangeException(nameof(sortOrder), sortOrder, null); } var viewModel = new IssuesViewModel { Issues = await issues.ToListAsync(), SortModel = new IssueSortViewModel(sortOrder, isDesc, filter.ToString()), Caption = filter ? "Issues Created By You" : "All Issues" }; return(View(viewModel)); }
public IssuesViewModel Get(List <Issue> issues, Dictionary <string, Result> results) { var model = new IssuesViewModel(); foreach (var issue in issues) { var issueViewModel = new IssueViewModel(); issueViewModel.IssueDetails = issue; issueViewModel.Results = results[issue.Id]; model.Issues.Add(issueViewModel); } //sort issues by data return(model); }
public async Task <IActionResult> AddIssue(IssuesViewModel model) { Result result = new Result(); try { var userDept = HttpContext.Session.GetString(SessionHelper.USER_DEPT); var userId = HttpContext.Session.GetString(SessionHelper.USER_ID); var userRole = HttpContext.Session.GetString(SessionHelper.ROLES); var issue = _mapper.Map <IssueDTO>(model); result = await _datasetService.AddIssue(issue, userId, userDept, userRole); } catch (Exception e) { _logger.LogError("Error Exception on DeleteDataSet: " + e.Message.ToString()); } return(new EmptyResult()); }
public static ViewModelSection GetNewSection(ViewModels viewType, IServiceProvider _service) { ViewModelSection retView = null; switch (viewType) { case ViewModels.PlaneMeeting: retView = new PlaneMeetingViewModel(_service); retView.Name = "Інформація про засідання"; break; case ViewModels.Issues: retView = new IssuesViewModel(_service); retView.Name = "Огляд протоколів"; break; case ViewModels.ReqistryOfDecisions: retView = new RegistryViewModel(_service); retView.Name = "Реєстр рішень"; break; case ViewModels.Protocols: retView = new ProtocolsViewModel(_service); retView.Name = "Перелік протоколів"; break; case ViewModels.Filter: retView = new FilterViewModel(_service); retView.Name = "Фільтр"; break; case ViewModels.CreateMeeting: retView = new CreateMeetingViewModel(_service); retView.Name = "Планування нового засідання"; break; default: break; } return(retView); }
private ActionResult GetIssuesViewOrRedirectToOnlyIssueForum() { var websiteDataAdapter = new WebsiteDataAdapter(); var issueForums = websiteDataAdapter.SelectIssueForums().ToArray(); var issueForumCount = websiteDataAdapter.SelectIssueForumCount(); if (issueForums.Count() == 1) { return(RedirectToAction("Issues", new { issueForumPartialUrl = issueForums.First().PartialUrl })); } var issuesViewModel = new IssuesViewModel { IssueForums = issueForums, IssueForumCount = issueForumCount }; return(View("Issues", issuesViewModel)); }
public ActionResult Create() { if (User.Identity.OneTimePassword()) { return(RedirectToAction("ChangePassword", "Manage")); } var userId = User.Identity.GetUserId().ToString(); var notRated = db.Issues.Where(i => i.UserId == userId && i.State == 1).ToList(); if (notRated.Count > 1) { TempData["Fail"] = "W systemie istnieją usterki wykonane, ale nie zakończone. Przed dodaniem nowej usterki należy zamknąć poprzednie!"; return(RedirectToAction("Index", "Home")); } var issueVM = new IssuesViewModel(); issueVM.Types = db.Types.Select(c => new SelectListItem { Text = c.Name, Value = c.Id.ToString() }); return(View(issueVM)); }
private async Task <Response> GetIssues(IssueStatus status) { var issues = await IssuesService.GetAllAsync(); issues = await FilterIssuesAsync(issues, status == IssueStatus.ResolvedIssue); var issuesModels = issues as IssuesModel[] ?? issues.Where(x => x.IssueStatus == status).ToArray(); var viewModel = new List <IssuesViewModel>(); foreach (var i in issuesModels) { var model = new IssuesViewModel { Id = i.Id, RequestId = i.RequestId, Title = i.Title, Type = i.Type.ToString().ToCamelCaseWords(), Admin = Security.HasAnyPermissions(User, Permissions.Administrator, Permissions.ManageRequests) }; // Create a string with all of the current issue states with a "," delimiter in e.g. Wrong Content, Playback Issues var state = i.Issues.Select(x => x.Issue).ToArray(); var issueState = string.Empty; for (var j = 0; j < state.Length; j++) { var word = state[j].ToString().ToCamelCaseWords(); if (j != state.Length - 1) { issueState += $"{word}, "; } else { issueState += word; } } model.Issues = issueState; viewModel.Add(model); } return(Response.AsJson(viewModel)); }
public DeleteIssuesCommand(IssuesViewModel isVM, IIssueDataService issueDataService) { _isVM = isVM; _issueDataService = issueDataService; }
private IssueListViewModel IssuesIndex(bool isActive, bool deleted = false) { var issues = new IssueListViewModel(); List <Issue> issuesList = new List <Issue>(); var userId = User.Identity.GetUserId(); if (isActive) { issuesList = db.Issues.Where(i => i.State == 0 || i.State == 1).ToList(); } else if (!deleted) { issuesList = db.Issues.Where(i => i.State == 2).ToList(); } else { issuesList = db.Issues.Where(i => i.State == 3).ToList(); } if (!User.IsInRole("Admin")) { var filteredIssues = new List <Issue>(); if (User.IsInRole("ShowInformatics")) { filteredIssues.AddRange(issuesList.Where(i => i.TypeId == 1 && i.UserId != userId).ToList()); } if (User.IsInRole("ShowHydraulics")) { filteredIssues.AddRange(issuesList.Where(i => i.TypeId == 2 && i.UserId != userId).ToList()); } if (User.IsInRole("ShowElectrics")) { filteredIssues.AddRange(issuesList.Where(i => i.TypeId == 3 && i.UserId != userId).ToList()); } if (User.IsInRole("ShowBuilding")) { filteredIssues.AddRange(issuesList.Where(i => i.TypeId == 4 && i.UserId != userId).ToList()); } if (User.IsInRole("ShowOrdinal")) { filteredIssues.AddRange(issuesList.Where(i => i.TypeId == 5 && i.UserId != userId).ToList()); } if (User.IsInRole("ShowPhones")) { filteredIssues.AddRange(issuesList.Where(i => i.TypeId == 6 && i.UserId != userId).ToList()); } if (User.IsInRole("ShowResearch")) { filteredIssues.AddRange(issuesList.Where(i => i.TypeId == 7 && i.UserId != userId).ToList()); } if (User.IsInRole("ShowOthers")) { filteredIssues.AddRange(issuesList.Where(i => i.TypeId == 8 && i.UserId != userId).ToList()); } if (User.IsInRole("User")) { filteredIssues.AddRange(issuesList.Where(i => i.UserId == userId).ToList()); } issuesList.Clear(); issuesList.AddRange(filteredIssues); } if (issuesList.Count != 0) { foreach (var item in issuesList) { var model = new IssuesViewModel(); model.Id = item.Id; model.Title = item.Title; if (db.Users.Single(u => u.Id == item.UserId) != null) { model.userName = db.Users.Single(u => u.Id == item.UserId).UserName; } else { model.userName = "******"; } model.TypeId = item.TypeId; model.StartDate = item.StartDate; model.TimeElapsed = String.Format("{0:%d}d {0:%h}g {0:%m}m {0:%s}s", DateTime.Now - item.StartDate); model.InventoryNumber = item.InventoryNumber; issues.IssuesVM.Add(model); } } issues.Types = db.Types.Where(t => t.Active).Select(c => new SelectListItem { Text = c.Name, Value = c.Id.ToString() }); return(issues); }
public ActionResult Issues() { var model = new IssuesViewModel(); return(View(model)); }