示例#1
0
        /// <summary>
        /// Открывает страницу создания заявки
        /// </summary>
        /// <returns></returns>
        public ActionResult CreateCase()
        {
            try
            {
                ViewBag.GridName = "Создание заявки";
                ViewBag.Action   = "create";
                List <Team>     teamsList = _teamRepository.GetTeams().ToList();
                List <ListItem> listItems = new List <ListItem>();

                foreach (var team in teamsList)
                {
                    listItems.Add(new ListItem(team.Name, team.TeamId));
                }

                CreateEditCaseViewModel model = new CreateEditCaseViewModel()
                {
                    Case          = new Case(),
                    ListItems     = listItems,
                    ListItemValue = new ListItem()
                };


                return(View("CreateEditCase", model));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Index"));
            }
        }
示例#2
0
        /// <summary>
        /// Открывает страницу редактирования заявки для юзера бригады
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult EditTeamCase(string id)
        {
            string dateCloseCase = "";
            string timeCloseCase = "";

            Case caseInstance = _caseRepository.GetCases().FirstOrDefault(x => x.Id == int.Parse(id));

            List <ListItem> caseStatuses = CaseViewModel.CaseStatuses.Select(x => new ListItem(x.Value, x.Key)).ToList(); // Перегоняем статусы из словаря в перечислитель

            caseStatuses.RemoveAt(0);                                                                                     // Удаляем статус "Новая"

            var      caseStatus    = CaseViewModel.CaseStatuses.FirstOrDefault(x => x.Key == (Enums.CaseStatus)caseInstance.StatusId);
            ListItem listItemValue = caseInstance.StatusId == (int)Enums.CaseStatus.New ? new ListItem() : new ListItem(caseStatus.Value, caseStatus.Key);

            if (caseInstance.StatusId == (int)Enums.CaseStatus.Closed) // Если закрыта
            {
                dateCloseCase = caseInstance.DateTimeEnd.ToShortDateString();
                timeCloseCase = caseInstance.DateTimeEnd.ToShortTimeString();
            }

            CreateEditCaseViewModel model = new CreateEditCaseViewModel()
            {
                Case           = caseInstance,
                ListItems      = caseStatuses,
                ListItemValue  = listItemValue,
                DateClosedCase = dateCloseCase,
                TimeClosedCase = timeCloseCase
            };

            return(View(model));
        }
示例#3
0
        /// <summary>
        /// Открывает страницу редактирования заявки для секретаря
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult EditCase(string id)
        {
            ViewBag.GridName = "Редактирование заявки";
            ViewBag.Action   = "edit";
            List <Team>     teamsList = _teamRepository.GetTeams().ToList();
            List <ListItem> listItems = new List <ListItem>();

            foreach (var team in teamsList)
            {
                listItems.Add(new ListItem(team.Name, team.TeamId));
            }

            Case     caseInstance = _caseRepository.GetCases().FirstOrDefault(x => x.Id == int.Parse(id));
            Team     teamInstance = teamsList.FirstOrDefault(x => x.TeamId == caseInstance.TeamId);
            ListItem teamValue    = new ListItem(teamInstance.Name, teamInstance.TeamId);

            CreateEditCaseViewModel model = new CreateEditCaseViewModel()
            {
                Case          = _caseRepository.GetCases().FirstOrDefault(x => x.Id == int.Parse(id)),
                ListItems     = listItems,
                ListItemValue = teamValue
            };

            return(View("CreateEditCase", model));
        }
示例#4
0
        public ActionResult CreateCase(CreateEditCaseViewModel model, string team)
        {
            //_caseRepository.InsertCase(model.Case);
            if (!string.IsNullOrEmpty(team) && !string.IsNullOrEmpty(model.Case.Name) && !string.IsNullOrEmpty(model.Case.Description))
            {
                Team teamInstance = _teamRepository.GetTeamByName(team);
                model.Case.TeamId = teamInstance.TeamId;

                model.Case.StatusId = (int)Enums.CaseStatus.New;

                _caseRepository.InsertCase(model.Case);

                return(RedirectToAction("Index"));
            }
            else
            {
                return(null);
            }
        }
示例#5
0
        public ActionResult EditTeamCase(CreateEditCaseViewModel model)
        {
            Case caseInstance = _caseRepository.GetCases().FirstOrDefault(x => x.Id == model.Case.Id);

            if (!string.IsNullOrEmpty(model.DateClosedCase) && !string.IsNullOrEmpty(model.TimeClosedCase))
            {
                caseInstance.DateTimeEnd = Convert.ToDateTime(model.DateClosedCase + " " + model.TimeClosedCase);  // Дата закрытие заявки
            }

            if (!string.IsNullOrEmpty(model.SelectedListItem))
            {
                caseInstance.StatusId = (int)CaseViewModel.CaseStatuses.FirstOrDefault(x => x.Value.Equals(model.SelectedListItem)).Key; // Получаем id статуса заявки
            }

            caseInstance.Note = model.Case.Note;

            _caseRepository.UpdateCase(caseInstance);

            return(RedirectToAction("ShowTeamCases"));
        }
示例#6
0
        public ActionResult EditCase(CreateEditCaseViewModel model, string team)
        {
            Case caseInstance = _caseRepository.GetCases().FirstOrDefault(x => x.Id == model.Case.Id);

            if (!string.IsNullOrEmpty(team) && !string.IsNullOrEmpty(model.Case.Name) && !string.IsNullOrEmpty(model.Case.Description))
            {
                Team teamInstance = _teamRepository.GetTeamByName(team);
                caseInstance.TeamId = teamInstance.TeamId;

                caseInstance.Name        = model.Case.Name;
                caseInstance.Description = model.Case.Description;

                _caseRepository.UpdateCase(caseInstance);

                return(RedirectToAction("Index"));
            }
            else
            {
                return(null);
            }
        }