public cp_proveedor_Info get_info(int IdEmpresa, decimal IdProveedor) { try { cp_proveedor_Info info = new cp_proveedor_Info(); Entities_cuentas_por_pagar Context_p = new Entities_cuentas_por_pagar(); Entities_general Context_g = new Entities_general(); cp_proveedor Entity = Context_p.cp_proveedor.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdProveedor == IdProveedor); if (Entity == null) { return(null); } info = new cp_proveedor_Info { IdEmpresa = Entity.IdEmpresa, IdProveedor = Entity.IdProveedor, IdPersona = Entity.IdPersona, IdClaseProveedor = Entity.IdClaseProveedor, IdCiudad = Entity.IdCiudad, IdBanco_acreditacion = Entity.IdBanco_acreditacion, IdCtaCble_CXP = Entity.IdCtaCble_CXP, IdCtaCble_Gasto = Entity.IdCtaCble_Gasto, IdTipoCta_acreditacion_cat = Entity.IdTipoCta_acreditacion_cat, pr_contribuyenteEspecial_bool = Entity.pr_contribuyenteEspecial == "S" ? true : false, es_empresa_relacionada = Entity.es_empresa_relacionada, num_cta_acreditacion = Entity.num_cta_acreditacion, pr_codigo = Entity.pr_codigo, pr_plazo = Entity.pr_plazo, pr_estado = Entity.pr_estado, pr_correo = Entity.pr_correo, pr_direccion = Entity.pr_direccion, pr_telefonos = Entity.pr_telefonos, pr_celular = Entity.pr_celular, IdCtaCble_Anticipo = Entity.IdCtaCble_Anticipo }; tb_persona Entity_p = Context_g.tb_persona.Where(q => q.IdPersona == info.IdPersona).FirstOrDefault(); info.info_persona = new Info.General.tb_persona_Info { IdPersona = Entity_p.IdPersona, pe_apellido = Entity_p.pe_apellido, pe_nombre = Entity_p.pe_nombre, pe_cedulaRuc = Entity_p.pe_cedulaRuc, pe_nombreCompleto = Entity_p.pe_nombreCompleto, pe_razonSocial = Entity_p.pe_razonSocial, pe_Naturaleza = Entity_p.pe_Naturaleza, IdTipoDocumento = Entity_p.IdTipoDocumento }; Context_p.Dispose(); Context_g.Dispose(); return(info); } catch (Exception) { throw; } }
public List <cp_proveedor_Info> get_list(int IdEmpresa, int skip, int take, string filter) { try { List <cp_proveedor_Info> Lista = new List <cp_proveedor_Info>(); Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar(); var lst = (from p in Context.vwcp_proveedor_consulta where p.IdEmpresa == IdEmpresa && (p.IdProveedor.ToString() + " " + p.pe_nombreCompleto).Contains(filter) select new { p.IdEmpresa, p.IdPersona, p.IdProveedor, p.pe_cedulaRuc, p.pr_codigo, p.pe_nombreCompleto }) .OrderBy(p => p.IdProveedor) .Skip(skip) .Take(take) .ToList(); foreach (var q in lst) { Lista.Add(new cp_proveedor_Info { IdEmpresa = q.IdEmpresa, IdPersona = q.IdPersona, IdProveedor = q.IdProveedor, pr_codigo = q.pr_codigo, info_persona = new Info.General.tb_persona_Info { pe_cedulaRuc = q.pe_cedulaRuc, pe_nombreCompleto = q.pe_nombreCompleto, } }); } Context.Dispose(); return(Lista); } catch (Exception) { throw; } }
public bool anularDB(ba_Cbte_Ban_Info info) { Entities_cuentas_por_pagar Context_cxp = new Entities_cuentas_por_pagar(); Entities_banco Context = new Entities_banco(); try { ba_Cbte_Ban Entity = Context.ba_Cbte_Ban.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipocbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble).FirstOrDefault(); if (Entity == null) { return(false); } Entity.MotivoAnulacion = info.MotivoAnulacion; Entity.IdUsuario_Anu = info.IdUsuario_Anu; Entity.FechaAnulacion = DateTime.Now; Entity.IdEstado_cheque_cat = "ESTCBANU"; Entity.Estado = "I"; var lst_ing = Context.ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito.Where(q => q.mba_IdEmpresa == info.IdEmpresa && q.mba_IdTipocbte == info.IdTipocbte && q.mba_IdCbteCble == info.IdCbteCble).ToList(); Context.ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito.RemoveRange(lst_ing); var lst_cance = Context_cxp.cp_orden_pago_cancelaciones.Where(q => q.IdEmpresa_pago == info.IdEmpresa && q.IdTipoCbte_pago == info.IdTipocbte && q.IdCbteCble_pago == info.IdCbteCble).ToList(); Context_cxp.cp_orden_pago_cancelaciones.RemoveRange(lst_cance); Context_cxp.SaveChanges(); Context.SaveChanges(); Context_cxp.Dispose(); Context.Dispose(); return(true); } catch (Exception) { Context_cxp.Dispose(); Context.Dispose(); throw; } }
public cp_proveedor_Info get_info_x_num_cedula(int IdEmpresa, string pe_cedulaRuc) { try { cp_proveedor_Info info = new cp_proveedor_Info { info_persona = new Info.General.tb_persona_Info() }; Entities_general Context_general = new Entities_general(); tb_persona Entity_p = Context_general.tb_persona.Where(q => q.pe_cedulaRuc == pe_cedulaRuc).FirstOrDefault(); if (Entity_p == null) { Context_general.Dispose(); return(info); } Entities_cuentas_por_pagar Context_cxp = new Entities_cuentas_por_pagar(); cp_proveedor Entity_c = Context_cxp.cp_proveedor.Where(q => q.IdEmpresa == IdEmpresa && q.IdPersona == Entity_p.IdPersona).FirstOrDefault(); if (Entity_c == null) { info.IdPersona = Entity_p.IdPersona; info.info_persona = new Info.General.tb_persona_Info { IdPersona = Entity_p.IdPersona, pe_apellido = Entity_p.pe_apellido, pe_nombre = Entity_p.pe_nombre, pe_cedulaRuc = Entity_p.pe_cedulaRuc, pe_nombreCompleto = Entity_p.pe_nombreCompleto, pe_razonSocial = Entity_p.pe_razonSocial, pe_celular = Entity_p.pe_celular, pe_telfono_Contacto = Entity_p.pe_telfono_Contacto, pe_correo = Entity_p.pe_correo, pe_direccion = Entity_p.pe_direccion }; Context_general.Dispose(); Context_cxp.Dispose(); return(info); } info = new cp_proveedor_Info { IdEmpresa = Entity_c.IdEmpresa, IdProveedor = Entity_c.IdProveedor, IdPersona = Entity_p.IdPersona, info_persona = new Info.General.tb_persona_Info { IdPersona = Entity_p.IdPersona, pe_apellido = Entity_p.pe_apellido, pe_nombre = Entity_p.pe_nombre, pe_cedulaRuc = Entity_p.pe_cedulaRuc, pe_nombreCompleto = Entity_p.pe_nombreCompleto, pe_razonSocial = Entity_p.pe_razonSocial, pe_celular = Entity_p.pe_celular, pe_telfono_Contacto = Entity_p.pe_telfono_Contacto, pe_correo = Entity_p.pe_correo, pe_direccion = Entity_p.pe_direccion } }; return(info); } catch (Exception) { throw; } }
public bool aprobar_prestamo(int IdEmpresa, string[] Lista, string IdUsuarioAprueba) { Entities_rrhh Context = new Entities_rrhh(); Entities_cuentas_por_pagar Context_cxp = new Entities_cuentas_por_pagar(); Entities_contabilidad Context_ct = new Entities_contabilidad(); try { ro_Parametros Entity_ro_parametros = Context.ro_Parametros.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault(); cp_orden_pago_tipo_x_empresa Entity_op_tipo = Context_cxp.cp_orden_pago_tipo_x_empresa.Where(q => q.IdEmpresa == IdEmpresa && q.IdTipo_op == Entity_ro_parametros.IdTipo_op_prestamos).FirstOrDefault(); decimal IdOrdenPago = 1; decimal IdCbteCble_OP = 1; foreach (var item in Lista) { var IdPrestamo = Convert.ToDecimal(item); ro_prestamo Entity_Prestamo = Context.ro_prestamo.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdPrestamo == IdPrestamo); if (Entity_Prestamo != null) { Entity_Prestamo.IdUsuarioAprueba = IdUsuarioAprueba; Entity_Prestamo.EstadoAprob = "APROB"; } if (Entity_Prestamo.GeneraOP) { IdOrdenPago = data_op.get_id(Entity_Prestamo.IdEmpresa); IdCbteCble_OP = data_ct.get_id(Entity_Prestamo.IdEmpresa, Convert.ToInt32(Entity_op_tipo.IdTipoCbte_OP)); ro_empleado Entity_Empleado = Context.ro_empleado.Where(q => q.IdEmpresa == Entity_Prestamo.IdEmpresa && q.IdEmpleado == Entity_Prestamo.IdEmpleado).FirstOrDefault(); var cuenta_x_rubro = Context.ro_rubro_tipo.Where(q => q.IdEmpresa == Entity_Prestamo.IdEmpresa && q.IdRubro == Entity_Prestamo.IdRubro).FirstOrDefault(); if ( Entity_Empleado.IdCtaCble_x_pagar_empleado != null && Entity_Empleado.IdCtaCble_Emplea != null ) { cp_orden_pago op = new cp_orden_pago { IdEmpresa = IdEmpresa, IdSucursal = Entity_Empleado.IdSucursal, IdOrdenPago = IdOrdenPago, Observacion = "Prestamo #" + Entity_Prestamo.IdPrestamo, IdTipo_op = Entity_ro_parametros.IdTipo_op_prestamos, IdTipo_Persona = cl_enumeradores.eTipoPersona.EMPLEA.ToString(), IdPersona = Entity_Empleado.IdPersona, IdEntidad = Entity_Prestamo.IdEmpleado, Fecha = DateTime.Now.Date, IdEstadoAprobacion = Entity_op_tipo.IdEstadoAprobacion, IdFormaPago = cl_enumeradores.eFormaPagoOrdenPago.CHEQUE.ToString(), Estado = "A" }; Entity_Prestamo.IdEmpresa_op = op.IdEmpresa; Entity_Prestamo.IdOrdenPago = op.IdOrdenPago; Context_cxp.cp_orden_pago.Add(op); ct_cbtecble diario = new ct_cbtecble { IdEmpresa = IdEmpresa, IdTipoCbte = Convert.ToInt32(Entity_op_tipo.IdTipoCbte_OP), IdCbteCble = IdCbteCble_OP, cb_Fecha = DateTime.Now.Date, cb_Observacion = op.Observacion, IdPeriodo = Convert.ToInt32(DateTime.Now.Date.ToString("yyyyMM")), IdSucursal = Entity_Empleado.IdSucursal, cb_FechaTransac = DateTime.Now, cb_Estado = "A" }; Entity_Prestamo.IdEmpresa_dc = diario.IdEmpresa; Entity_Prestamo.IdTipoCbte = diario.IdTipoCbte; Entity_Prestamo.IdCbteCble = diario.IdCbteCble; Context_ct.ct_cbtecble.Add(diario); ct_cbtecble_det diario_det = new ct_cbtecble_det { IdEmpresa = diario.IdEmpresa, IdTipoCbte = diario.IdTipoCbte, IdCbteCble = diario.IdCbteCble, secuencia = 1, IdCtaCble = Entity_Empleado.IdCtaCble_Emplea, dc_Valor = Math.Round(Convert.ToDouble(Entity_Prestamo.MontoSol), 2, MidpointRounding.AwayFromZero), }; Context_ct.ct_cbtecble_det.Add(diario_det); ct_cbtecble_det diario_det_ = new ct_cbtecble_det { IdEmpresa = diario.IdEmpresa, IdTipoCbte = diario.IdTipoCbte, IdCbteCble = diario.IdCbteCble, secuencia = 2, IdCtaCble = Entity_Empleado.IdCtaCble_x_pagar_empleado, dc_Valor = Math.Round(Convert.ToDouble(Entity_Prestamo.MontoSol), 2, MidpointRounding.AwayFromZero) * -1 }; Context_ct.ct_cbtecble_det.Add(diario_det_); cp_orden_pago_det op_det = new cp_orden_pago_det { IdEmpresa = op.IdEmpresa, IdOrdenPago = op.IdOrdenPago, Secuencia = 1, IdEmpresa_cxp = diario.IdEmpresa, IdTipoCbte_cxp = diario.IdTipoCbte, IdCbteCble_cxp = diario.IdCbteCble, Valor_a_pagar = Convert.ToDouble(Entity_Prestamo.MontoSol), IdEstadoAprobacion = Entity_op_tipo.IdEstadoAprobacion, IdFormaPago = cl_enumeradores.eFormaPagoOrdenPago.CHEQUE.ToString(), Fecha_Pago = op.Fecha }; Context_cxp.cp_orden_pago_det.Add(op_det); } } Context_ct.SaveChanges(); Context_cxp.SaveChanges(); Context.SaveChanges(); } Context_ct.Dispose(); Context_cxp.Dispose(); Context.Dispose(); return(true); } catch (Exception) { throw; } }
public tb_persona_Info get_info(int IdEmpresa, string IdTipoPersona, decimal IdEntidad) { tb_persona_Info info = new tb_persona_Info(); Entities_general context_g = new Entities_general(); switch (IdTipoPersona) { case "PERSONA": info = (from q in context_g.tb_persona where q.pe_estado == "A" && q.IdPersona == IdEntidad select new tb_persona_Info { IdPersona = q.IdPersona, pe_nombreCompleto = q.pe_nombreCompleto, pe_cedulaRuc = q.pe_cedulaRuc, IdEntidad = q.IdPersona }).FirstOrDefault(); break; case "CLIENTE": Entities_facturacion context_f = new Entities_facturacion(); info = (from q in context_f.vwfa_cliente_consulta where q.Estado == "A" && q.IdEmpresa == IdEmpresa && q.IdCliente == IdEntidad select new tb_persona_Info { IdPersona = q.IdPersona, pe_nombreCompleto = q.pe_nombreCompleto, pe_cedulaRuc = q.pe_cedulaRuc, IdEntidad = q.IdCliente }).FirstOrDefault(); context_f.Dispose(); break; case "EMPLEA": Entities_rrhh context_e = new Entities_rrhh(); info = (from q in context_e.vwro_empleados_consulta where q.em_estado == "A" && q.IdEmpresa == IdEmpresa && q.IdEmpleado == IdEntidad select new tb_persona_Info { IdPersona = q.IdPersona, pe_nombreCompleto = q.Empleado, pe_cedulaRuc = q.pe_cedulaRuc, IdEntidad = q.IdEmpleado }).FirstOrDefault(); context_e.Dispose(); break; case "PROVEE": Entities_cuentas_por_pagar context_p = new Entities_cuentas_por_pagar(); info = (from q in context_p.vwcp_proveedor_consulta where q.pr_estado == "A" && q.IdEmpresa == IdEmpresa && q.IdProveedor == IdEntidad select new tb_persona_Info { IdPersona = q.IdPersona, pe_nombreCompleto = q.pe_nombreCompleto, pe_cedulaRuc = q.pe_cedulaRuc, IdEntidad = q.IdProveedor }).FirstOrDefault(); context_p.Dispose(); break; } context_g.Dispose(); return(info); }
public List <tb_persona_Info> get_list(int IdEmpresa, string IdTipo_persona, int skip, int take, string filter) { try { List <tb_persona_Info> Lista = new List <tb_persona_Info>(); Entities_general context_g = new Entities_general(); switch (IdTipo_persona) { case "PERSONA": var lstg = context_g.tb_persona.Where(q => q.pe_estado == "A" && (q.IdPersona.ToString() + " " + q.pe_cedulaRuc + " " + q.pe_nombreCompleto).Contains(filter)).OrderBy(q => q.IdPersona).Skip(skip).Take(take); foreach (var q in lstg) { Lista.Add(new tb_persona_Info { IdPersona = q.IdPersona, pe_nombreCompleto = q.pe_nombreCompleto, pe_cedulaRuc = q.pe_cedulaRuc, IdEntidad = q.IdPersona }); } break; case "CLIENTE": Entities_facturacion context_f = new Entities_facturacion(); var lstf = context_f.vwfa_cliente_consulta.Where(q => q.IdEmpresa == IdEmpresa && q.Estado == "A" && (q.IdCliente.ToString() + " " + q.pe_cedulaRuc + " " + q.pe_nombreCompleto).Contains(filter)).OrderBy(q => q.IdCliente).Skip(skip).Take(take); foreach (var q in lstf) { Lista.Add(new tb_persona_Info { IdPersona = q.IdPersona, pe_nombreCompleto = q.pe_nombreCompleto, pe_cedulaRuc = q.pe_cedulaRuc, IdEntidad = q.IdCliente, CodPersona = q.Descripcion_tip_cliente }); } context_f.Dispose(); break; case "EMPLEA": Entities_rrhh context_e = new Entities_rrhh(); var lstr = context_e.vwro_empleados_consulta.Where(q => q.IdEmpresa == IdEmpresa && q.em_estado == "A" && (q.IdEmpleado.ToString() + " " + q.pe_cedulaRuc + " " + q.Empleado).Contains(filter)).OrderBy(q => q.IdEmpleado).Skip(skip).Take(take); foreach (var q in lstr) { Lista.Add(new tb_persona_Info { IdPersona = q.IdPersona, pe_nombreCompleto = q.Empleado, pe_cedulaRuc = q.pe_cedulaRuc, IdEntidad = q.IdEmpleado }); } context_e.Dispose(); break; case "PROVEE": Entities_cuentas_por_pagar context_p = new Entities_cuentas_por_pagar(); var lstp = context_p.vwcp_proveedor_consulta.Where(q => q.IdEmpresa == IdEmpresa && q.pr_estado == "A" && (q.IdProveedor.ToString() + " " + q.pe_cedulaRuc + " " + q.pe_nombreCompleto).Contains(filter)).OrderBy(q => q.IdProveedor).Skip(skip).Take(take); foreach (var q in lstp) { Lista.Add(new tb_persona_Info { IdPersona = q.IdPersona, pe_nombreCompleto = q.pe_nombreCompleto, pe_cedulaRuc = q.pe_cedulaRuc, IdEntidad = q.IdProveedor }); } context_p.Dispose(); break; } context_g.Dispose(); return(Lista); } catch (Exception) { throw; } }
public bool modificarDB(ba_Cbte_Ban_Info info, cl_enumeradores.eTipoCbteBancario TipoCbteBanco) { Entities_banco Context_b = new Entities_banco(); Entities_contabilidad Context_ct = new Entities_contabilidad(); Entities_cuentas_por_pagar Context_cxp = new Entities_cuentas_por_pagar(); try { #region Variables string TipoCbteBancoS = TipoCbteBanco.ToString(); int secuencia = 1; decimal Idcancelacion = 0; #endregion #region Diario var diario = Context_ct.ct_cbtecble.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble).FirstOrDefault(); if (diario == null) { return(false); } diario.cb_Fecha = info.cb_Fecha.Date; diario.cb_Observacion = info.cb_Observacion; diario.IdPeriodo = info.IdPeriodo = Convert.ToInt32(info.cb_Fecha.Date.ToString("yyyyMM")); diario.IdSucursal = info.IdSucursal; diario.cb_Valor = info.cb_Valor; diario.cb_FechaUltModi = DateTime.Now; diario.IdUsuarioUltModi = info.IdUsuario; var lst_diario_det = Context_ct.ct_cbtecble_det.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble).ToList(); Context_ct.ct_cbtecble_det.RemoveRange(lst_diario_det); foreach (var item in info.lst_det_ct) { Context_ct.ct_cbtecble_det.Add(new ct_cbtecble_det { IdEmpresa = info.IdEmpresa, IdTipoCbte = info.IdTipocbte, IdCbteCble = info.IdCbteCble, secuencia = secuencia++, IdCtaCble = item.IdCtaCble, dc_Valor = Math.Round(item.dc_Valor, 2, MidpointRounding.AwayFromZero), dc_para_conciliar = item.dc_para_conciliar, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo, IdCentroCosto = item.IdCentroCosto, dc_Observacion = item.dc_Observacion }); } #endregion var list_det = Context_b.ba_Cbte_Ban_x_ba_TipoFlujo.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipocbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble).ToList(); Context_b.ba_Cbte_Ban_x_ba_TipoFlujo.RemoveRange(list_det); info.list_det = info.list_det == null ? new List <ba_Cbte_Ban_x_ba_TipoFlujo_Info>() : info.list_det; if (info.list_det.Count > 0) { foreach (var item in info.list_det) { Context_b.ba_Cbte_Ban_x_ba_TipoFlujo.Add(new ba_Cbte_Ban_x_ba_TipoFlujo { IdEmpresa = info.IdEmpresa, IdTipocbte = info.IdTipocbte, IdCbteCble = info.IdCbteCble, IdTipoFlujo = item.IdTipoFlujo, Valor = item.Valor, Porcentaje = item.Porcentaje, Secuencia = item.Secuencia }); } } #region Cbte bancario var mov_ban = Context_b.ba_Cbte_Ban.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipocbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble).FirstOrDefault(); if (mov_ban == null) { Context_b.ba_Cbte_Ban.Add(new ba_Cbte_Ban { IdEmpresa = info.IdEmpresa, IdCbteCble = info.IdCbteCble, IdTipocbte = info.IdTipocbte, Cod_Cbtecble = info.Cod_Cbtecble, IdPeriodo = info.IdPeriodo, IdBanco = info.IdBanco, cb_Fecha = info.cb_Fecha, cb_Observacion = info.cb_Observacion, cb_Valor = info.cb_Valor, cb_Cheque = info.cb_Cheque, Estado = "A", IdPersona_Girado_a = info.IdPersona_Girado_a, cb_giradoA = info.cb_giradoA, cb_ciudadChq = info.cb_ciudadChq, IdTipoFlujo = info.IdTipoFlujo, IdTipoNota = info.IdTipoNota, ValorEnLetras = info.ValorEnLetras, IdSucursal = info.IdSucursal, IdEstado_Cbte_Ban_cat = info.IdEstado_Cbte_Ban_cat, IdEstado_Preaviso_ch_cat = info.IdEstado_Preaviso_ch_cat, IdEstado_cheque_cat = info.IdEstado_cheque_cat, IdPersona = info.IdPersona, IdEntidad = info.IdEntidad, IdTipo_Persona = info.IdTipo_Persona, IdSolicitudPago = info.IdSolicitudPago, IdUsuarioUltMod = info.IdUsuarioUltMod, Fecha_UltMod = DateTime.Now, cb_FechaCheque = info.cb_FechaCheque, }); } else { mov_ban.Cod_Cbtecble = info.Cod_Cbtecble; mov_ban.IdPeriodo = info.IdPeriodo; mov_ban.IdBanco = info.IdBanco; mov_ban.cb_Fecha = info.cb_Fecha; mov_ban.cb_Observacion = info.cb_Observacion; mov_ban.cb_Valor = info.cb_Valor; mov_ban.cb_Cheque = info.cb_Cheque; mov_ban.IdPersona_Girado_a = info.IdPersona_Girado_a; mov_ban.cb_giradoA = info.cb_giradoA; mov_ban.cb_ciudadChq = info.cb_ciudadChq; mov_ban.IdTipoFlujo = info.IdTipoFlujo; mov_ban.IdTipoNota = info.IdTipoNota; mov_ban.ValorEnLetras = info.ValorEnLetras; mov_ban.IdSucursal = info.IdSucursal; mov_ban.IdEstado_Cbte_Ban_cat = info.IdEstado_Cbte_Ban_cat; mov_ban.IdEstado_Preaviso_ch_cat = info.IdEstado_Preaviso_ch_cat; mov_ban.IdEstado_cheque_cat = info.IdEstado_cheque_cat; mov_ban.IdPersona = info.IdPersona; mov_ban.IdEntidad = info.IdEntidad; mov_ban.IdTipo_Persona = info.IdTipo_Persona; mov_ban.IdUsuarioUltMod = info.IdUsuarioUltMod; mov_ban.Fecha_UltMod = DateTime.Now; mov_ban.IdSolicitudPago = info.IdSolicitudPago; } #endregion switch (TipoCbteBanco) { case cl_enumeradores.eTipoCbteBancario.CHEQ: #region Guardo cancelaciones var lst_cancelaciones = Context_cxp.cp_orden_pago_cancelaciones.Where(q => q.IdEmpresa_pago == info.IdEmpresa && q.IdTipoCbte_pago == info.IdTipocbte && q.IdCbteCble_pago == info.IdCbteCble).ToList(); Context_cxp.cp_orden_pago_cancelaciones.RemoveRange(lst_cancelaciones); Idcancelacion = odata_can.get_id(info.IdEmpresa); secuencia = 1; foreach (var item in info.lst_det_canc_op) { Context_cxp.cp_orden_pago_cancelaciones.Add(new cp_orden_pago_cancelaciones { IdEmpresa = info.IdEmpresa, Idcancelacion = Idcancelacion, Secuencia = secuencia++, IdEmpresa_op = item.IdEmpresa_op, IdOrdenPago_op = item.IdOrdenPago_op, Secuencia_op = item.Secuencia_op, IdEmpresa_cxp = item.IdEmpresa_cxp, IdTipoCbte_cxp = item.IdTipoCbte_cxp, IdCbteCble_cxp = item.IdCbteCble_cxp, IdEmpresa_pago = info.IdEmpresa, IdTipoCbte_pago = info.IdTipocbte, IdCbteCble_pago = info.IdCbteCble, MontoAplicado = item.MontoAplicado, SaldoActual = 0, SaldoAnterior = 0, fechaTransaccion = DateTime.Now, Observacion = item.Observacion }); } #endregion break; case cl_enumeradores.eTipoCbteBancario.DEPO: #region Guardo ingresos var lst_ing = Context_b.ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito.Where(q => q.mba_IdEmpresa == info.IdEmpresa && q.mba_IdTipocbte == info.IdTipocbte && q.mba_IdCbteCble == info.IdCbteCble).ToList(); Context_b.ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito.RemoveRange(lst_ing); foreach (var item in info.lst_det_ing) { Context_b.ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito.Add(new ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito { mba_IdEmpresa = info.IdEmpresa, mba_IdTipocbte = info.IdTipocbte, mba_IdCbteCble = info.IdCbteCble, mcj_IdEmpresa = item.mcj_IdEmpresa, mcj_IdTipocbte = item.mcj_IdTipocbte, mcj_IdCbteCble = item.mcj_IdCbteCble, mcj_Secuencia = item.mcj_Secuencia }); } #endregion break; case cl_enumeradores.eTipoCbteBancario.NCBA: break; case cl_enumeradores.eTipoCbteBancario.NDBA: #region Guardo cancelaciones var lst_cancelaciones_ndba = Context_cxp.cp_orden_pago_cancelaciones.Where(q => q.IdEmpresa_pago == info.IdEmpresa && q.IdTipoCbte_pago == info.IdTipocbte && q.IdCbteCble_pago == info.IdCbteCble).ToList(); Context_cxp.cp_orden_pago_cancelaciones.RemoveRange(lst_cancelaciones_ndba); Idcancelacion = odata_can.get_id(info.IdEmpresa); secuencia = 1; foreach (var item in info.lst_det_canc_op) { Context_cxp.cp_orden_pago_cancelaciones.Add(new cp_orden_pago_cancelaciones { IdEmpresa = info.IdEmpresa, Idcancelacion = Idcancelacion, Secuencia = secuencia++, IdEmpresa_op = item.IdEmpresa_op, IdOrdenPago_op = item.IdOrdenPago_op, Secuencia_op = item.Secuencia_op, IdEmpresa_cxp = item.IdEmpresa_cxp, IdTipoCbte_cxp = item.IdTipoCbte_cxp, IdCbteCble_cxp = item.IdCbteCble_cxp, IdEmpresa_pago = info.IdEmpresa, IdTipoCbte_pago = info.IdTipocbte, IdCbteCble_pago = info.IdCbteCble, MontoAplicado = item.MontoAplicado, SaldoActual = 0, SaldoAnterior = 0, fechaTransaccion = DateTime.Now, Observacion = item.Observacion }); } #endregion break; } Context_ct.SaveChanges(); Context_b.SaveChanges(); Context_cxp.SaveChanges(); Context_ct.Dispose(); Context_b.Dispose(); Context_cxp.Dispose(); return(true); } catch (Exception ex) { Context_ct.Dispose(); Context_b.Dispose(); Context_cxp.Dispose(); tb_LogError_Data LogData = new tb_LogError_Data(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "ba_Cbte_Ban_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuario }); return(false); } }
public bool guardarDB(ba_Cbte_Ban_Info info, cl_enumeradores.eTipoCbteBancario TipoCbteBanco) { Entities_banco Context_b = new Entities_banco(); Entities_contabilidad Context_ct = new Entities_contabilidad(); Entities_cuentas_por_pagar Context_cxp = new Entities_cuentas_por_pagar(); try { #region Variables string TipoCbteBancoS = TipoCbteBanco.ToString(); int secuencia = 1; decimal Idcancelacion = 0; #endregion #region Datos para el diario var e_TipoCbteBan = Context_b.ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo.Where(q => q.CodTipoCbteBan == TipoCbteBancoS && q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); if (e_TipoCbteBan == null) { return(false); } info.IdTipocbte = e_TipoCbteBan.IdTipoCbteCble; info.IdCbteCble = odata_ct.get_id(info.IdEmpresa, info.IdTipocbte); #endregion #region Diario Context_ct.ct_cbtecble.Add(new ct_cbtecble { IdEmpresa = info.IdEmpresa, IdTipoCbte = info.IdTipocbte, IdCbteCble = info.IdCbteCble, cb_Fecha = info.cb_Fecha.Date, cb_Observacion = info.cb_Observacion, IdPeriodo = info.IdPeriodo = Convert.ToInt32(info.cb_Fecha.Date.ToString("yyyyMM")), IdSucursal = info.IdSucursal, cb_FechaTransac = DateTime.Now, cb_Estado = "A", cb_Valor = Math.Round(info.lst_det_ct.Where(q => q.dc_Valor > 0).Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero), IdUsuario = info.IdUsuario }); foreach (var item in info.lst_det_ct) { Context_ct.ct_cbtecble_det.Add(new ct_cbtecble_det { IdEmpresa = info.IdEmpresa, IdTipoCbte = info.IdTipocbte, IdCbteCble = info.IdCbteCble, secuencia = secuencia++, IdCtaCble = item.IdCtaCble, dc_Valor = Math.Round(item.dc_Valor, 2, MidpointRounding.AwayFromZero), dc_para_conciliar = item.dc_para_conciliar, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo, IdCentroCosto = item.IdCentroCosto, dc_Observacion = item.dc_Observacion }); } #endregion #region Cbte bancario Context_b.ba_Cbte_Ban.Add(new ba_Cbte_Ban { IdEmpresa = info.IdEmpresa, IdCbteCble = info.IdCbteCble, IdTipocbte = info.IdTipocbte, Cod_Cbtecble = info.Cod_Cbtecble, IdPeriodo = info.IdPeriodo, IdBanco = info.IdBanco, cb_Fecha = info.cb_Fecha, cb_Observacion = info.cb_Observacion, cb_Valor = info.cb_Valor = Math.Round(info.lst_det_ct.Where(q => q.dc_Valor > 0).Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero), cb_Cheque = info.cb_Cheque, Estado = "A", IdPersona_Girado_a = info.IdPersona_Girado_a, cb_giradoA = info.cb_giradoA, cb_ciudadChq = info.cb_ciudadChq, IdTipoFlujo = info.IdTipoFlujo, IdTipoNota = info.IdTipoNota, ValorEnLetras = info.ValorEnLetras, IdSucursal = info.IdSucursal, IdEstado_Cbte_Ban_cat = info.IdEstado_Cbte_Ban_cat, IdEstado_Preaviso_ch_cat = info.IdEstado_Preaviso_ch_cat, IdEstado_cheque_cat = info.IdEstado_cheque_cat = "ESTCBEMI", IdPersona = info.IdPersona, IdEntidad = info.IdEntidad, IdTipo_Persona = info.IdTipo_Persona, IdSolicitudPago = info.IdSolicitudPago, cb_FechaCheque = info.cb_FechaCheque, IdUsuario = info.IdUsuario, Fecha_Transac = DateTime.Now, }); #endregion #region Flujo info.list_det = info.list_det == null ? new List <ba_Cbte_Ban_x_ba_TipoFlujo_Info>() : info.list_det; if (info.list_det.Count > 0) { int Secuencia = 1; foreach (var item in info.list_det) { Context_b.ba_Cbte_Ban_x_ba_TipoFlujo.Add(new ba_Cbte_Ban_x_ba_TipoFlujo { IdEmpresa = info.IdEmpresa, IdTipocbte = info.IdTipocbte, IdCbteCble = info.IdCbteCble, IdTipoFlujo = item.IdTipoFlujo, Valor = item.Valor, Porcentaje = item.Porcentaje, Secuencia = Secuencia++ }); } } #endregion switch (TipoCbteBanco) { case cl_enumeradores.eTipoCbteBancario.CHEQ: #region Guardo cancelaciones Idcancelacion = odata_can.get_id(info.IdEmpresa); secuencia = 1; foreach (var item in info.lst_det_canc_op) { Context_cxp.cp_orden_pago_cancelaciones.Add(new cp_orden_pago_cancelaciones { IdEmpresa = info.IdEmpresa, Idcancelacion = Idcancelacion, Secuencia = secuencia++, IdEmpresa_op = item.IdEmpresa_op, IdOrdenPago_op = item.IdOrdenPago_op, Secuencia_op = item.Secuencia_op, IdEmpresa_cxp = item.IdEmpresa_cxp, IdTipoCbte_cxp = item.IdTipoCbte_cxp, IdCbteCble_cxp = item.IdCbteCble_cxp, IdEmpresa_pago = info.IdEmpresa, IdTipoCbte_pago = info.IdTipocbte, IdCbteCble_pago = info.IdCbteCble, MontoAplicado = item.MontoAplicado, SaldoActual = 0, SaldoAnterior = 0, fechaTransaccion = DateTime.Now, Observacion = item.Observacion }); } #endregion var cheque = Context_b.ba_Talonario_cheques_x_banco.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdBanco == info.IdBanco && q.Num_cheque == info.cb_Cheque).FirstOrDefault(); if (cheque != null) { cheque.IdEmpresa_cbtecble_Usado = info.IdEmpresa; cheque.IdTipoCbte_cbtecble_Usado = info.IdTipocbte; cheque.IdCbteCble_cbtecble_Usado = info.IdCbteCble; cheque.Usado = true; } break; case cl_enumeradores.eTipoCbteBancario.DEPO: #region Guardo ingresos foreach (var item in info.lst_det_ing) { Context_b.ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito.Add(new ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito { mba_IdEmpresa = info.IdEmpresa, mba_IdTipocbte = info.IdTipocbte, mba_IdCbteCble = info.IdCbteCble, mcj_IdEmpresa = item.mcj_IdEmpresa, mcj_IdTipocbte = item.mcj_IdTipocbte, mcj_IdCbteCble = item.mcj_IdCbteCble, mcj_Secuencia = item.mcj_Secuencia }); } #endregion break; case cl_enumeradores.eTipoCbteBancario.NCBA: break; case cl_enumeradores.eTipoCbteBancario.NDBA: #region Guardo cancelaciones Idcancelacion = odata_can.get_id(info.IdEmpresa); secuencia = 1; foreach (var item in info.lst_det_canc_op) { Context_cxp.cp_orden_pago_cancelaciones.Add(new cp_orden_pago_cancelaciones { IdEmpresa = info.IdEmpresa, Idcancelacion = Idcancelacion, Secuencia = secuencia++, IdEmpresa_op = item.IdEmpresa_op, IdOrdenPago_op = item.IdOrdenPago_op, Secuencia_op = item.Secuencia_op, IdEmpresa_cxp = item.IdEmpresa_cxp, IdTipoCbte_cxp = item.IdTipoCbte_cxp, IdCbteCble_cxp = item.IdCbteCble_cxp, IdEmpresa_pago = info.IdEmpresa, IdTipoCbte_pago = info.IdTipocbte, IdCbteCble_pago = info.IdCbteCble, MontoAplicado = item.MontoAplicado, SaldoActual = 0, SaldoAnterior = 0, fechaTransaccion = DateTime.Now, Observacion = item.Observacion }); } #endregion break; } Context_ct.SaveChanges(); Context_b.SaveChanges(); Context_cxp.SaveChanges(); Context_ct.Dispose(); Context_b.Dispose(); Context_cxp.Dispose(); return(true); } catch (Exception ex) { Context_ct.Dispose(); Context_b.Dispose(); Context_cxp.Dispose(); tb_LogError_Data LogData = new tb_LogError_Data(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "ba_Cbte_Ban_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario }); return(false); } }