Ejemplo n.º 1
0
        public decimal Grava_Nota_Entrada(Dictionary <string, object> dados)
        {
            using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext())
            {
                System.Data.Linq.Table <TB_NOTA_ENTRADA> Entidade = ctx.GetTable <TB_NOTA_ENTRADA>();

                TB_NOTA_ENTRADA novo = new TB_NOTA_ENTRADA();

                novo.NUMERO_NFE = Convert.ToDecimal(dados["NUMERO_NFE"]);
                novo.SERIE_NFE  = dados["SERIE_NFE"].ToString();

                novo.DATA_EMISSAO_NFE = Convert.ToDateTime(dados["DATA_EMISSAO_NFE"]);
                novo.DATA_CHEGADA_NFE = Convert.ToDateTime(dados["DATA_CHEGADA_NFE"]);

                novo.CODIGO_FORNECEDOR = Convert.ToDecimal(dados["CODIGO_FORNECEDOR"]);
                novo.CODIGO_CP_NFE     = Convert.ToDecimal(dados["CODIGO_CP_NFE"]);
                novo.GERA_COBRANCA_NFE = Convert.ToDecimal(dados["GERA_COBRANCA_NFE"]);
                novo.CODIGO_CFOP_NFE   = dados["CODIGO_CFOP_NFE"].ToString();

                novo.BASE_ICMS_NFE       = Convert.ToDecimal(dados["BASE_ICMS_NFE"]);
                novo.VALOR_ICMS_NFE      = Convert.ToDecimal(dados["VALOR_ICMS_NFE"]);
                novo.BASE_ICMS_SUBS_NFE  = Convert.ToDecimal(dados["BASE_ICMS_SUBS_NFE"]);
                novo.VALOR_ICMS_SUBS_NFE = Convert.ToDecimal(dados["VALOR_ICMS_SUBS_NFE"]);
                novo.TOTAL_PRODUTOS_NFE  = Convert.ToDecimal(dados["TOTAL_PRODUTOS_NFE"]);
                novo.VALOR_FRETE_NFE     = Convert.ToDecimal(dados["VALOR_FRETE_NFE"]);
                novo.VALOR_SEGURO_NFE    = Convert.ToDecimal(dados["VALOR_SEGURO_NFE"]);
                novo.OUTRAS_DESP_NFE     = Convert.ToDecimal(dados["OUTRAS_DESP_NFE"]);
                novo.TOTAL_IPI_NFE       = Convert.ToDecimal(dados["TOTAL_IPI_NFE"]);
                novo.TOTAL_NFE           = Convert.ToDecimal(dados["TOTAL_NFE"]);
                novo.OBS_NFE             = dados["OBS_NFE"].ToString();
                novo.CANCELADA_NFE       = 0;
                novo.FRETE_NFE           = Convert.ToDecimal(dados["FRETE_NFE"]);
                novo.STATUS_NFE          = 1;

                novo.PESO_LIQUIDO_NFE = Convert.ToDecimal(dados["PESO_LIQUIDO_NFE"]);
                novo.PESO_BRUTO_NFE   = Convert.ToDecimal(dados["PESO_BRUTO_NFE"]);

                novo.CODIGO_EMITENTE_NFE = ID_EMPRESA;

                Entidade.InsertOnSubmit(novo);

                Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), ID_USUARIO);

                ctx.SubmitChanges();

                return(novo.NUMERO_SEQ_NFE);
            }
        }
Ejemplo n.º 2
0
        public Dictionary <string, object> ReCalcula_Totais_Nota_Entrada(DataContext ctx, TB_NOTA_ENTRADA nota)
        {
            var queryItens = (from itens in ctx.GetTable <TB_ITEM_NOTA_ENTRADA>()
                              where itens.NUMERO_SEQ_NFE == _NUMERO_SEQ
                              select itens).ToList();

            decimal TOTAL_PRODUTOS_NFE = decimal.TryParse(queryItens.Sum(c => c.VALOR_TOTAL_ITEM_NFE).ToString(), out TOTAL_PRODUTOS_NFE) ?
                                         (decimal)queryItens.Sum(c => c.VALOR_TOTAL_ITEM_NFE) : 0;

            decimal TOTAL_IPI_NFE = decimal.TryParse(queryItens.Sum(c => c.VALOR_IPI_ITEM_NFE).ToString(), out TOTAL_IPI_NFE) ?
                                    (decimal)queryItens.Sum(c => c.VALOR_IPI_ITEM_NFE) : 0;

            decimal BASE_ICMS_NFE = decimal.TryParse(queryItens.Sum(c => c.BASE_ICMS_ITEM_NFE).ToString(), out BASE_ICMS_NFE) ?
                                    (decimal)queryItens.Sum(c => c.BASE_ICMS_ITEM_NFE) : 0;

            decimal VALOR_ICMS_NFE = decimal.TryParse(queryItens.Sum(c => c.VALOR_ICMS_ITEM_NFE).ToString(), out VALOR_ICMS_NFE) ?
                                     (decimal)queryItens.Sum(c => c.VALOR_ICMS_ITEM_NFE) : 0;

            decimal BASE_ICMS_SUBS_NFE = decimal.TryParse(queryItens.Sum(c => c.BASE_ICMS_SUBS_ITEM_NFE).ToString(), out BASE_ICMS_SUBS_NFE) ?
                                         (decimal)queryItens.Sum(c => c.BASE_ICMS_SUBS_ITEM_NFE) : 0;

            decimal VALOR_ICMS_SUBS_NFE = decimal.TryParse(queryItens.Sum(c => c.VALOR_ICMS_SUBS_ITEM_NFE).ToString(), out VALOR_ICMS_SUBS_NFE) ?
                                          (decimal)queryItens.Sum(c => c.VALOR_ICMS_SUBS_ITEM_NFE) : 0;

            decimal VALOR_FRETE_NFE  = 0;
            decimal OUTRAS_DESP_NFE  = 0;
            decimal VALOR_SEGURO_NFE = 0;

            VALOR_FRETE_NFE  = (decimal)nota.VALOR_FRETE_NFE;
            VALOR_SEGURO_NFE = (decimal)nota.VALOR_SEGURO_NFE;
            OUTRAS_DESP_NFE  = (decimal)nota.OUTRAS_DESP_NFE;

            decimal TOTAL_NFE = queryItens.First().TB_NOTA_ENTRADA.NAO_SOMAR_ICMS_ST_NO_TOTAL_NF == 1 ?
                                (TOTAL_PRODUTOS_NFE + TOTAL_IPI_NFE + VALOR_FRETE_NFE) :
                                (TOTAL_PRODUTOS_NFE + TOTAL_IPI_NFE + VALOR_ICMS_SUBS_NFE + VALOR_FRETE_NFE);

            Dictionary <string, object> retorno = new Dictionary <string, object>();

            retorno.Add("BASE_ICMS_NFE", BASE_ICMS_NFE);
            retorno.Add("VALOR_ICMS_NFE", VALOR_ICMS_NFE);
            retorno.Add("BASE_ICMS_SUBS_NFE", BASE_ICMS_SUBS_NFE);
            retorno.Add("VALOR_ICMS_SUBS_NFE", VALOR_ICMS_SUBS_NFE);
            retorno.Add("TOTAL_PRODUTOS_NFE", TOTAL_PRODUTOS_NFE);
            retorno.Add("TOTAL_IPI_NFE", TOTAL_IPI_NFE);
            retorno.Add("TOTAL_NFE", TOTAL_NFE);

            return(retorno);
        }