private bool ClinicAlreadyInDb(AddClinicRequest request, ref PdrValidationResult result)
        {
            if (_context.Clinic.Any(x => x.Name == request.Name))
            {
                result.PassedValidation = false;
                result.Errors.Add("A clinic with that name already exists");
                return(true);
            }

            return(false);
        }
Ejemplo n.º 2
0
 public IActionResult AddClinic(AddClinicRequest request)
 {
     try
     {
         _clinicService.AddClinic(request);
         return(Ok());
     }
     catch (ArgumentException ex)
     {
         return(BadRequest(ex.Message));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, ex));
     }
 }
        public PdrValidationResult ValidateRequest(AddClinicRequest request)
        {
            var result = new PdrValidationResult(true);

            if (MissingRequiredFields(request, ref result))
            {
                return(result);
            }

            if (ClinicAlreadyInDb(request, ref result))
            {
                return(result);
            }

            return(result);
        }
        public bool MissingRequiredFields(AddClinicRequest request, ref PdrValidationResult result)
        {
            var errors = new List <string>();

            if (string.IsNullOrEmpty(request.Name))
            {
                errors.Add("Name must be populated");
            }

            if (errors.Any())
            {
                result.PassedValidation = false;
                result.Errors.AddRange(errors);
                return(true);
            }

            return(false);
        }
Ejemplo n.º 5
0
        public void AddClinic(AddClinicRequest request)
        {
            var validationResult = _validator.ValidateRequest(request);

            if (!validationResult.PassedValidation)
            {
                throw new ArgumentException(validationResult.Errors.First());
            }

            _context.Clinic.Add(new Clinic
            {
                Name        = request.Name,
                SurgeryType = request.SurgeryType,
                Patients    = new List <Patient>()
            });

            _context.SaveChanges();
        }