| | 1 | | using Domain.Core.Aggreggates; |
| | 2 | | using Domain.Core.ValueObject; |
| | 3 | |
|
| | 4 | | namespace Domain.Entities; |
| | 5 | | public class Usuario : BaseDomain |
| | 6 | | { |
| 2604 | 7 | | public string Nome { get; set; } = String.Empty; |
| 2575 | 8 | | public string SobreNome { get; set; } = String.Empty; |
| 2589 | 9 | | public string Telefone { get; set; } = String.Empty; |
| 2616 | 10 | | public string Email { get; set; } = String.Empty; |
| 1077 | 11 | | public virtual StatusUsuario StatusUsuario { get; set; } |
| 2215 | 12 | | public virtual PerfilUsuario? PerfilUsuario { get; set; } |
| 5 | 13 | | public byte[]? Profile { get; set; } |
| | 14 | |
|
| 1256 | 15 | | public virtual IList<Categoria> Categorias { get; set; } = new List<Categoria>(); |
| | 16 | |
|
| | 17 | | public Usuario CreateUsuario(Usuario newUsuario) |
| 14 | 18 | | { |
| 14 | 19 | | IsValidUsuario(newUsuario.Nome, newUsuario.Email, newUsuario.Telefone); |
| 14 | 20 | | newUsuario.StatusUsuario = StatusUsuario.Ativo; |
| 14 | 21 | | newUsuario.PerfilUsuario = new PerfilUsuario(PerfilUsuario.Perfil.User); |
| | 22 | |
|
| 14 | 23 | | List<Categoria> defaultCategorias = new List<Categoria>(); |
| 14 | 24 | | defaultCategorias.Add(new Categoria |
| 14 | 25 | | { |
| 14 | 26 | | Descricao = "Alimentação", |
| 14 | 27 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa) |
| 14 | 28 | | }); |
| 14 | 29 | | defaultCategorias.Add(new Categoria |
| 14 | 30 | | { |
| 14 | 31 | | Descricao = "Casa", |
| 14 | 32 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa) |
| 14 | 33 | | }); |
| 14 | 34 | | defaultCategorias.Add(new Categoria |
| 14 | 35 | | { |
| 14 | 36 | | Descricao = "Serviços", |
| 14 | 37 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa) |
| 14 | 38 | | }); |
| 14 | 39 | | defaultCategorias.Add(new Categoria |
| 14 | 40 | | { |
| 14 | 41 | | Descricao = "Saúde", |
| 14 | 42 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa) |
| 14 | 43 | | }); |
| 14 | 44 | | defaultCategorias.Add(new Categoria |
| 14 | 45 | | { |
| 14 | 46 | | Descricao = "Imposto", |
| 14 | 47 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa) |
| 14 | 48 | | }); |
| 14 | 49 | | defaultCategorias.Add(new Categoria |
| 14 | 50 | | { |
| 14 | 51 | | Descricao = "Transporte", |
| 14 | 52 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa) |
| 14 | 53 | | }); |
| 14 | 54 | | defaultCategorias.Add(new Categoria |
| 14 | 55 | | { |
| 14 | 56 | | Descricao = "Lazer", |
| 14 | 57 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa) |
| 14 | 58 | | }); |
| 14 | 59 | | defaultCategorias.Add(new Categoria |
| 14 | 60 | | { |
| 14 | 61 | | Descricao = "Outros", |
| 14 | 62 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa) |
| 14 | 63 | | }); |
| | 64 | |
|
| 14 | 65 | | defaultCategorias.Add(new Categoria |
| 14 | 66 | | { |
| 14 | 67 | | Descricao = "Salário", |
| 14 | 68 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Receita) |
| 14 | 69 | | }); |
| 14 | 70 | | defaultCategorias.Add(new Categoria |
| 14 | 71 | | { |
| 14 | 72 | | Descricao = "Prêmio", |
| 14 | 73 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Receita) |
| 14 | 74 | | }); |
| 14 | 75 | | defaultCategorias.Add(new Categoria |
| 14 | 76 | | { |
| 14 | 77 | | Descricao = "Investimento", |
| 14 | 78 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Receita) |
| 14 | 79 | | }); |
| 14 | 80 | | defaultCategorias.Add(new Categoria |
| 14 | 81 | | { |
| 14 | 82 | | Descricao = "Benefício", |
| 14 | 83 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Receita) |
| 14 | 84 | | }); |
| 14 | 85 | | defaultCategorias.Add(new Categoria |
| 14 | 86 | | { |
| 14 | 87 | | Descricao = "Outros", |
| 14 | 88 | | TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Receita) |
| 14 | 89 | | }); |
| | 90 | |
|
| 14 | 91 | | newUsuario.Categorias = defaultCategorias; |
| 14 | 92 | | return newUsuario; |
| 14 | 93 | | } |
| | 94 | |
|
| | 95 | | private static void IsValidUsuario(string nome, string email, string telefone) |
| 14 | 96 | | { |
| 14 | 97 | | if (String.IsNullOrEmpty(nome) || String.IsNullOrWhiteSpace(nome)) |
| 0 | 98 | | throw new ArgumentException("Nome não pode ser em branco ou nulo."); |
| | 99 | |
|
| 14 | 100 | | if (String.IsNullOrEmpty(email) || String.IsNullOrWhiteSpace(email)) |
| 0 | 101 | | throw new ArgumentException("Email não pode ser em branco ou nulo."); |
| | 102 | |
|
| 14 | 103 | | } |
| | 104 | | } |