コード例 #1
0
        public void Professional_Service_Update_Valid_Professional()
        {
            // Arrange
            var professionalBuilder = new ProfessionalBuilder(LocalNotification)
                                      .WithProfessionalId(1)
                                      .WithCode(Guid.Parse("1b92f96f-6a71-4655-a0b9-93c5f6ad9637"))
                                      .WithName("João da Silva")
                                      .WithPhone("15398264438")
                                      .WithEmail("*****@*****.**")
                                      .WithAddress(new Address("Rua do comercio 2", "1233", "APT 1234", new ZipCode("22888888")));

            // Act
            _profissionalService.UpdateProfessional(professionalBuilder);

            // Assert
            Assert.False(LocalNotification.HasNotification());
        }
コード例 #2
0
 public IHttpActionResult Put(Professional professional)
 {
     try
     {
         if (ModelState.IsValid)
         {
             return(Ok(_professionalService.UpdateProfessional(professional)));
         }
         else
         {
             return(StatusCode(HttpStatusCode.Forbidden));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.StackTrace));
     }
 }
コード例 #3
0
        public ProfessionalDto UpdateProfessional(ComposeKey <Guid, decimal> keys, ProfessionalDto professional)
        {
            var professionalId = keys.SecundaryKey;
            var code           = keys.PrimaryKey;

            if (professionalId <= 0)
            {
                RaiseNotification(nameof(professionalId));
            }

            if (code == Guid.Empty)
            {
                RaiseNotification(nameof(code));
            }

            if (professional == null)
            {
                RaiseNotification(nameof(professional));
            }

            if (Notification.HasNotification())
            {
                return(new ProfessionalDto());
            }

            var professionalBuilder = new ProfessionalBuilder(Notification)
                                      .WithProfessionalId(keys.SecundaryKey)
                                      .WithCode(keys.PrimaryKey)
                                      .WithName(professional.Name)
                                      .WithPhone(professional.Phone)
                                      .WithEmail(professional.Email)
                                      .WithAddress(professional.Address)
                                      .WithSpecialties(professional.Specialties.Select(s => new SpecialtyBuilder(Notification).WithId(s.Id).WithDescription(s.Description).Build()).ToList());

            _service.UpdateProfessional(professionalBuilder);

            professional.ProfessionalId = keys.SecundaryKey;
            professional.Code           = keys.PrimaryKey;
            return(professional);
        }