Example #1
0
        public async Task SetDefectStatusAsync(int telegramId, int defectId, Status status)
        {
            var defect = await _defectRepository.GetDefectWithAssignedDefectByIdAsync(defectId);

            if (defect == null)
            {
                await SendMessageAsync(telegramId, DefectWasNotFound);
            }
            await UpdateDefect(defect, status);

            await TelegramBotEntity.Bot
            .SendTextMessageAsync(telegramId,
                                  StatusWasSuccessfullyChanged,
                                  replyMarkup : new ReplyKeyboardRemove());
        }
        public async Task <IActionResult> UpdateDefect([FromBody] DefectViewModel defectViewModel)
        {
            var defect = await _repo.GetDefectWithAssignedDefectByIdAsync(defectViewModel.Id);

            defect.Description           = defectViewModel.Description;
            defect.RoomNumber            = defectViewModel.RoomNumber;
            defect.AssignedDefect.Status = (Status)Enum.Parse(typeof(Status), defectViewModel.DefectStatus);

            var worker = await _userRepo.GetByIdAsync(defectViewModel.AssignedWorkerId);

            if (worker != null)
            {
                defect.AssignedDefect.AssignedWorker = worker;
                await _repo.UpdateAsync(defect);

                return(Ok());
            }
            return(BadRequest());
        }