public IServiceResult Emprestar(TipoMidia tipoMidia, int midiaId, string possuinteNome, string possuinteFormaDeContato) { var possuinte = new Possuinte() { Nome = possuinteNome, FormaDeContato = possuinteFormaDeContato }; var emprestimo = new Emprestimo(possuinte) { EstaEmprestado = true }; switch (tipoMidia) { case TipoMidia.Livro: var updateResponseLivro = esClientProvider.Client.Update <Livro, object>(midiaId, u => u.Doc(new { emprestimo = emprestimo }).RetryOnConflict(1)); break; case TipoMidia.Cd: var updateResponseCd = esClientProvider.Client.Update <Cd, object>(midiaId, u => u.Doc(new { emprestimo = emprestimo }).RetryOnConflict(1)); break; case TipoMidia.Dvd: var updateResponseDvd = esClientProvider.Client.Update <Dvd, object>(midiaId, u => u.Doc(new { emprestimo = emprestimo }).RetryOnConflict(1)); break; default: return(ServiceResult.CriarFormularioInvalido(new List <string> { "Midia não informada" })); } return(ServiceResult.CreateResultOk()); }
public IServiceResult Devolver(TipoMidia tipoMidia, int midiaId) { if (tipoMidia == 0 || midiaId == 0) { return(ServiceResult.CriarFormularioInvalido(new List <string> { "Midia não informada" })); } var possuinte = new Possuinte() { Nome = string.Empty, FormaDeContato = string.Empty }; var emprestimo = new Emprestimo(possuinte) { EstaEmprestado = false }; switch (tipoMidia) { case TipoMidia.Livro: esClientProvider.Client.Update <Livro, object>(midiaId, u => u.Doc(new { emprestimo = emprestimo }).RetryOnConflict(1)); break; case TipoMidia.Cd: esClientProvider.Client.Update <Cd, object>(midiaId, u => u.Doc(new { emprestimo = emprestimo }).RetryOnConflict(1)); break; case TipoMidia.Dvd: esClientProvider.Client.Update <Dvd, object>(midiaId, u => u.Doc(new { emprestimo = emprestimo }).RetryOnConflict(1)); break; default: throw new Exception(); } return(ServiceResult.CreateResultOk()); }