public bool ModificarBD(cp_conciliacionAnticipo_Info info) { try { using (Entities_contabilidad db_cont = new Entities_contabilidad()) { ct_cbtecble_Info info_diario = armar_info(info.Lista_det_Cbte, info.IdEmpresa, info.IdSucursal, Convert.ToInt32(info.IdTipoCbte), 0, info.Observacion, info.Fecha); ct_cbtecble Entity_cbte = db_cont.ct_cbtecble.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte && q.IdCbteCble == info.IdCbteCble).FirstOrDefault(); if (info_diario != null) { info_diario.IdCbteCble = Convert.ToDecimal(info.IdCbteCble); info_diario.IdUsuarioUltModi = info.IdUsuarioModificacion; if (data_cbtecble.modificarDB(info_diario)) { info.IdTipoCbte = info_diario.IdTipoCbte; info.IdCbteCble = info_diario.IdCbteCble; } } } using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar()) { cp_ConciliacionAnticipo entity = db.cp_ConciliacionAnticipo.Where(q => q.IdConciliacion == info.IdConciliacion && q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); if (entity == null) { return(false); } entity.IdProveedor = info.IdProveedor; entity.Fecha = info.Fecha; entity.Observacion = info.Observacion; entity.IdSucursal = info.IdSucursal; entity.IdUsuarioModificacion = info.IdUsuarioModificacion; entity.FechaModificacion = DateTime.Now; var lst_det_OP = db.cp_ConciliacionAnticipoDetAnt.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConciliacion == info.IdConciliacion).ToList(); db.cp_ConciliacionAnticipoDetAnt.RemoveRange(lst_det_OP); var lst_det_Fact = db.cp_ConciliacionAnticipoDetCXP.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConciliacion == info.IdConciliacion).ToList(); db.cp_ConciliacionAnticipoDetCXP.RemoveRange(lst_det_Fact); var lst_Cancelaciones = db.cp_orden_pago_cancelaciones.Where(q => q.IdEmpresa_op == info.IdEmpresa && q.IdTipoCbte_pago == info.IdTipoCbte && q.IdCbteCble_pago == info.IdCbteCble).ToList(); db.cp_orden_pago_cancelaciones.RemoveRange(lst_Cancelaciones); if (info.Lista_det_OP != null) { int SecuenciaOP = 1; foreach (var item in info.Lista_det_OP) { db.cp_ConciliacionAnticipoDetAnt.Add(new cp_ConciliacionAnticipoDetAnt { IdEmpresa = info.IdEmpresa, IdConciliacion = info.IdConciliacion, Secuencia = SecuenciaOP++, IdOrdenPago = item.IdOrdenPago, MontoAplicado = item.MontoAplicado }); } } if (info.Lista_det_Fact != null) { int SecuenciaFact = 1; int SecuenciaCanc = 1; foreach (var item in info.Lista_det_Fact) { db.cp_ConciliacionAnticipoDetCXP.Add(new cp_ConciliacionAnticipoDetCXP { IdEmpresa = info.IdEmpresa, IdConciliacion = info.IdConciliacion, Secuencia = SecuenciaFact++, IdOrdenPago = item.IdOrdenPago, IdEmpresa_cxp = item.IdEmpresa, IdTipoCbte_cxp = item.IdTipoCbte_cxp, IdCbteCble_cxp = item.IdCbteCble_cxp, Fecha_cxp = item.Fecha_cxp, Observacion_cxp = item.Observacion_cxp, MontoAplicado = item.MontoAplicado }); cp_orden_pago_cancelaciones_Info info_cancelacion = new cp_orden_pago_cancelaciones_Info(); info_cancelacion.IdEmpresa = info.IdEmpresa; info_cancelacion.Secuencia = SecuenciaCanc++; info_cancelacion.IdEmpresa_op = item.IdEmpresa_cxp; info_cancelacion.IdOrdenPago_op = item.IdOrdenPago; info_cancelacion.Secuencia_op = 1; info_cancelacion.IdEmpresa_cxp = item.IdEmpresa_cxp; info_cancelacion.IdTipoCbte_cxp = item.IdTipoCbte_cxp; info_cancelacion.IdCbteCble_cxp = item.IdCbteCble_cxp; info_cancelacion.IdEmpresa_pago = info.IdEmpresa; info_cancelacion.IdTipoCbte_pago = Convert.ToInt32(info.IdTipoCbte); info_cancelacion.IdCbteCble_pago = Convert.ToInt32(info.IdCbteCble); info_cancelacion.MontoAplicado = item.MontoAplicado; info_cancelacion.Observacion = "CONCILIACION" + info.IdConciliacion; data_op_cancelaciones.guardarDB(info_cancelacion); } } db.SaveChanges(); } return(true); } catch (Exception ex) { 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 = "cp_conciliacionAnticipo_Data", Metodo = "ModificarDB", IdUsuario = info.IdUsuarioCreacion }); return(false); } }
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 bool modificarDB(ct_cbtecble_Info info) { try { ba_Conciliacion_det_IngEgr_Data odata = new ba_Conciliacion_det_IngEgr_Data(); using (Entities_contabilidad Context = new Entities_contabilidad()) { ct_cbtecble Entity = Context.ct_cbtecble.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte && q.IdCbteCble == info.IdCbteCble); if (Entity == null) { return(false); } string mensaje = ""; if (!odata.ValidarComprobanteEnConciliacion(info.IdEmpresa, info.IdTipoCbte, info.IdCbteCble, ref mensaje)) { Entity.cb_Observacion = info.cb_Observacion; Context.SaveChanges(); return(true); } Entity.cb_Fecha = info.cb_Fecha.Date; Entity.IdSucursal = info.IdSucursal; Entity.cb_Observacion = info.cb_Observacion; Entity.cb_Valor = Math.Round(info.lst_ct_cbtecble_det.Where(q => q.dc_Valor > 0).Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero); Entity.CodCbteCble = info.CodCbteCble; Entity.IdPeriodo = info.IdPeriodo = Convert.ToInt32(info.cb_Fecha.ToString("yyyyMM")); Entity.IdUsuarioUltModi = info.IdUsuarioUltModi; Entity.cb_FechaUltModi = DateTime.Now; var lstDet = Context.ct_cbtecble_det.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte && q.IdCbteCble == info.IdCbteCble).ToList(); Context.ct_cbtecble_det.RemoveRange(lstDet); //Context.Database.ExecuteSqlCommand("DElETE ct_cbtecble_det WHERE IdEmpresa = " + info.IdEmpresa + " and IdTipoCbte = " + info.IdTipoCbte + " and IdCbteCble = " + info.IdCbteCble + ""); int secuencia = 1; foreach (var item in info.lst_ct_cbtecble_det) { ct_cbtecble_det Entity_det = new ct_cbtecble_det { IdEmpresa = Entity.IdEmpresa, IdCbteCble = Entity.IdCbteCble, IdTipoCbte = Entity.IdTipoCbte, dc_Observacion = item.dc_Observacion, dc_Valor = Math.Round(item.dc_Valor, 2, MidpointRounding.AwayFromZero), IdCtaCble = item.IdCtaCble, secuencia = secuencia++, dc_para_conciliar = item.dc_para_conciliar, IdCentroCosto = item.IdCentroCosto, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo }; Context.ct_cbtecble_det.Add(Entity_det); } Context.SaveChanges(); }; return(true); } catch (Exception ex) { 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 = "ct_cbtecble_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuario }); return(false); } }
/// <param name="info">Debe ir llenos los PK y el IdUsuarioUltAnu</param> /// <returns></returns> public bool anularDB(ct_cbtecble_Info info) { try { using (Entities_contabilidad Context = new Entities_contabilidad()) { ct_cbtecble Entity = Context.ct_cbtecble.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte && q.IdCbteCble == info.IdCbteCble); if (Entity == null) { return(false); } //Si ya esta anulado no volverlo a anular if (Entity.cb_Estado == "I") { return(true); } #region Comprobante reverso ct_cbtecble_tipo e_tipo = Context.ct_cbtecble_tipo.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte).FirstOrDefault(); if (e_tipo == null) { return(false); } #region Cabecera ct_cbtecble Entity_reverso = new ct_cbtecble { IdEmpresa = Entity.IdEmpresa, IdTipoCbte = e_tipo.IdTipoCbte_Anul, IdCbteCble = get_id(Entity.IdEmpresa, e_tipo.IdTipoCbte_Anul), cb_Anio = DateTime.Now.Year, cb_Estado = Entity.cb_Estado = "A", cb_Fecha = DateTime.Now.Date, cb_mes = DateTime.Now.Month, cb_Observacion = "**REVERSO DE DIARIO tipo: " + Entity.IdTipoCbte.ToString() + " #cbte: " + Entity.IdCbteCble.ToString() + "** " + Entity.cb_Observacion, cb_Valor = Entity.cb_Valor, CodCbteCble = "ANU" + Entity.CodCbteCble, IdPeriodo = Entity.IdPeriodo = Convert.ToInt32(DateTime.Now.ToString("yyyyMM")), IdUsuario = info.IdUsuarioAnu, cb_FechaTransac = DateTime.Now }; Context.ct_cbtecble.Add(Entity_reverso); #endregion #region Detalle var det = Context.ct_cbtecble_det.Where(q => q.IdEmpresa == Entity.IdEmpresa && q.IdTipoCbte == Entity.IdTipoCbte && q.IdCbteCble == Entity.IdCbteCble).ToList(); foreach (var item in det) { ct_cbtecble_det Entity_reverso_det = new ct_cbtecble_det { IdEmpresa = item.IdEmpresa, IdTipoCbte = Entity_reverso.IdTipoCbte, IdCbteCble = Entity_reverso.IdCbteCble, secuencia = item.secuencia, IdCtaCble = item.IdCtaCble, dc_Observacion = "**REVERSO DE DIARIO tipo: " + Entity.IdTipoCbte.ToString() + " #cbte: " + Entity.IdCbteCble.ToString() + "** " + item.dc_Observacion, dc_Valor = item.dc_Valor * -1, IdCentroCosto = item.IdCentroCosto, IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo, dc_para_conciliar = false }; Context.ct_cbtecble_det.Add(Entity_reverso_det); } #endregion #endregion #region Tabla intermedia ct_cbtecble_Reversado Entity_int = new ct_cbtecble_Reversado { IdEmpresa = Entity.IdEmpresa, IdTipoCbte = Entity.IdTipoCbte, IdCbteCble = Entity.IdCbteCble, IdEmpresa_Anu = Entity_reverso.IdEmpresa, IdTipoCbte_Anu = Entity_reverso.IdTipoCbte, IdCbteCble_Anu = Entity_reverso.IdCbteCble, }; Context.ct_cbtecble_Reversado.Add(Entity_int); #endregion Entity.cb_MotivoAnu = Entity.cb_MotivoAnu; Entity.cb_Estado = Entity.cb_Estado = "I"; Entity.IdUsuarioAnu = Entity.IdUsuarioAnu; Entity.cb_FechaAnu = DateTime.Now; Entity.cb_Observacion = "REVERSADO CON EL DIARIO tipo: " + Entity_reverso.IdTipoCbte.ToString() + " #cbte: " + Entity_reverso.IdCbteCble.ToString() + "** " + Entity.cb_Observacion; Context.SaveChanges(); }; return(true); } catch (Exception e) { throw; } }
public bool guardarDB(ct_cbtecble_Info info) { try { info.IdPeriodo = Convert.ToInt32(info.cb_Fecha.Year.ToString() + info.cb_Fecha.Month.ToString("00")); using (Entities_contabilidad Context = new Entities_contabilidad()) { var periodo = Context.ct_periodo.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdPeriodo == info.IdPeriodo).FirstOrDefault(); if (periodo == null) { return(false); } ct_cbtecble Entity = new ct_cbtecble { IdEmpresa = info.IdEmpresa, cb_Estado = info.cb_Estado = "A", cb_Fecha = info.cb_Fecha.Date, IdSucursal = info.IdSucursal, cb_Observacion = info.cb_Observacion, cb_Valor = Math.Round(info.lst_ct_cbtecble_det.Where(q => q.dc_Valor > 0).Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero), CodCbteCble = info.CodCbteCble, IdCbteCble = info.IdCbteCble = get_id(info.IdEmpresa, info.IdTipoCbte), IdPeriodo = info.IdPeriodo = Convert.ToInt32(info.cb_Fecha.Year.ToString() + info.cb_Fecha.Month.ToString("00")), IdTipoCbte = info.IdTipoCbte, IdUsuario = info.IdUsuario, cb_FechaTransac = DateTime.Now }; Context.ct_cbtecble.Add(Entity); int secuencia = 1; foreach (var item in info.lst_ct_cbtecble_det) { ct_cbtecble_det Entity_det = new ct_cbtecble_det { IdEmpresa = Entity.IdEmpresa, IdCbteCble = Entity.IdCbteCble, IdTipoCbte = Entity.IdTipoCbte, dc_Observacion = item.dc_Observacion, dc_Valor = Math.Round(item.dc_Valor, 2, MidpointRounding.AwayFromZero), IdCtaCble = item.IdCtaCble, secuencia = secuencia++, dc_para_conciliar = item.dc_para_conciliar, IdCentroCosto = string.IsNullOrEmpty(item.IdCentroCosto) ? null : item.IdCentroCosto, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo }; Context.ct_cbtecble_det.Add(Entity_det); } Context.SaveChanges(); } return(true); } catch (Exception ex) { 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 = "ct_cbtecble_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario }); return(false); } }