/// <summary>
        /// Cria um produto utilizando um retorno json
        /// </summary>
        /// <param name="json">The json.</param>
        /// <returns></returns>
        public static Produto MakeProdutoByJson(JsonSimulacao json)
        {
            Produto produto = new Produto();

            produto.Estrutura = MakeEstruturaByArray(json.Estrutura, json.Filial, json.Familia);

            produto.CustoEmbalagem            = json.CustoEmbalagem;
            produto.CustoEmbalagemPercent     = json.CustoEmbalagemPercent;
            produto.CustoIndustrial           = json.CustoIndustrial;
            produto.CustoOperacional          = json.CustoOperacional;
            produto.CustoTotalDoProduto       = json.CustoTotalDoProduto;
            produto.CustoTotalDoProdutoMargem = json.CustoTotalDoProdutoMargem;
            produto.Descricao            = json.Descricao;
            produto.DescricaoCCusto      = json.DescricaoCCusto;
            produto.DespesasOperacionais = json.DespesasOperacionais;
            produto.Familia     = json.Familia;
            produto.Filial      = json.Filial;
            produto.Formula     = json.Formula;
            produto.Id          = json.Id;
            produto.MargemLucro = json.MargemLucro;

            //produto.DespesasOperacionaisCalculada = json.DespesasOperacionaisCalculada;
            //produto.PrecoBase = json.PrecoBase;
            //produto.PrecoBaseIcm12 = json.PrecoBaseIcm12;
            //produto.PrecoBaseIcm18 = json.PrecoBaseIcm18;
            //produto.PrecoBaseIcm7 = json.PrecoBaseIcm7;
            produto.Rendimento  = json.Rendimento;
            produto.CentroCusto = json.CentroCusto;
            produto.Codigo      = json.Codigo;

            return(produto);
        }
        public JsonResult SalvarSimulacao(string json, string nome)
        {
            //Convert a string em obj Json
            JsonSimulacao jsonSimulacao = JsonConvert.DeserializeObject <JsonSimulacao>(json);

            if (jsonSimulacao.CustoTotalDoProduto == 0)
            {
                return(Json(new { success = false, menssage = "Não é possível salvar produto com Custo Total Zerado." }));
            }

            //Chama a factory para monta um produto

            Produto produto = SimulacaoFactory.MakeProdutoByJson(jsonSimulacao);


            produto.DataDeCriacao    = DateTime.Now;
            produto.UsuarioDeCriacao = (Usuario)Session["usuario"];
            produto.NomeDaSimulacao  = nome;

            produtoDAO.Save(produto);

            return(Json(new { success = true, menssage = "Simulacao Salva com sucesso!" }));
        }