public ro_Parametros_Info get_info(int IdEmpresa) { try { ro_Parametros_Info info = new ro_Parametros_Info(); using (Entities_rrhh Context = new Entities_rrhh()) { ro_Parametros q = Context.ro_Parametros.FirstOrDefault(v => v.IdEmpresa == IdEmpresa); if (q == null) { return(info); } info = new ro_Parametros_Info { IdEmpresa = q.IdEmpresa, IdTipoCbte_AsientoSueldoXPagar = q.IdTipoCbte_AsientoSueldoXPagar, Genera_op_por_acta_finiquito = q.Genera_op_por_acta_finiquito, Genera_op_por_liq_vacaciones = q.Genera_op_por_liq_vacaciones, Genera_op_por_prestamos = q.Genera_op_por_prestamos, genera_op_x_pago = q.genera_op_x_pago, Genera_op_x_pago_x_empleao = q.Genera_op_x_pago_x_empleao, IdTipo_op_acta_finiquito = q.IdTipo_op_acta_finiquito, IdTipo_op_sueldo_por_pagar = q.IdTipo_op_sueldo_por_pagar, IdTipo_op_prestamos = q.IdTipo_op_prestamos, IdTipo_op_vacaciones = q.IdTipo_op_vacaciones, Sueldo_basico = q.Sueldo_basico, Porcentaje_aporte_patr = q.Porcentaje_aporte_patr, Porcentaje_aporte_pers = q.Porcentaje_aporte_pers, IdRubro_acta_finiquito = q.IdRubro_acta_finiquito, EstadoCreacionPrestamos = q.EstadoCreacionPrestamos, Porcentaje_anticipo = q.Porcentaje_anticipo, IdNomina_General = q.IdNomina_General, IdNomina_TipoLiqui_PagoUtilidad = q.IdNomina_TipoLiqui_PagoUtilidad }; } return(info); } catch (Exception ex) { throw; } }
public ro_Parametros_Info get_info(int IdEmpresa) { try { ro_Parametros_Info info = new ro_Parametros_Info(); using (Entities_rrhh Context = new Entities_rrhh()) { ro_Parametros q = Context.ro_Parametros.FirstOrDefault(v => v.IdEmpresa == IdEmpresa); if (q == null) { return(null); } info = new ro_Parametros_Info { IdEmpresa = q.IdEmpresa, IdTipoCbte_AsientoSueldoXPagar = q.IdTipoCbte_AsientoSueldoXPagar, GeneraOP_PagoPrestamos = q.GeneraOP_PagoPrestamos, IdTipoOP_PagoPrestamos = q.IdTipoOP_PagoPrestamos, IdFormaOP_PagoPrestamos = q.IdFormaOP_PagoPrestamos, GeneraOP_LiquidacionVacaciones = q.GeneraOP_LiquidacionVacaciones, IdTipoOP_LiquidacionVacaciones = q.IdTipoOP_LiquidacionVacaciones, IdTipoFlujoOP_LiquidacionVacaciones = q.IdTipoFlujoOP_LiquidacionVacaciones, IdFormaOP_LiquidacionVacaciones = q.IdFormaOP_LiquidacionVacaciones, DescuentaIESS_LiquidacionVacaciones = q.DescuentaIESS_LiquidacionVacaciones, cta_contable_IESS_Vacaciones = q.cta_contable_IESS_Vacaciones, GeneraOP_ActaFiniquito = q.GeneraOP_ActaFiniquito, IdTipoOP_ActaFiniquito = q.IdTipoOP_ActaFiniquito, IdFormaPagoOP_ActaFiniquito = q.IdFormaPagoOP_ActaFiniquito, Sueldo_basico = q.Sueldo_basico, Porcentaje_aporte_patr = q.Porcentaje_aporte_patr, Porcentaje_aporte_pers = q.Porcentaje_aporte_pers, IdRubro_acta_finiquito = q.IdRubro_acta_finiquito, Descripcion = "Parametrización contable" }; } return(info); } catch (Exception) { throw; } }
public bool modificarDB(ro_Parametros_Info info) { try { using (Entities_rrhh Context = new Entities_rrhh()) { ro_Parametros Entity = Context.ro_Parametros.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa); if (Entity == null) { return(false); } Entity.IdTipoCbte_AsientoSueldoXPagar = Convert.ToInt32(info.IdTipoCbte_AsientoSueldoXPagar); Entity.Genera_op_por_acta_finiquito = info.Genera_op_por_acta_finiquito; Entity.Genera_op_por_liq_vacaciones = info.Genera_op_por_liq_vacaciones; Entity.Genera_op_por_prestamos = info.Genera_op_por_prestamos; Entity.genera_op_x_pago = info.genera_op_x_pago; Entity.Genera_op_x_pago_x_empleao = info.Genera_op_x_pago_x_empleao; Entity.IdTipo_op_acta_finiquito = info.IdTipo_op_acta_finiquito; Entity.IdTipo_op_prestamos = info.IdTipo_op_prestamos; Entity.IdTipo_op_sueldo_por_pagar = info.IdTipo_op_sueldo_por_pagar; Entity.IdTipo_op_vacaciones = info.IdTipo_op_vacaciones; Entity.Sueldo_basico = info.Sueldo_basico; Entity.Porcentaje_aporte_pers = info.Porcentaje_aporte_pers; Entity.Porcentaje_aporte_patr = info.Porcentaje_aporte_patr; Entity.IdRubro_acta_finiquito = info.IdRubro_acta_finiquito; Entity.genera_op_x_pago = info.genera_op_x_pago; Entity.Genera_op_x_pago_x_empleao = info.Genera_op_x_pago_x_empleao; Entity.EstadoCreacionPrestamos = info.EstadoCreacionPrestamos; Entity.Porcentaje_anticipo = info.Porcentaje_anticipo; Entity.IdNomina_General = info.IdNomina_General; Entity.IdNomina_TipoLiqui_PagoUtilidad = info.IdNomina_TipoLiqui_PagoUtilidad; Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool modificarDB(ro_Parametros_Info info) { try { using (Entities_rrhh Context = new Entities_rrhh()) { ro_Parametros Entity = Context.ro_Parametros.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa); if (Entity == null) { return(false); } Entity.IdTipoCbte_AsientoSueldoXPagar = info.IdTipoCbte_AsientoSueldoXPagar; Entity.GeneraOP_PagoPrestamos = info.GeneraOP_PagoPrestamos; Entity.IdTipoOP_PagoPrestamos = info.IdTipoOP_PagoPrestamos; Entity.IdFormaOP_PagoPrestamos = info.IdFormaOP_PagoPrestamos; Entity.GeneraOP_LiquidacionVacaciones = info.GeneraOP_LiquidacionVacaciones; Entity.IdTipoOP_LiquidacionVacaciones = info.IdTipoOP_LiquidacionVacaciones; Entity.IdTipoFlujoOP_LiquidacionVacaciones = info.IdTipoFlujoOP_LiquidacionVacaciones; Entity.IdFormaOP_LiquidacionVacaciones = info.IdFormaOP_LiquidacionVacaciones; Entity.DescuentaIESS_LiquidacionVacaciones = info.DescuentaIESS_LiquidacionVacaciones; Entity.cta_contable_IESS_Vacaciones = info.cta_contable_IESS_Vacaciones; Entity.GeneraOP_ActaFiniquito = info.GeneraOP_ActaFiniquito; Entity.IdTipoOP_ActaFiniquito = info.IdTipoOP_ActaFiniquito; Entity.IdFormaPagoOP_ActaFiniquito = info.IdFormaPagoOP_ActaFiniquito; Entity.Sueldo_basico = info.Sueldo_basico; Entity.Porcentaje_aporte_pers = info.Porcentaje_aporte_pers; Entity.Porcentaje_aporte_patr = info.Porcentaje_aporte_patr; Entity.IdRubro_acta_finiquito = info.IdRubro_acta_finiquito; Entity.genera_op_x_pago = info.genera_op_x_pago; Entity.Genera_op_x_pago_x_empleao = info.Genera_op_x_pago_x_empleao; Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool guardarDB(ro_Parametros_Info info) { try { using (Entities_rrhh Context = new Entities_rrhh()) { ro_Parametros Entity = new ro_Parametros { IdEmpresa = info.IdEmpresa, IdTipoCbte_AsientoSueldoXPagar = info.IdTipoCbte_AsientoSueldoXPagar, GeneraOP_PagoPrestamos = info.GeneraOP_PagoPrestamos, IdTipoOP_PagoPrestamos = info.IdTipoOP_PagoPrestamos, IdFormaOP_PagoPrestamos = info.IdFormaOP_PagoPrestamos, GeneraOP_LiquidacionVacaciones = info.GeneraOP_LiquidacionVacaciones, IdTipoOP_LiquidacionVacaciones = info.IdTipoOP_LiquidacionVacaciones, IdTipoFlujoOP_LiquidacionVacaciones = info.IdTipoFlujoOP_LiquidacionVacaciones, IdFormaOP_LiquidacionVacaciones = info.IdFormaOP_LiquidacionVacaciones, DescuentaIESS_LiquidacionVacaciones = info.DescuentaIESS_LiquidacionVacaciones, cta_contable_IESS_Vacaciones = info.cta_contable_IESS_Vacaciones, GeneraOP_ActaFiniquito = info.GeneraOP_ActaFiniquito, IdTipoOP_ActaFiniquito = info.IdTipoOP_ActaFiniquito, IdFormaPagoOP_ActaFiniquito = info.IdFormaPagoOP_ActaFiniquito, Sueldo_basico = info.Sueldo_basico, Porcentaje_aporte_patr = info.Porcentaje_aporte_patr, Porcentaje_aporte_pers = info.Porcentaje_aporte_pers, IdRubro_acta_finiquito = info.IdRubro_acta_finiquito, genera_op_x_pago = info.genera_op_x_pago, Genera_op_x_pago_x_empleao = info.Genera_op_x_pago_x_empleao }; Context.ro_Parametros.Add(Entity); Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool guardarDB(ro_Parametros_Info info) { try { using (Entities_rrhh Context = new Entities_rrhh()) { ro_Parametros Entity = new ro_Parametros { IdEmpresa = info.IdEmpresa, IdTipoCbte_AsientoSueldoXPagar = Convert.ToInt32(info.IdTipoCbte_AsientoSueldoXPagar), Genera_op_por_acta_finiquito = info.Genera_op_por_acta_finiquito, Genera_op_por_liq_vacaciones = info.Genera_op_por_liq_vacaciones, Genera_op_por_prestamos = info.Genera_op_por_prestamos, genera_op_x_pago = info.genera_op_x_pago, Genera_op_x_pago_x_empleao = info.Genera_op_x_pago_x_empleao, IdTipo_op_acta_finiquito = info.IdTipo_op_acta_finiquito, IdTipo_op_sueldo_por_pagar = info.IdTipo_op_sueldo_por_pagar, IdTipo_op_prestamos = info.IdTipo_op_prestamos, IdTipo_op_vacaciones = info.IdTipo_op_vacaciones, Sueldo_basico = info.Sueldo_basico, Porcentaje_aporte_patr = info.Porcentaje_aporte_patr, Porcentaje_aporte_pers = info.Porcentaje_aporte_pers, IdRubro_acta_finiquito = info.IdRubro_acta_finiquito, EstadoCreacionPrestamos = info.EstadoCreacionPrestamos, Porcentaje_anticipo = info.Porcentaje_anticipo , IdNomina_General = info.IdNomina_General, IdNomina_TipoLiqui_PagoUtilidad = info.IdNomina_TipoLiqui_PagoUtilidad }; Context.ro_Parametros.Add(Entity); Context.SaveChanges(); } return(true); } catch (Exception ex) { 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 Boolean GrabarBD(ro_Parametros_Info info, ref string msg) { try { using (EntitiesRoles db = new EntitiesRoles()) { var contact = (from a in db.ro_Parametros where a.IdEmpresa == info.IdEmpresa select a).FirstOrDefault(); if (contact != null) { contact.IdTipoCbte_AsientoSueldoXPagar = info.IdTipoCbte_AsientoSueldoXPagar; contact.IdTipo_mov_Ingreso = info.IdTipo_mov_Ingreso; contact.IdTipo_mov_Egreso = info.IdTipo_mov_Egreso; contact.Dias_considerado_ultimo_pago_quincela_Liq = info.Dias_considerado_ultimo_pago_quincela_Liq; contact.IdTipoFlujoOP_PagoTerceros = info.IdTipoFlujoOP_PagoTerceros; contact.IdBancoOP_PagoTerceros = info.IdBancoOP_PagoTerceros; contact.IdFormaOP_PagoTerceros = info.IdFormaOP_PagoTerceros; contact.IdTipoOP_PagoTerceros = info.IdTipoOP_PagoTerceros; contact.GeneraraOP_PagoTerceros = info.GeneraraOP_PagoTerceros; contact.GeneraOP_PagoPrestamos = info.GeneraOP_PagoPrestamos; contact.IdBancoOP_PagoPrestamos = info.IdBancoOP_PagoPrestamos; contact.IdFormaOP_PagoPrestamos = info.IdFormaOP_PagoPrestamos; contact.IdTipoFlujoOP_PagoPrestamos = info.IdTipoFlujoOP_PagoPrestamos; contact.IdTipoOP_PagoPrestamos = info.IdTipoOP_PagoPrestamos; contact.DescuentaIESS_LiquidacionVacaciones = info.DescuentaIESS_LiquidacionVacaciones; contact.GeneraOP_LiquidacionVacaciones = info.GeneraOP_LiquidacionVacaciones; contact.IdBancoOP_LiquidacionVacaciones = info.IdBancoOP_LiquidacionVacaciones; contact.IdFormaOP_LiquidacionVacaciones = info.IdFormaOP_LiquidacionVacaciones; contact.IdTipoFlujoOP_LiquidacionVacaciones = info.IdTipoFlujoOP_LiquidacionVacaciones; contact.IdTipoOP_LiquidacionVacaciones = info.IdTipoOP_LiquidacionVacaciones; contact.cta_contable_IESS_Vacaciones = info.cta_contable_IESS_Vacaciones; contact.GeneraOP_ActaFiniquito = info.GeneraOP_ActaFiniquito; contact.IdBancoOP_ActaFiniquito = info.IdBancoOP_ActaFiniquito; contact.IdFormaPagoOP_ActaFiniquito = info.IdFormaPagoOP_ActaFiniquito; contact.IdTipoFlujoOP_ActaFiniquito = info.IdTipoFlujoOP_ActaFiniquito; contact.IdTipoOP_ActaFiniquito = info.IdTipoOP_ActaFiniquito; contact.IdNomina_Tipo_Para_Desc_Automat = info.IdNomina_Tipo_Para_Desc_Automat; contact.IdNominatipoLiq_Para_Desc_Automat = info.IdNominatipoLiq_Para_Desc_Automat; db.SaveChanges(); } else { ro_Parametros add = new ro_Parametros(); add.IdEmpresa = info.IdEmpresa; add.IdTipoCbte_AsientoSueldoXPagar = info.IdTipoCbte_AsientoSueldoXPagar; add.IdTipo_mov_Ingreso = info.IdTipo_mov_Ingreso; add.IdTipo_mov_Egreso = info.IdTipo_mov_Egreso; add.Dias_considerado_ultimo_pago_quincela_Liq = info.Dias_considerado_ultimo_pago_quincela_Liq; add.IdTipoFlujoOP_PagoTerceros = info.IdTipoFlujoOP_PagoTerceros; add.IdBancoOP_PagoTerceros = info.IdBancoOP_PagoTerceros; add.IdFormaOP_PagoTerceros = info.IdFormaOP_PagoTerceros; add.IdFormaOP_PagoTerceros = info.IdFormaOP_PagoTerceros; add.GeneraraOP_PagoTerceros = info.GeneraraOP_PagoTerceros; add.GeneraOP_PagoPrestamos = info.GeneraOP_PagoPrestamos; add.IdBancoOP_PagoPrestamos = info.IdBancoOP_PagoPrestamos; add.IdFormaOP_PagoPrestamos = info.IdFormaOP_PagoPrestamos; add.IdTipoFlujoOP_PagoPrestamos = info.IdTipoFlujoOP_PagoPrestamos; add.IdTipoOP_PagoPrestamos = info.IdTipoOP_PagoPrestamos; add.DescuentaIESS_LiquidacionVacaciones = info.DescuentaIESS_LiquidacionVacaciones; add.GeneraOP_LiquidacionVacaciones = info.GeneraOP_LiquidacionVacaciones; add.IdBancoOP_LiquidacionVacaciones = info.IdBancoOP_LiquidacionVacaciones; add.IdFormaOP_LiquidacionVacaciones = info.IdFormaOP_LiquidacionVacaciones; add.IdTipoFlujoOP_LiquidacionVacaciones = info.IdTipoFlujoOP_LiquidacionVacaciones; add.IdTipoOP_LiquidacionVacaciones = info.IdTipoOP_LiquidacionVacaciones; add.cta_contable_IESS_Vacaciones = info.cta_contable_IESS_Vacaciones; add.IdNomina_Tipo_Para_Desc_Automat = info.IdNomina_Tipo_Para_Desc_Automat; add.IdNominatipoLiq_Para_Desc_Automat = info.IdNominatipoLiq_Para_Desc_Automat; db.ro_Parametros.Add(add); db.SaveChanges(); } } return(true); } catch (Exception ex) { string array = 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(), "", array, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); mensaje = ex.InnerException + " " + ex.Message; throw new Exception(ex.InnerException.ToString()); } }
public bool modificarDB(ro_participacion_utilidad_Info info) { try { using (Entities_rrhh Context = new Entities_rrhh()) { int IdNomina_General; int IdNomina_TipoLiqui_PagoUtilidad; ro_rubros_calculados RubrosCalculados = Context.ro_rubros_calculados.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa); if (RubrosCalculados == null | RubrosCalculados.IdRubro_utilidad == null) { return(false); } #region Nomina y periodo DateTime fi = new DateTime(info.IdPeriodo, 1, 1); DateTime ff = new DateTime(info.IdPeriodo, 12, 31); ro_Parametros param = Context.ro_Parametros.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa); if (param == null || param.IdNomina_General == null || param.IdNomina_TipoLiqui_PagoUtilidad == null) { return(false); } IdNomina_General = Convert.ToInt32(param.IdNomina_General); IdNomina_TipoLiqui_PagoUtilidad = Convert.ToInt32(param.IdNomina_TipoLiqui_PagoUtilidad); ro_periodo Entity_periodo = Context.ro_periodo.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdPeriodo == info.IdPeriodo); if (Entity_periodo == null) { Context.ro_periodo.Add(new ro_periodo { IdEmpresa = info.IdEmpresa, IdPeriodo = info.IdPeriodo, pe_FechaIni = new DateTime(info.IdPeriodo, 1, 1), pe_FechaFin = new DateTime(info.IdPeriodo, 12, 31), pe_anio = info.IdPeriodo, pe_estado = "A", IdUsuario = info.UsuarioIngresa, Fecha_Transac = DateTime.Now }); ro_periodo_x_ro_Nomina_TipoLiqui Entity_periodo_nom = Context.ro_periodo_x_ro_Nomina_TipoLiqui.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdPeriodo == info.IdPeriodo && q.IdNomina_Tipo == IdNomina_General && q.IdNomina_TipoLiqui == IdNomina_TipoLiqui_PagoUtilidad); Context.ro_periodo_x_ro_Nomina_TipoLiqui.Add(new ro_periodo_x_ro_Nomina_TipoLiqui { IdEmpresa = info.IdEmpresa, IdPeriodo = info.IdPeriodo, IdNomina_Tipo = IdNomina_General, IdNomina_TipoLiqui = IdNomina_TipoLiqui_PagoUtilidad, Cerrado = "N", Procesado = "S", Contabilizado = "N" }); } #endregion #region Utilidad cabecera ro_participacion_utilidad Entity = Context.ro_participacion_utilidad.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdUtilidad == info.IdUtilidad); if (Entity == null) { return(false); } Entity.IdUsuarioModifica = info.IdUsuarioModifica; Entity.BaseUtilidad = info.BaseUtilidad; Entity.UtilidadDerechoIndividual = info.UtilidadDerechoIndividual; Entity.UtilidadCargaFamiliar = info.UtilidadCargaFamiliar; Entity.Utilidad = info.Utilidad; Entity.Fecha_ultima_modif = DateTime.Now; #endregion #region Rol ro_rol Entity_rol = Context.ro_rol.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdNominaTipo == IdNomina_General && q.IdNominaTipoLiqui == IdNomina_TipoLiqui_PagoUtilidad); decimal rolId = 0; if (Entity_rol == null) { var lst = from q in Context.ro_rol where q.IdEmpresa == info.IdEmpresa select q; rolId = lst.Max(q => q.IdRol) + 1; Context.ro_rol.Add(new ro_rol { IdRol = rolId, IdSucursal = info.IdSucursal, IdEmpresa = info.IdEmpresa, IdNominaTipo = IdNomina_General, IdNominaTipoLiqui = IdNomina_TipoLiqui_PagoUtilidad, Cerrado = "N", Descripcion = "PAGO DE UTILIDA " + info.IdPeriodo.ToString(), UsuarioIngresa = info.UsuarioIngresa, FechaIngresa = DateTime.Now }); } else { Entity_rol.Observacion = "PAGO DE UTILIDA " + info.IdPeriodo.ToString(); Entity_rol.FechaModifica = DateTime.Now; rolId = Entity_rol.IdRol; var rol_detalle = Context.ro_rol_detalle.Where(s => s.IdEmpresa == info.IdEmpresa && s.IdRol == Entity_rol.IdRol); Context.ro_rol_detalle.RemoveRange(rol_detalle); } #region INSERTANDO ROL DETALLE var utilidad_detalle = Context.ro_participacion_utilidad_empleado.Where(s => s.IdEmpresa == info.IdEmpresa && s.IdUtilidad == info.IdUtilidad); Context.ro_participacion_utilidad_empleado.RemoveRange(utilidad_detalle); foreach (var item in info.detalle)// LISTADO DE EMPLEADOS CON BENEFICIOS DE UTILIDAS { double TotalEgreso = 0; // DIAS TRABAJADOS Context.ro_rol_detalle.Add(new ro_rol_detalle { IdEmpresa = info.IdEmpresa, IdRol = rolId, IdEmpleado = item.IdEmpleado, IdRubro = RubrosCalculados.IdRubro_dias_trabajados, Observacion = " ", IdSucursal = item.IdSucursal, rub_visible_reporte = true, Orden = 0, Valor = item.DiasTrabajados }); // TOTAL DE UTILIDAD Context.ro_rol_detalle.Add(new ro_rol_detalle { IdEmpresa = info.IdEmpresa, IdRol = rolId, IdEmpleado = item.IdEmpleado, IdRubro = RubrosCalculados.IdRubro_utilidad, Observacion = " ", IdSucursal = item.IdSucursal, rub_visible_reporte = true, Orden = 0, Valor = item.ValorTotal }); // TOTAL DE INGRESO Context.ro_rol_detalle.Add(new ro_rol_detalle { IdEmpresa = info.IdEmpresa, IdRol = rolId, IdEmpleado = item.IdEmpleado, IdRubro = RubrosCalculados.IdRubro_tot_ing, Observacion = " ", IdSucursal = item.IdSucursal, rub_visible_reporte = true, Orden = 0, Valor = item.ValorTotal }); #region Novedades y prestamos POR EMPLEADO string sql = ""; sql = " SELECT n.IdEmpresa, n.IdEmpleado,IdSucursal, nd.IdRubro,sum( nd.Valor)Valor " + "FROM dbo.ro_empleado_Novedad AS n INNER JOIN " + "dbo.ro_empleado_novedad_det AS nd ON n.IdEmpresa = nd.IdEmpresa AND n.IdNovedad = nd.IdNovedad " + "where nd.EstadoCobro = 'PEN' and n.IdEmpresa='" + info.IdEmpresa + "' and IdNomina_Tipo=" + param.IdNomina_General + " and n.IdNomina_TipoLiqui=" + param.IdNomina_TipoLiqui_PagoUtilidad + "" + "and nd.FechaPago between '" + fi.ToString("yyyy-MM-dd") + "' and '" + ff.ToString("yyyy-MM-dd") + "'" + " and n.IdEmpleado='" + item.IdEmpleado + "'" + "GROUP BY n.IdEmpresa, n.IdEmpleado,IdSucursal, nd.IdRubro, nd.Valor " + "union all " + "SELECT p.IdEmpresa, p.IdEmpleado,IdSucursal, p.IdRubro, pd.TotalCuota " + "FROM dbo.ro_prestamo AS p INNER JOIN " + " dbo.ro_prestamo_detalle AS pd ON p.IdEmpresa = pd.IdEmpresa AND p.IdPrestamo = pd.IdPrestamo INNER JOIN " + " dbo.ro_empleado AS e ON p.IdEmpresa = e.IdEmpresa AND p.IdEmpleado = e.IdEmpleado " + " where pd.EstadoPago = 'PEN' and p.IdEmpresa='" + info.IdEmpresa + "' and descuento_ben_soc='1' and pd.IdNominaTipoLiqui=" + param.IdNomina_TipoLiqui_PagoUtilidad + "" + " and pd.FechaPago between '" + fi.ToString("yyyy-MM-dd") + "' and '" + ff.ToString("yyyy-MM-dd") + "'" + " and p.IdEmpleado='" + item.IdEmpleado + "'" + " GROUP BY p.IdEmpresa, p.IdEmpleado,e.IdSucursal, pd.TotalCuota, p.IdRubro"; var lstNovedades = Context.Database.SqlQuery <ro_empleado_novedad_det_Info>(sql).ToList(); foreach (var item_ in lstNovedades) { Context.ro_rol_detalle.Add(new ro_rol_detalle { IdEmpresa = info.IdEmpresa, IdRol = rolId, IdEmpleado = item_.IdEmpleado, IdRubro = item_.IdRubro, Observacion = " ", IdSucursal = item_.IdSucursal, rub_visible_reporte = true, Orden = 0, Valor = item_.Valor }); } #endregion #region Total de egreso por empleado var lst_total_egreso = lstNovedades.GroupBy(c => new { c.IdEmpleado, c.IdSucursal }) .Select(x => new { IdEmpleado = x.Key.IdEmpleado, IdSucursal = x.Key.IdSucursal, Valor = x.Sum(y => y.Valor) }).ToList(); foreach (var item_egr in lst_total_egreso) { TotalEgreso = item_egr.Valor; Context.ro_rol_detalle.Add(new ro_rol_detalle { IdEmpresa = info.IdEmpresa, IdRol = rolId, IdEmpleado = item_egr.IdEmpleado, IdRubro = RubrosCalculados.IdRubro_tot_egr, Observacion = " ", IdSucursal = item_egr.IdSucursal, rub_visible_reporte = true, Orden = 0, Valor = item_egr.Valor }); } #endregion #region liquido a recibir en rol Context.ro_rol_detalle.Add(new ro_rol_detalle { IdEmpresa = info.IdEmpresa, IdRol = rolId, IdEmpleado = item.IdEmpleado, IdRubro = RubrosCalculados.IdRubro_tot_pagar, Observacion = " ", IdSucursal = item.IdSucursal, rub_visible_reporte = true, Orden = 0, Valor = item.ValorTotal - TotalEgreso }); #endregion #region detalle de utilidad ro_participacion_utilidad_empleado Entity_det = new ro_participacion_utilidad_empleado { IdEmpresa = info.IdEmpresa, IdUtilidad = info.IdUtilidad, IdEmpleado = item.IdEmpleado, CargasFamiliares = item.CargasFamiliares, ValorCargaFamiliar = item.ValorCargaFamiliar, ValorIndividual = item.ValorIndividual, ValorTotal = item.ValorTotal, DiasTrabajados = item.DiasTrabajados, Descuento = TotalEgreso, NetoRecibir = (item.ValorTotal - TotalEgreso) }; Context.ro_participacion_utilidad_empleado.Add(Entity_det); #endregion #endregion } #endregion Context.SaveChanges(); } return(true); } catch (Exception e) { throw; } }