예제 #1
0
        public async Task<IHttpActionResult> PostMedication(MedicationBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }
            var medication = new Medication()
            {
                MedicationId = Guid.NewGuid(),
                GenericName = model.GenericName,
                Code = model.Code
            };

            try
            {
                if (MedicationExists(medication) == false)
                {
                    db.Medication.Add(medication);
                    await db.SaveChangesAsync();

                }
                else
                {
                    return BadRequest("The medication name or code already exists in the databae.");
                }
            }
            catch (DbUpdateException)
            {
                throw;
            }

            return Created("medications/" + medication.MedicationId, ToDto.MedicationToDto(medication));
        }
예제 #2
0
        private bool MedicationExists(Medication medication)
        {
            bool code_check = db.Medication.Count(e => e.Code == medication.Code) > 0;
            bool name_check = db.Medication.Count(e => e.GenericName == medication.GenericName) > 0;

            return (code_check || name_check);

        }
예제 #3
0
 public static MedicationDto MedicationToDto(Medication medication)
 {
     var medicationDto = new MedicationDto();
     medicationDto.InjectFrom(medication);
     return medicationDto;
 }