Skip to content

carlosItDevelop/VelzonMdnaTpl

Repository files navigation

Estrutura (informal) do Projeto GeneralLabSolutions:

Visão Geral

O GeneralLabSolutions é uma aplicação desenvolvida para informatizar e automatizar os principais processos de uma empresa de importação e exportação de maquinários e itens de laboratório, operando através de dropshipping. O sistema é projetado para permitir que o dono da empresa gerencie todas as' operações de maneira eficiente, automatizando tarefas manuais e gerando relatórios detalhados para a tomada de decisões.

Objetivos do Projeto

  1. Automatizar processos comerciais como vendas, compras, orçamentos e pedidos.
  2. Fornecer ferramentas analíticas para ajudar na gestão da empresa.
  3. Facilitar a comunicação e o relacionamento com clientes e fornecedores.
  4. Gerenciar tarefas e atividades dos vendedores e outros funcionários.
  5. Implementar um controle financeiro eficiente com geração automatizada de notas fiscais e relatórios financeiros.

CodeBase

  • Nossa classe de Produto:
using GeneralLabSolutions.Domain.Entities.Base;
using GeneralLabSolutions.Domain.Enums;

namespace GeneralLabSolutions.Domain.Entities
{
    public class Produto : EntityBase
	{
		public Produto(string? codigo, 
					   string? descricao, 
					   string ncm, 
					   decimal valorUnitario, 
					   Guid categoriaId, 
					   Guid fornecedorId)
		{
			Codigo = codigo;
			Descricao = descricao;
			Ncm = ncm;
			ValorUnitario = valorUnitario;
			CategoriaId = categoriaId;
			FornecedorId = fornecedorId;
		}

		// EF
		public Produto() { }

		public string? Codigo { get; init; }
		public string? Descricao { get; private set; }
		public string? Ncm { get; private set; }
		public decimal ValorUnitario { get; private set; }
		public StatusDoProtudo Status { get; set; } 
			= StatusDoProtudo.Ativo;

		public DateTime DataDeValidade { get; set; } = DateTime.UtcNow.AddMonths(10);
		public string Imagem { get; set; } = "/cooperchip/imagens/img-padrao.png";

        // Todo: Alterar Status para StatusDoProduto



        // Relacionamentos
        public Guid CategoriaId { get; private set; }
		public virtual CategoriaProduto? CategoriaProduto { get; set; }

		public Guid FornecedorId { get; private set; }
		public virtual Fornecedor? Fornecedor { get; set; }

		// Métodos de atualização
		public void AlterarValorUnitario(decimal novoValor) => this.ValorUnitario = novoValor;
		public void AlterarDescricao(string descricao) => this.Descricao = descricao;

		public void AlterarStatus(StatusDoProtudo status) => this.Status = status;
	}
}

Informação importante para Regras de Negócios:

A sigla "NCM" refere-se à Nomenclatura Comum do Mercosul, que é um código utilizado para classificar mercadorias de acordo com a sua natureza, com o objetivo de padronizar e facilitar as operações de comércio exterior dentro dos países que compõem o Mercosul. Este código é essencial para determinar a tributação, tanto de importação quanto de exportação, e para o controle aduaneiro.

No seu exemplo específico, o código "9027.90.99" é um código NCM que se refere a Instrumentos e aparelhos para análise física ou química, que não estão especificados em outros lugares. Este tipo de código é usado para classificar mercadorias de alta precisão, geralmente utilizadas em laboratórios ou processos industriais específicos.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published