Example #1
0
        public async Task <IActionResult> UpdateRecordToDeseaseCard([FromQuery] int cardId, [FromBody] UpdateRecordToDeseaseCardModel deseaseRecord)
        {
            // ид карты == ид пациента
            Patient patient = await _db.Patients.FirstOrDefaultAsync(x => x.Id == cardId);

            if (patient == null)
            {
                return(NotFound("Не найдена такая карта"));
            }

            DeseaseCardRecord lastDeseaseRecord = patient.DeseaseCardRecords.FirstOrDefault(c => c.Id == patient.DeseaseCardRecords.Max(x => x.Id)); // последняя запись имеет наибольшую цифру в поле ид

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

            if (!string.IsNullOrWhiteSpace(deseaseRecord.Info))
            {
                lastDeseaseRecord.Info = deseaseRecord.Info;
            }
            if (!string.IsNullOrWhiteSpace(deseaseRecord.Recomendation))
            {
                lastDeseaseRecord.Recomendation = deseaseRecord.Recomendation;
            }

            await _db.SaveChangesAsync();

            return(Ok(new { success = true }));
        }
Example #2
0
        public async Task <IActionResult> AddRecordToDeseaseCard([FromQuery] int cardId, [FromBody] AddRecordToDeseaseCardModel deseaseRecord)
        {
            // ид карты == ид пациента
            Patient patien = await _db.Patients.FirstOrDefaultAsync(x => x.Id == cardId);

            if (patien == null)
            {
                return(NotFound("Не найдена такая карта"));
            }

            /* Тут доставали доктора по токену
             * // Получаем id пользователя из токена. Id туда попал при выдаче токена во время авторизации
             * var nameIdentifier = this.HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier);
             * int userId = int.Parse(nameIdentifier.Value);
             * // достаем доктора
             * Doctor doctor = await _db.Doctors.FirstOrDefaultAsync(x => x.Id == cardId);
             * if (doctor == null)
             * {
             *  return NotFound("Не найдена такой доктор");
             * }
             */

            // достаем доктора
            Doctor doctor = await _db.Doctors.FirstOrDefaultAsync(x => x.Id == deseaseRecord.DoctorId);

            if (doctor == null)
            {
                return(NotFound("Не найдена такой доктор"));
            }

            DeseaseCardRecord newDeseaseRecord = new DeseaseCardRecord()
            {
                Date    = deseaseRecord.Date,
                Info    = deseaseRecord.Info,
                Doctor  = doctor,
                Patient = patien
            };

            _db.DeseaseCards.Add(newDeseaseRecord);
            await _db.SaveChangesAsync();

            return(Ok(new { success = true }));
        }