예제 #1
0
        public JsonResult Cadastrar(NotaFiscal NotaFiscal, List <ItemNotaFiscalDto> ItensNotaFiscal)
        {
            try
            {
                string   SGDP         = NotaFiscal.SGDP;
                string   NrNotaFiscal = NotaFiscal.NrNotaFiscal;
                double   ValorTotal   = NotaFiscal.ValorTotal;
                string   ChaveAcesso  = NotaFiscal.ChaveAcesso;
                DateTime DataEmissao  = new DateTime(
                    int.Parse(NotaFiscal.DataEmissao.Substring(6, 4)),
                    int.Parse(NotaFiscal.DataEmissao.Substring(3, 2)),
                    int.Parse(NotaFiscal.DataEmissao.Substring(0, 2)));
                double PrecoMaximo = NotaFiscal.PrecoMaximo;
                double PrecoMedio  = NotaFiscal.PrecoMedio;

                DateTime DataConsultaANP;
                if (NotaFiscal.DataConsultaANP != null)
                {
                    DataConsultaANP = new DateTime(
                        int.Parse(NotaFiscal.DataConsultaANP.Substring(6, 4)),
                        int.Parse(NotaFiscal.DataConsultaANP.Substring(3, 2)),
                        int.Parse(NotaFiscal.DataConsultaANP.Substring(0, 2)));
                }
                else
                {
                    DataConsultaANP = new DateTime(
                        int.Parse(NotaFiscal.DataEmissao.Substring(6, 4)),
                        int.Parse(NotaFiscal.DataEmissao.Substring(3, 2)),
                        int.Parse(NotaFiscal.DataEmissao.Substring(0, 2)));
                }

                string                   Veiculo            = NotaFiscal.Veiculo;
                string                   PlacaVeiculo       = NotaFiscal.PlacaVeiculo;
                string                   Combustivel        = NotaFiscal.Combustivel;
                double                   Quantidade         = NotaFiscal.Quantidade;
                double                   PrecoUnitario      = NotaFiscal.PrecoUnitario;
                int                      NumeroFolha        = NotaFiscal.NumeroFolha;
                int                      Departamento       = NotaFiscal.Departamento;
                List <string>            CuponsSelecionados = NotaFiscal.CuponsSelecionados;
                List <ItemNotaFiscalDto> itens = ItensNotaFiscal.Where(item => item.Quantidade > 0 &&
                                                                       item.ValorTotal > 0 && item.ValorUnitario > 0 && !string.IsNullOrWhiteSpace(item.Sgdp) &&
                                                                       !string.IsNullOrWhiteSpace(item.Produto)).ToList();

                CuponsSelecionados = CuponsSelecionados ?? new List <string>();

                notaFiscalService.CadastrarNotaFiscal(
                    NrNotaFiscal,
                    SGDP,
                    ValorTotal,
                    ChaveAcesso,
                    DataEmissao,
                    DataConsultaANP,
                    Veiculo,
                    PlacaVeiculo,
                    NumeroFolha,
                    Departamento,
                    CuponsSelecionados,
                    itens
                    );

                return(Json(new
                {
                    Sucesso = true,
                    Mensagem = "Sucesso ao cadastrar nota fiscal!",
                    DataGeracao = DateTime.Now
                }));
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    Error = ex.Message,
                    Mensagem = "Ocorreu um erro ao cadastrar a nota fiscal!"
                }));
            }
        }