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_Anio = info.cb_Fecha.Year, cb_Estado = info.cb_Estado = "A", cb_Fecha = info.cb_Fecha.Date, cb_mes = info.cb_Fecha.Month, cb_Observacion = info.cb_Observacion, cb_Valor = info.cb_Valor, 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 = item.dc_Valor, IdCentroCosto = item.IdCentroCosto, IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo, IdCtaCble = item.IdCtaCble, secuencia = secuencia++, dc_para_conciliar = item.dc_para_conciliar }; Context.ct_cbtecble_det.Add(Entity_det); } Context.SaveChanges(); } return(true); } catch (Exception e) { throw; } }
public bool modificarDB(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); } Entity.cb_Fecha = info.cb_Fecha.Date; Entity.IdSucursal = info.IdSucursal; Entity.cb_Observacion = info.cb_Observacion; Entity.cb_Valor = info.lst_ct_cbtecble_det.Where(q => q.dc_Valor > 0).Sum(q => q.dc_Valor); Entity.CodCbteCble = info.CodCbteCble; Entity.IdPeriodo = info.IdPeriodo = Convert.ToInt32(info.cb_Fecha.ToString("yyyyMM")); Entity.IdUsuarioUltModi = info.IdUsuarioUltModi; Entity.cb_FechaUltModi = DateTime.Now; 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 = item.dc_Valor, 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); } }
public bool modificarDB(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); } Entity.cb_Anio = info.cb_Fecha.Year; Entity.cb_Fecha = info.cb_Fecha.Date; Entity.cb_mes = info.cb_Fecha.Month; Entity.cb_Observacion = info.cb_Observacion; Entity.cb_Valor = info.cb_Valor; Entity.CodCbteCble = info.CodCbteCble; Entity.IdPeriodo = info.IdPeriodo = Convert.ToInt32(info.cb_Fecha.ToString("yyyyMM")); Entity.IdUsuarioUltModi = info.IdUsuarioUltModi; Entity.cb_FechaUltModi = DateTime.Now; 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 = item.dc_Valor, IdCentroCosto = item.IdCentroCosto, IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo, IdCtaCble = item.IdCtaCble, secuencia = secuencia++, dc_para_conciliar = item.dc_para_conciliar }; Context.ct_cbtecble_det.Add(Entity_det); } Context.SaveChanges(); }; return(true); } catch (Exception) { throw; } }
public Boolean GrabarDB(ct_Cbtecble_det_Info _CbteCbleInfo, ref string MensajeError) { try { using (EntitiesDBConta contexto = new EntitiesDBConta()) { var lst = from q in contexto.ct_cbtecble_det where q.IdEmpresa == _CbteCbleInfo.IdEmpresa && q.IdTipoCbte == _CbteCbleInfo.IdTipoCbte && q.IdCbteCble == _CbteCbleInfo.IdCbteCble && q.secuencia == _CbteCbleInfo.secuencia select q; if (lst.Count() == 0) { var address_tabla = new ct_cbtecble_det(); address_tabla.IdEmpresa = _CbteCbleInfo.IdEmpresa; address_tabla.IdTipoCbte = _CbteCbleInfo.IdTipoCbte; address_tabla.IdCbteCble = _CbteCbleInfo.IdCbteCble; address_tabla.IdCtaCble = _CbteCbleInfo.IdCtaCble; address_tabla.IdCentroCosto = (String.IsNullOrEmpty(_CbteCbleInfo.IdCentroCosto)) ? null : _CbteCbleInfo.IdCentroCosto; address_tabla.IdCentroCosto_sub_centro_costo = (String.IsNullOrEmpty(_CbteCbleInfo.IdCentroCosto_sub_centro_costo)) ? null : _CbteCbleInfo.IdCentroCosto_sub_centro_costo; address_tabla.secuencia = _CbteCbleInfo.secuencia; address_tabla.dc_Valor = _CbteCbleInfo.dc_Valor; address_tabla.dc_Observacion = (_CbteCbleInfo.dc_Observacion == null) ? "" : _CbteCbleInfo.dc_Observacion; address_tabla.IdPunto_cargo = _CbteCbleInfo.IdPunto_cargo; address_tabla.IdPunto_cargo_grupo = _CbteCbleInfo.IdPunto_cargo_grupo; address_tabla.dc_para_conciliar = _CbteCbleInfo.dc_para_conciliar; contexto.ct_cbtecble_det.Add(address_tabla); contexto.SaveChanges(); contexto.Dispose(); } } return(true); } catch (Exception ex) { string arreglo = ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); mensaje = ex.InnerException + " " + ex.Message; throw new Exception(ex.InnerException.ToString()); } }
/// <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), IdSucursal = Entity.IdSucursal, cb_Estado = Entity.cb_Estado = "A", cb_Fecha = DateTime.Now.Date, 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, dc_para_conciliar = false, IdCentroCosto = item.IdCentroCosto, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo }; 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 = info.cb_MotivoAnu; Entity.cb_Estado = info.cb_Estado = "I"; Entity.IdUsuarioAnu = info.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) { 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 = 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); } }
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; } }