Exemple #1
0
        public string AlterarVenda(int ID, int CodigoProduto, string DescricaoProduto, string CPF, string RazaoSocial, int QuantidadeInicial, int QuantidadeFinal, double ValorTotal, string DataVenda)
        {
            int IdProduto  = classeProdutos.RetornaIdProduto(CodigoProduto);
            int IdCliente  = classeClientes.RetornaIdCliente(CPF);
            var MsgRetorno = "Cadastro Concluido com Êxito";
            //Se passar nas validações, insere no banco e retorna ok
            string ResultadoValidacao = (ValidarCamposVenda(DescricaoProduto, CPF, QuantidadeFinal, DataVenda, ValorTotal));

            //Se a validacao deu certo, pode inserir os dados no banco
            if (ResultadoValidacao == "ok")
            {
                //Força o separador do float como . para não dar erro na hora de inserir no banco
                string      CultureName = Thread.CurrentThread.CurrentCulture.Name;
                CultureInfo ci          = new CultureInfo(CultureName);
                if (ci.NumberFormat.NumberDecimalSeparator != ".")
                {
                    ci.NumberFormat.NumberDecimalSeparator = ".";
                    Thread.CurrentThread.CurrentCulture    = ci;
                }
                //Transforma quantidade em inteiro pra poder inserir no banco
                DateTime Data = Convert.ToDateTime(DataVenda);
                int      QuantidadeAlteracao = QuantidadeFinal - QuantidadeInicial;
                QuantidadeAlteracao = (classeProdutos.RetornaQuantidadeProduto(IdProduto) + QuantidadeAlteracao);
                try
                {
                    AbrirConexao();
                    RodarScript(
                        $"update vendas set data = convert(datetime, '{Data}', 103) , produto_id = '{IdProduto}' , cliente_id = '{IdCliente}', quantidade= '{QuantidadeFinal}', valor_total = '{ValorTotal}' where vendas.id ={ID}");
                    FecharConexao();
                    AbrirConexao();
                    RodarScript(
                        $"update produtos set quantidade = '{QuantidadeAlteracao}' where produtos.id ={IdProduto}");
                    FecharConexao();
                }
                //Se gerar erro, a função retorna o erro gerado.
                catch (Exception MsgErro)
                {
                    //Se cair aqui, retorna o erro e sai da função
                    return(MsgErro.ToString());
                }

                //Se chegar até aqui, retorna OK.
                return(MsgRetorno);
            }

            //Não passou na validacao, retorna a mensagem
            return(ResultadoValidacao);
        }