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); } }
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); }