예제 #1
0
        public static void Main(string[] args)
        {
            ActorModel.Init();
            var service = new ReleaseService(new ReleaseProvider(), new TrackProvider());
            var command = new ReleaseCreateCommand("test artist", "test", "genre");

            service.CreateRelease(command);
            BuildWebHost(args).Run();
        }
예제 #2
0
        public static ValidationResult Validate(ReleaseCreateCommand cmd)
        {
            if (cmd != null && !string.IsNullOrEmpty(cmd.Artist) &&
                !string.IsNullOrEmpty(cmd.Genre) &&
                !string.IsNullOrEmpty(cmd.Title))
            {
                return(ValidationResult.Ok);
            }

            return(ValidationResult.ErrorOf("Release should have non empty fields"));
        }
예제 #3
0
        public string CreateRelease(ReleaseCreateCommand createRelease)
        {
            WithValidation(() => CommandValidator.Validate(createRelease));
            var releaseId      = Guid.NewGuid().ToString();
            var releaseCreated = new ReleaseCreated
            {
                ReleaseId = releaseId,
                Artist    = createRelease.Artist,
                Cover     = createRelease.Cover,
                Genre     = createRelease.Genre,
                OwnerId   = createRelease.OwnerId,
                Timestamp = createRelease.Timestamp,
                Title     = createRelease.Title
            };

            ActorModel.Tell(ActorModel.ReleasePapaPath, releaseCreated);
            return(releaseId);
        }
예제 #4
0
 public string CreateRelease([FromBody] ReleaseCreateCommand command)
 {
     return(_releaseService.CreateRelease(command));
 }