public Resultado Contable_TipoDocumento_Editar(DTO.Contable.TipoDocumento.Editar ficha) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { var ent = ctx.contabilidad_tipo_documento.Find(ficha.Id); if (ent == null) { result.Mensaje = "[ ID ] DOCUMENTO NO ENCONTRADO"; result.Result = DTO.EnumResult.isError; return(result); } ent.descripcion = ficha.Descripcion; ctx.SaveChanges(); ts.Complete(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado Compras_Compra_ActualizarData(DTO.Compras.Compra.ActualizarData ficha) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { var ent = ctx.compras.Find(ficha.AutoDocumento); if (ent == null) { result.Mensaje = "[ ID ] DOCUMENTO NO ENCONTRADO"; result.Result = DTO.EnumResult.isError; return(result); } ent.auto_concepto = ficha.AutoCalificativo; ctx.SaveChanges(); ts.Complete(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public ResultadoId Contable_TipoDocumento_Insertar(DTO.Contable.TipoDocumento.Insertar ficha) { var result = new ResultadoId(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { var ent = new contabilidad_tipo_documento() { descripcion = ficha.Descripcion, }; ctx.contabilidad_tipo_documento.Add(ent); ctx.SaveChanges(); ts.Complete(); result.Id = ent.id; } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; result.Id = -1; } return(result); }
public DTO.Resultado Contable_Configuracion_CuentaCierre_Editar(DTO.Contable.Configuracion.EditarCtasCierre ficha) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { if (ficha.IdCtaCierreMes != -1) { var det = ctx.contabilidad_configuracion.Find(1); if (det == null) { result.Mensaje = "[ CONFIGURACION ] NO ENCONTRADA"; result.Result = EnumResult.isError; } det.idCtaResultadoMes = ficha.IdCtaCierreMes; ctx.SaveChanges(); } ts.Complete(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado Contable_Asiento_Anular_Preview(int idAsiento) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { var ent = ctx.contabilidad_asiento.Find(idAsiento); ent.estaAnulado = "S"; ctx.SaveChanges(); ts.Complete(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado InsertarContableBancoConceptos() { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { var entLista = ctx.bancos_movimientos_conceptos.ToList(); foreach (var cp in entLista) { var r = 0; var ent = new contabilidad_banco_conceptos { idCtaPasivo = -1, idCtaGasto = -1, idCtaBanco = -1, autoMovimientoConcepto = cp.auto }; if (cp.idPlanCta.HasValue) { ent.idCtaGasto = cp.idPlanCta.Value; r = 1; } if (cp.idPlanCtaPago.HasValue) { ent.idCtaPasivo = cp.idPlanCtaPago.Value; r = 1; } if (r == 1) { ctx.contabilidad_banco_conceptos.Add(ent); ctx.SaveChanges(); } } ts.Complete(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado AsignarProductoDeposito(string idDeposito) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = ctx.Database.BeginTransaction()) { var list = ctx.productos_deposito.Where(pd => pd.auto_deposito != idDeposito).Select(s => s.productos).Distinct().ToList(); var xit = 0; var listPrdDep = new List <productos_deposito>(); foreach (var it in list) { var prdDep = new productos_deposito() { auto_producto = it.auto, auto_deposito = idDeposito, fisica = 0.0m, reservada = 0.0m, disponible = 0.0m, ubicacion_1 = "", ubicacion_2 = "", ubicacion_3 = "", ubicacion_4 = "", nivel_minimo = 0.0m, nivel_optimo = 0.0m, pto_pedido = 0.0m }; xit += 1; listPrdDep.Add(prdDep); } ctx.productos_deposito.AddRange(listPrdDep); ctx.SaveChanges(); ts.Commit(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public ResultadoId Contable_PlanCta_Insertar(DTO.Contable.PlanCta.Insertar insertar) { var result = new ResultadoId(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { var naturaleza = insertar.Naturaleza == DTO.Contable.PlanCta.Enumerados.Naturaleza.Deudora ? "D" : "A"; var estado = insertar.Estado == DTO.Contable.PlanCta.Enumerados.EstadoSituacion.Financiero ? "1" : "2"; var tipo = insertar.Tipo == DTO.Contable.PlanCta.Enumerados.Tipo.Auxiliar ? "1" : "2"; var ent = new contabilidad_plancta() { codigo = insertar.Codigo, descripcion = insertar.Nombre, naturaleza = naturaleza, tipo = tipo, estado = estado, nivel = insertar.Nivel, }; if (insertar.IdCtaPadre == -1) { ent.idPadre = null; } else { ent.idPadre = insertar.IdCtaPadre; } ctx.contabilidad_plancta.Add(ent); ctx.SaveChanges(); ts.Complete(); result.Id = ent.id; } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; result.Id = -1; } return(result); }
public Resultado Contable_PlanCta_AsignarCtaPadre(int idCta, int idPadre, int nivel) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { var ent = ctx.contabilidad_plancta.Find(idCta); if (ent == null) { result.Mensaje = "[ ID ] CUENTA NO ENCONTRADO"; result.Result = DTO.EnumResult.isError; return(result); } if (idPadre == -1) { ent.idPadre = null; ent.nivel = 1; } else { ent.idPadre = idPadre; ent.nivel = nivel; } ctx.SaveChanges(); ts.Complete(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado Contable_TipoDocumento_Eliminar(DTO.Contable.TipoDocumento.Eliminar ficha) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { var ent = ctx.contabilidad_tipo_documento.Find(ficha.Id); ctx.contabilidad_tipo_documento.Remove(ent); ctx.SaveChanges(); } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado Contable_PlanCta_Eliminar(int id) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { var ent = ctx.contabilidad_plancta.Find(id); ctx.contabilidad_plancta.Remove(ent); ctx.SaveChanges(); } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado Contable_PlanCta_Editar(DTO.Contable.PlanCta.Editar editar) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { var naturaleza = editar.Naturaleza == DTO.Contable.PlanCta.Enumerados.Naturaleza.Deudora ? "D" : "A"; var estado = editar.Estado == DTO.Contable.PlanCta.Enumerados.EstadoSituacion.Financiero ? "1" : "2"; var tipo = editar.Tipo == DTO.Contable.PlanCta.Enumerados.Tipo.Auxiliar ? "1" : "2"; var ent = ctx.contabilidad_plancta.Find(editar.Id); if (ent == null) { result.Mensaje = "[ ID ] CUENTA NO ENCONTRADO"; result.Result = DTO.EnumResult.isError; return(result); } ent.descripcion = editar.Nombre; ent.naturaleza = naturaleza; ent.estado = estado; ent.tipo = tipo; ctx.SaveChanges(); ts.Complete(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado RestarInventario() { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { var list = ctx.productos_kardex_resumen.Where(d => d.auto_producto == "0000000008").ToList(); foreach (var it in list) { var prdDep = ctx.productos_deposito.FirstOrDefault(d => d.auto_producto == it.auto_producto && d.auto_deposito == "0000000001"); if (prdDep != null) { var fisica = prdDep.fisica; var dispon = prdDep.disponible; prdDep.fisica -= it.cnt; prdDep.disponible -= it.cnt; } ctx.SaveChanges(); } ts.Complete(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado Contable_Perido_Reversar(int IdPeriodoActual) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = ctx.Database.BeginTransaction()) { try { var entPeriodoActual = ctx.contabilidad_periodo.Find(IdPeriodoActual); if (entPeriodoActual == null) { result.Mensaje = "[ ID ] PERIODO NO ENCONTRADO"; result.Result = EnumResult.isError; return(result); } var entPeriodos = ctx.contabilidad_periodo.OrderByDescending(d => d.id).ToList(); if (entPeriodos.Count == 1) { result.Mensaje = "NO HAY PERIODOS QUE REVERSAR"; result.Result = EnumResult.isError; return(result); } var entPeriodoAnt = entPeriodos.Where(d => d.estatusCierre == "S").FirstOrDefault(); if (entPeriodoAnt == null) { result.Mensaje = "NO HAY PERIODO ANTERIOR A REVERSAR"; result.Result = EnumResult.isError; return(result); } var entCtas = ctx.contabilidad_plancta.ToList(); foreach (var r in entCtas) { r.debe = r.rdebe; r.haber = r.rhaber; r.debeAcumulado = r.rdebeAcumulado; r.haberAcumulado = r.rhaberAcumulado; r.saldoAnterior = r.rsaldoAnterior; r.saldoApertura = r.rsaldoApertura; ctx.SaveChanges(); } ctx.contabilidad_periodo.Remove(entPeriodoActual); entPeriodoAnt.estatusCierre = ""; entPeriodoAnt.utilidad = 0.0m; entPeriodoAnt.utilidad_acumulada = 0.0m; ctx.SaveChanges(); var entHistorico = ctx.contabilidad_historico.Where(d => d.mesHistorico == entPeriodoAnt.mes && d.anoHistorico == entPeriodoAnt.ano ).ToList(); ctx.Configuration.AutoDetectChangesEnabled = false; foreach (var r in entHistorico) { ctx.contabilidad_historico.Remove(r); ctx.SaveChanges(); } ts.Commit(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { ctx.Configuration.AutoDetectChangesEnabled = true; } } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado Contable_Integracion_Anular(int id) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = ctx.Database.BeginTransaction()) { var ent = ctx.contabilidad_integraciones.Find(id); ent.estaAnulado = "S"; ctx.SaveChanges(); var idAsiento = ent.idAsiento; var entAsiento = ctx.contabilidad_asiento.Find(idAsiento); entAsiento.estaAnulado = "S"; ctx.SaveChanges(); var list = ctx.contabilidad_asiento_resumen.Where(d => d.idAsiento == idAsiento).ToList(); foreach (var cta in list) { var mdebe = cta.montoDebe; var mhaber = cta.montoHaber; cta.contabilidad_plancta.debe -= cta.montoDebe; cta.contabilidad_plancta.haber -= cta.montoHaber; ctx.SaveChanges(); var nivel = cta.contabilidad_plancta.nivel; if (nivel >= 1) { var entNiv = cta.contabilidad_plancta; for (var nv = nivel; nv > 1; nv--) { entNiv = entNiv.contabilidad_plancta2; entNiv.debe -= mdebe; entNiv.haber -= mhaber; ctx.SaveChanges(); } } } var doc = ctx.contabilidad_asiento_docadm.Where(d => d.idAsiento == idAsiento).ToList(); foreach (var it in doc) { var tipDoc = (DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento)it.tipoDoc; if (tipDoc == DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.Venta) { var entVenta = ctx.ventas.Find(it.autoDoc); entVenta.estatus_cierre_contable = "0"; ctx.SaveChanges(); } if (tipDoc == DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.Compra) { var entCompra = ctx.compras.Find(it.autoDoc); entCompra.estatus_cierre_contable = "0"; ctx.SaveChanges(); } if (tipDoc == DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.MovBanco) { var entMovBanco = ctx.bancos_movimientos.Find(it.autoDoc); entMovBanco.estatus_cierre_contable = "0"; ctx.SaveChanges(); } if (tipDoc == DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.InvAjuste || tipDoc == DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.InvAjustePorCargo || tipDoc == DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.InvAjustePorDescargo || tipDoc == DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.InvAutoConsumo || tipDoc == DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.InvCargo) { var entMovInv = ctx.productos_movimientos.Find(it.autoDoc); entMovInv.estatus_cierre_contable = "0"; ctx.SaveChanges(); } if (tipDoc == DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.Pago) { var entRecPago = ctx.cxp_recibos.Find(it.autoDoc); var autoPago = entRecPago.auto_cxp; var entPago = ctx.cxp.Find(autoPago); entPago.estatus_cierre_contable = "0"; ctx.SaveChanges(); } if (tipDoc == DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.RetencionIva || tipDoc == DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.RetencionIslr) { var entRetencion = ctx.compras_retenciones.Find(it.autoDoc); entRetencion.estatus_cierre_contable = "0"; ctx.SaveChanges(); } } ts.Commit(); } } } catch (DbEntityValidationException e) { var ms = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { ms += ve.ErrorMessage + Environment.NewLine; } } result.Mensaje = ms; result.Result = DTO.EnumResult.isError; } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado Banco_Concepto_Actualizar(DTO.Bancos.Conceptos.Actualizar ficha) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { var entBanConcepto = ctx.bancos_movimientos_conceptos.Find(ficha.AutoConcepto); if (entBanConcepto == null) { result.Mensaje = "[ ID ] CONCEPTO NO ENCONTRADO"; result.Result = EnumResult.isError; return(result); } if (ficha.IdCtaGasto != -1) { var entCtaGasto = ctx.contabilidad_plancta.Find(ficha.IdCtaGasto); if (entCtaGasto == null) { result.Mensaje = "[ ID CTA GASTO ] NO ENCONTRADO"; result.Result = EnumResult.isError; return(result); } } if (ficha.IdCtaPasivo != -1) { var entCtaPasivo = ctx.contabilidad_plancta.Find(ficha.IdCtaPasivo); if (entCtaPasivo == null) { result.Mensaje = "[ ID CTA PASIVO ] NO ENCONTRADO"; result.Result = EnumResult.isError; return(result); } } if (ficha.IdCtaBanco != -1) { var entCtaBanco = ctx.contabilidad_plancta.Find(ficha.IdCtaBanco); if (entCtaBanco == null) { result.Mensaje = "[ ID CTA BANCO ] NO ENCONTRADO"; result.Result = EnumResult.isError; return(result); } } var entContBanConcepto = ctx.contabilidad_banco_conceptos.FirstOrDefault(ct => ct.autoMovimientoConcepto == ficha.AutoConcepto); if (entContBanConcepto == null) { entContBanConcepto = new contabilidad_banco_conceptos() { autoMovimientoConcepto = ficha.AutoConcepto, idCtaGasto = ficha.IdCtaGasto, idCtaPasivo = ficha.IdCtaPasivo, idCtaBanco = ficha.IdCtaBanco, idSucursal = "", }; ctx.contabilidad_banco_conceptos.Add(entContBanConcepto); } else { entContBanConcepto.idCtaGasto = ficha.IdCtaGasto; entContBanConcepto.idCtaPasivo = ficha.IdCtaPasivo; entContBanConcepto.idCtaBanco = ficha.IdCtaBanco; } ctx.SaveChanges(); if (ficha.IdCtaBanco != -1) { var modoRef = entContBanConcepto.bancos_movimientos_conceptos.clase.Trim().ToUpper() == "EGRESO" ? "NDB" : "DEP"; var entRegla = ctx.contabilidad_reglas_integracion_detalle.FirstOrDefault(dt => dt.idPlanCta == ficha.IdCtaBanco && dt.referencia == modoRef && dt.idReglaIntegracion == 6); if (entRegla == null) { entRegla = new contabilidad_reglas_integracion_detalle() { idReglaIntegracion = 6, idPlanCta = ficha.IdCtaBanco, signo = -1, referencia = modoRef, idSucursal = 0, }; ctx.contabilidad_reglas_integracion_detalle.Add(entRegla); } else { entRegla.idPlanCta = ficha.IdCtaBanco; } ctx.SaveChanges(); } if (ficha.IdCtaPasivo != -1) { var entRegla = ctx.contabilidad_reglas_integracion_detalle.FirstOrDefault(dt => dt.idPlanCta == ficha.IdCtaPasivo && dt.referencia == "MONTO POR PAGAR" && dt.idReglaIntegracion == 2); if (entRegla == null) { entRegla = new contabilidad_reglas_integracion_detalle() { idReglaIntegracion = 2, idPlanCta = ficha.IdCtaPasivo, signo = -1, referencia = "MONTO POR PAGAR", idSucursal = 0, }; ctx.contabilidad_reglas_integracion_detalle.Add(entRegla); } else { entRegla.idPlanCta = ficha.IdCtaPasivo; } ctx.SaveChanges(); entRegla = ctx.contabilidad_reglas_integracion_detalle.FirstOrDefault(dt => dt.idPlanCta == ficha.IdCtaPasivo && dt.referencia == "MONTO PAGADO" && dt.idReglaIntegracion == 3); if (entRegla == null) { entRegla = new contabilidad_reglas_integracion_detalle() { idReglaIntegracion = 3, idPlanCta = ficha.IdCtaPasivo, signo = 1, referencia = "MONTO PAGADO", idSucursal = 0, }; ctx.contabilidad_reglas_integracion_detalle.Add(entRegla); } else { entRegla.idPlanCta = ficha.IdCtaPasivo; } ctx.SaveChanges(); } if (ficha.IdCtaGasto != -1) { var entRegla = ctx.contabilidad_reglas_integracion_detalle.FirstOrDefault(dt => dt.idPlanCta == ficha.IdCtaGasto && dt.referencia == "GASTO" && dt.idReglaIntegracion == 2); if (entRegla == null) { entRegla = new contabilidad_reglas_integracion_detalle() { idReglaIntegracion = 2, idPlanCta = ficha.IdCtaGasto, signo = 1, referencia = "GASTO", idSucursal = 0, }; ctx.contabilidad_reglas_integracion_detalle.Add(entRegla); } else { entRegla.idPlanCta = ficha.IdCtaGasto; } ctx.SaveChanges(); } ctx.SaveChanges(); ts.Complete(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado Bancos_Banco_Actualizar(DTO.Bancos.Banco.Actualizar ficha) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { //if (ficha.IdCtaContable.HasValue) //{ //} //else //{ // var entContBanco = ctx.contabilidad_banco.FirstOrDefault(b => b.auto_banco == ficha.AutoBanco); // ctx.contabilidad_banco.Remove(entContBanco); //} var entContBanco = ctx.contabilidad_banco.FirstOrDefault(b => b.auto_banco == ficha.AutoBanco); if (entContBanco == null) { entContBanco = new contabilidad_banco() { idPlanCta = ficha.IdCtaContable.Value, idPlanCta_IGTF = ficha.IdCtaIGTF.Value, auto_banco = ficha.AutoBanco, }; ctx.contabilidad_banco.Add(entContBanco); ctx.SaveChanges(); } else { var entReglaIntPago = ctx.contabilidad_reglas_integracion_detalle.FirstOrDefault(w => w.idReglaIntegracion == 3 && w.referencia.Trim().ToUpper() == "BANCO" && w.idPlanCta == entContBanco.idPlanCta); if (entReglaIntPago != null) { ctx.contabilidad_reglas_integracion_detalle.Remove(entReglaIntPago); ctx.SaveChanges(); } var entReglaIntBanco = ctx.contabilidad_reglas_integracion_detalle.FirstOrDefault(w => w.idReglaIntegracion == 6 && w.referencia.Trim().ToUpper() == "BANCO MOV" && w.idPlanCta == entContBanco.idPlanCta); if (entReglaIntBanco != null) { ctx.contabilidad_reglas_integracion_detalle.Remove(entReglaIntBanco); ctx.SaveChanges(); } entContBanco.idPlanCta = null; if (ficha.IdCtaContable.HasValue) { entContBanco.idPlanCta = ficha.IdCtaContable.Value; } entContBanco.idPlanCta_IGTF = null; if (ficha.IdCtaIGTF.HasValue) { entContBanco.idPlanCta_IGTF = ficha.IdCtaIGTF.Value; } ctx.SaveChanges(); if (ficha.IdCtaContable.HasValue) { entContBanco.idPlanCta = ficha.IdCtaContable.Value; } if (ficha.IdCtaIGTF.HasValue) { entContBanco.idPlanCta_IGTF = ficha.IdCtaIGTF.Value; } ctx.SaveChanges(); } if (ficha.IdCtaContable.HasValue) { var reglaPago = new contabilidad_reglas_integracion_detalle() { idReglaIntegracion = 3, idPlanCta = ficha.IdCtaContable.Value, signo = -1, referencia = "BANCO", idSucursal = 0, }; ctx.contabilidad_reglas_integracion_detalle.Add(reglaPago); ctx.SaveChanges(); var reglaBanco = new contabilidad_reglas_integracion_detalle() { idReglaIntegracion = 6, idPlanCta = ficha.IdCtaContable.Value, signo = 1, referencia = "BANCO MOV", idSucursal = 0, }; ctx.contabilidad_reglas_integracion_detalle.Add(reglaBanco); ctx.SaveChanges(); } ctx.SaveChanges(); ts.Complete(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado Contable_Asiento_Anular(int idAsiento) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = ctx.Database.BeginTransaction()) { try { var ent = ctx.contabilidad_asiento.Find(idAsiento); ent.estaAnulado = "S"; ctx.SaveChanges(); var list = ctx.contabilidad_asiento_detalle.Where(d => d.idAsiento == idAsiento).ToList(); foreach (var cta in list) { cta.contabilidad_plancta.debe -= cta.montoDebe; cta.contabilidad_plancta.haber -= cta.montoHaber; ctx.SaveChanges(); var debe = cta.montoDebe; var haber = cta.montoHaber; var entDt = cta.contabilidad_plancta; var nivel = entDt.nivel; if (nivel >= 1) { var entNiv = entDt; for (var nv = nivel; nv > 1; nv--) { entNiv = entNiv.contabilidad_plancta2; entNiv.debe -= debe; entNiv.haber -= haber; ctx.SaveChanges(); } } } ts.Commit(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { ctx.Configuration.AutoDetectChangesEnabled = true; } } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public ResultadoId Contable_Asiento_Editar(DTO.Contable.Asiento.Insertar ficha) { ResultadoId result = new ResultadoId(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = ctx.Database.BeginTransaction()) { try { var FechaSistema = ctx.Database.SqlQuery <DateTime>("select NOW()").FirstOrDefault(); var entA = ctx.contabilidad_asiento.Find(ficha.IdAsientoEditado); var entADoc = ctx.contabilidad_asiento_documento.Where(d => d.idAsiento == ficha.IdAsientoEditado).ToList(); var entADet = ctx.contabilidad_asiento_detalle.Where(d => d.idAsiento == ficha.IdAsientoEditado).ToList(); var entARes = ctx.contabilidad_asiento_resumen.Where(d => d.idAsiento == ficha.IdAsientoEditado).ToList(); int cnt = entA.numeroComprobante; foreach (var rs in entARes) { ctx.contabilidad_asiento_resumen.Remove(rs); ctx.SaveChanges(); } foreach (var dt in entADet) { var debe = dt.montoDebe; var haber = dt.montoHaber; var entDt = dt.contabilidad_plancta; var nivel = entDt.nivel; entDt.debe -= debe; entDt.haber -= haber; ctx.SaveChanges(); if (nivel >= 1) { var entNiv = entDt; for (var nv = nivel; nv > 1; nv--) { entNiv = entNiv.contabilidad_plancta2; entNiv.debe -= debe; entNiv.haber -= haber; ctx.SaveChanges(); } } ctx.contabilidad_asiento_detalle.Remove(dt); } foreach (var doc in entADoc) { ctx.contabilidad_asiento_documento.Remove(doc); } ctx.contabilidad_asiento.Remove(entA); // var ent = new contabilidad_asiento() { fechaEmision = FechaSistema.Date, mesRelacion = ficha.PeriodoMes, anoRelacion = ficha.PeriodoAno, descripcion = ficha.DescripcionDocumentoRef, tipoAsiento = (int)ficha.TipoAsiento, autoGenerado = "N", estaAnulado = "N", estaProcesado = "S", numeroComprobante = cnt, renglones = 1, tipoDocumento = ficha.DescTipoDocumento, idTipoDocumento = ficha.IdTipoDocumento, reglaIntegracionCod = "", reglaIntegracionDesc = "", importe = ficha.Importe }; ctx.contabilidad_asiento.Add(ent); ctx.SaveChanges(); var entDoc = new contabilidad_asiento_documento() { idAsiento = ent.id, documento = ficha.DocumentoRef, fecha = ficha.FechaDocumentoRef, descripcion = ficha.DescripcionDocumentoRef, signo = 1, incluir = "S", }; ctx.contabilidad_asiento_documento.Add(entDoc); ctx.SaveChanges(); var reng = 0; foreach (var it in ficha.Ctas) { reng += 1; var entDet = new contabilidad_asiento_detalle() { idAsiento = ent.id, idAsientoDocumento = entDoc.id, idPlanCta = it.Id, numRenglon = reng, codigoCta = it.codigo, descripcionCta = it.Descripcion, montoDebe = it.MontoDebe, montoHaber = it.MontoHaber, naturalezaCta = (it.Naturaleza == DTO.Contable.PlanCta.Enumerados.Naturaleza.Deudora ? "D" : "A"), }; ctx.contabilidad_asiento_detalle.Add(entDet); ctx.SaveChanges(); var entAsientoResumen = new contabilidad_asiento_resumen() { idAsiento = ent.id, idPlanCta = it.Id, codigoCta = it.codigo, descripcionCta = it.Descripcion, montoDebe = it.MontoDebe, montoHaber = it.MontoHaber }; ctx.contabilidad_asiento_resumen.Add(entAsientoResumen); ctx.SaveChanges(); var entPlanCta = ctx.contabilidad_plancta.Find(it.Id); entPlanCta.debe += it.MontoDebe; entPlanCta.haber += it.MontoHaber; ctx.SaveChanges(); var nivel = entPlanCta.nivel; if (nivel >= 1) { var entNiv = entPlanCta; for (var nv = nivel; nv > 1; nv--) { entNiv = entNiv.contabilidad_plancta2; entNiv.debe += it.MontoDebe; entNiv.haber += it.MontoHaber; ctx.SaveChanges(); } } } ts.Commit(); result.Id = ent.id; } catch (Exception ex) { throw new Exception(ex.Message); } finally { ctx.Configuration.AutoDetectChangesEnabled = true; } } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; result.Id = -1; } return(result); }
public ResultadoId Contable_Asiento_Preview(DTO.Contable.Asiento.Insertar ficha) { ResultadoId result = new ResultadoId(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { var FechaSistema = ctx.Database.SqlQuery <DateTime>("select NOW()").FirstOrDefault(); int cnt = 0; if (ficha.IdAsientoPreview != -1) { var entA = ctx.contabilidad_asiento.Find(ficha.IdAsientoPreview); var entADoc = ctx.contabilidad_asiento_documento.Where(d => d.idAsiento == ficha.IdAsientoPreview).ToList(); var entADet = ctx.contabilidad_asiento_detalle.Where(d => d.idAsiento == ficha.IdAsientoPreview).ToList(); cnt = entA.numeroComprobante; foreach (var dt in entADet) { ctx.contabilidad_asiento_detalle.Remove(dt); ctx.SaveChanges(); } foreach (var doc in entADoc) { ctx.contabilidad_asiento_documento.Remove(doc); ctx.SaveChanges(); } ctx.contabilidad_asiento.Remove(entA); ctx.SaveChanges(); } else { var cont = ctx.contabilidad_contadores.Find(1); cont.cnt_aisento_preview += 1; cnt = cont.cnt_aisento_preview; ctx.SaveChanges(); } var ent = new contabilidad_asiento() { fechaEmision = FechaSistema.Date, mesRelacion = ficha.PeriodoMes, anoRelacion = ficha.PeriodoAno, descripcion = ficha.DescripcionDocumentoRef, tipoAsiento = (int)ficha.TipoAsiento, autoGenerado = "N", estaAnulado = "N", estaProcesado = "N", numeroComprobante = cnt, renglones = 1, tipoDocumento = ficha.DescTipoDocumento, idTipoDocumento = ficha.IdTipoDocumento, reglaIntegracionCod = "", reglaIntegracionDesc = "", importe = ficha.Importe }; ctx.contabilidad_asiento.Add(ent); ctx.SaveChanges(); var entDoc = new contabilidad_asiento_documento() { idAsiento = ent.id, documento = ficha.DocumentoRef, fecha = ficha.FechaDocumentoRef, descripcion = ficha.DescripcionDocumentoRef, signo = 1, incluir = "S", }; ctx.contabilidad_asiento_documento.Add(entDoc); ctx.SaveChanges(); var reng = 0; foreach (var it in ficha.Ctas) { reng += 1; var entDet = new contabilidad_asiento_detalle() { idAsiento = ent.id, idAsientoDocumento = entDoc.id, idPlanCta = it.Id, numRenglon = reng, codigoCta = it.codigo, descripcionCta = it.Descripcion, montoDebe = it.MontoDebe, montoHaber = it.MontoHaber, naturalezaCta = (it.Naturaleza == DTO.Contable.PlanCta.Enumerados.Naturaleza.Deudora ? "D" : "A"), }; ctx.contabilidad_asiento_detalle.Add(entDet); ctx.SaveChanges(); } ts.Complete(); result.Id = ent.id; } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; result.Id = -1; } return(result); }
public Resultado Contable_Perido_Cerrar(DTO.Contable.Periodo.Cerrar ficha) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = ctx.Database.BeginTransaction()) { try { var entListaHistorico = ctx.contabilidad_plancta.ToList(); ctx.Configuration.AutoDetectChangesEnabled = false; foreach (var r in entListaHistorico) { var entHist = new contabilidad_historico() { idCta = r.id, codigo = r.codigo, descripcion = r.descripcion, tipo = r.tipo, naturaleza = r.naturaleza, saldoAperura = r.saldoApertura, saldoAnterior = r.saldoAnterior, debe = r.debe, haber = r.haber, estado = r.estado, idPadre = r.idPadre, nivel = r.nivel, debeAcumulado = r.debeAcumulado, haberAcumulado = r.haberAcumulado, mesHistorico = ficha.MesActual, anoHistorico = ficha.AnoActual, }; ctx.contabilidad_historico.Add(entHist); ctx.SaveChanges(); } ctx.Configuration.AutoDetectChangesEnabled = true; var entPeriodo = ctx.contabilidad_periodo.Find(ficha.IdPeriodoActual); entPeriodo.estatusCierre = "S"; entPeriodo.utilidad = ficha.UtilidadPeriodo; entPeriodo.utilidad_acumulada = ficha.UtilidadAcumulada; ctx.SaveChanges(); var mes = ficha.MesActual; var ano = ficha.AnoActual; if (ficha.MesActual == 12) { mes = 1; ano = ano + 1; } else { mes += 1; } var entPeriodoNuevo = new contabilidad_periodo() { mes = mes, ano = ano, estatusCierre = "", }; ctx.contabilidad_periodo.Add(entPeriodoNuevo); ctx.SaveChanges(); var ent = ctx.contabilidad_plancta.ToList(); foreach (var r in ent) { // PARA REVERSO DEL CIERRE, SE GUARDA r.rdebe = r.debe; r.rhaber = r.haber; r.rdebeAcumulado = r.debeAcumulado; r.rhaberAcumulado = r.haberAcumulado; r.rsaldoAnterior = r.saldoAnterior; r.rsaldoApertura = r.saldoApertura; // ////LIMPIAR LAS CUENTAS REALES //r.debeAcumulado += r.debe; //r.haberAcumulado += r.haber; //if (r.codigo.Substring(0, 1) == "1" || r.codigo.Substring(0, 1) == "2" || r.codigo.Substring(0, 1) == "3") //{ // var saldoFinal = r.saldoAnterior + r.debe + r.haber; // r.saldoAnterior = saldoFinal; //} //r.debe = 0.0m; //r.haber = 0.0m; ////LIMPIAR LAS CUENTAS REALES //if (r.codigo.Substring(0, 1) == "1" || r.codigo.Substring(0, 1) == "2" || r.codigo.Substring(0, 1) == "3") //{ // //var saldoFinal = r.saldoAnterior + r.debe + r.haber; // //r.saldoAnterior = saldoFinal; //} //else //{ // r.debeAcumulado += r.debe; // r.haberAcumulado += r.haber; // r.debe = 0.0m; // r.haber = 0.0m; //} //LIMPIAR LAS CUENTAS REALES r.debeAcumulado += r.debe; r.haberAcumulado += r.haber; //var saldoFinal = r.saldoAnterior + r.debe + r.haber; var saldoFinal = r.saldoAnterior + (r.debe - r.haber); r.saldoAnterior = saldoFinal; r.debe = 0.0m; r.haber = 0.0m; ctx.SaveChanges(); } ////ASIGNAR UTILIDAD DEL PERIODO A LA CUENTA DE AJUSTE DEL PATRIMONIO //var entCtaCierre = ctx.contabilidad_plancta.Find(ficha.IdCtaCierre); //entCtaCierre.saldoAnterior += (ficha.UtilidadPeriodo * (-1)); //ctx.SaveChanges(); //var nivel = entCtaCierre.nivel; //if (nivel >= 1) //{ // var entNiv = entCtaCierre; // for (var nv = nivel; nv > 1; nv--) // { // entNiv = entNiv.contabilidad_plancta2; // entNiv.saldoAnterior += (ficha.UtilidadPeriodo * (-1)); // ctx.SaveChanges(); // } //} ts.Commit(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { ctx.Configuration.AutoDetectChangesEnabled = true; } } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }