diff --git a/CleanArchitecture/CleanArchitecture.Application/CleanArchitecture.Application.csproj b/CleanArchitecture/CleanArchitecture.Application/CleanArchitecture.Application.csproj
index 00f94ca..91ccfb2 100644
--- a/CleanArchitecture/CleanArchitecture.Application/CleanArchitecture.Application.csproj
+++ b/CleanArchitecture/CleanArchitecture.Application/CleanArchitecture.Application.csproj
@@ -11,6 +11,9 @@
+
+
+
diff --git a/CleanArchitecture/CleanArchitecture.Application/Features/Directors/Commands/CreateDirector/CreateDirectorCommand.cs b/CleanArchitecture/CleanArchitecture.Application/Features/Directors/Commands/CreateDirector/CreateDirectorCommand.cs
new file mode 100644
index 0000000..b0dd592
--- /dev/null
+++ b/CleanArchitecture/CleanArchitecture.Application/Features/Directors/Commands/CreateDirector/CreateDirectorCommand.cs
@@ -0,0 +1,11 @@
+using MediatR;
+
+namespace CleanArchitecture.Application.Features.Directors.Commands.CreateDirector
+{
+ public class CreateDirectorCommand: IRequest
+ {
+ public string Nombre { get; set; } = string.Empty;
+ public string Apellido { get; set; } = string.Empty;
+ public int VideoId { get; set; }
+ }
+}
diff --git a/CleanArchitecture/CleanArchitecture.Application/Features/Directors/Commands/CreateDirector/CreateDirectorCommandHandler.cs b/CleanArchitecture/CleanArchitecture.Application/Features/Directors/Commands/CreateDirector/CreateDirectorCommandHandler.cs
new file mode 100644
index 0000000..b6d3f0c
--- /dev/null
+++ b/CleanArchitecture/CleanArchitecture.Application/Features/Directors/Commands/CreateDirector/CreateDirectorCommandHandler.cs
@@ -0,0 +1,27 @@
+using AutoMapper;
+using CleanArchitecture.Application.Contracts.Persistence;
+using CleanArchitecture.Domain;
+using MediatR;
+using Microsoft.Extensions.Logging;
+
+namespace CleanArchitecture.Application.Features.Directors.Commands.CreateDirector
+{
+ public class CreateDirectorCommandHandler : IRequestHandler
+ {
+ private readonly ILogger logger;
+ private readonly IMapper mapper;
+ private readonly IUnitOfWork unitOfWork;
+
+ public CreateDirectorCommandHandler(ILogger logger, IMapper mapper, IUnitOfWork unitOfWork)
+ {
+ this.logger = logger;
+ this.mapper = mapper;
+ this.unitOfWork = unitOfWork;
+ }
+
+ public Task Handle(CreateDirectorCommand request, CancellationToken cancellationToken)
+ {
+ var directorEntity = mapper.Map(request);
+ }
+ }
+}
diff --git a/CleanArchitecture/CleanArchitecture.Application/Features/Directors/Commands/CreateDirector/CreateDirectorCommandValidator.cs b/CleanArchitecture/CleanArchitecture.Application/Features/Directors/Commands/CreateDirector/CreateDirectorCommandValidator.cs
new file mode 100644
index 0000000..68a3175
--- /dev/null
+++ b/CleanArchitecture/CleanArchitecture.Application/Features/Directors/Commands/CreateDirector/CreateDirectorCommandValidator.cs
@@ -0,0 +1,21 @@
+using CleanArchitecture.Application.Features.Streamers.Commands.CreateStreamer;
+using FluentValidation;
+
+namespace CleanArchitecture.Application.Features.Directors.Commands.CreateDirector
+{
+ public class CreateDirectorCommandValidator : AbstractValidator
+ {
+
+ public CreateDirectorCommandValidator()
+ {
+ RuleFor(p=>p.Nombre).NotEmpty().WithMessage("{Nombre} is required.")
+ .NotNull()
+ .MaximumLength(50).WithMessage("{Nombre} must not exceed 50 characters.");
+
+ RuleFor(p => p.Apellido)
+ .NotEmpty().WithMessage("{Apellido} is required.")
+ .NotNull()
+ .MaximumLength(100).WithMessage("{Apellido} must not exceed 50 characters.");
+ }
+ }
+}
diff --git a/CleanArchitecture/CleanArchitecture.Application/Mappings/MappingProfile.cs b/CleanArchitecture/CleanArchitecture.Application/Mappings/MappingProfile.cs
index 5092811..92119a5 100644
--- a/CleanArchitecture/CleanArchitecture.Application/Mappings/MappingProfile.cs
+++ b/CleanArchitecture/CleanArchitecture.Application/Mappings/MappingProfile.cs
@@ -1,4 +1,5 @@
using AutoMapper;
+using CleanArchitecture.Application.Features.Directors.Commands.CreateDirector;
using CleanArchitecture.Application.Features.Streamers.Commands.CreateStreamer;
using CleanArchitecture.Application.Features.Streamers.Commands.UpdateStreamer;
using CleanArchitecture.Application.Features.Videos.Queries.GetVideosList;
@@ -11,12 +12,24 @@ namespace CleanArchitecture.Application.Mappings
{
public MappingProfile()
{
- CreateMap