public bool modificarDB(cp_orden_pago_det_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_orden_pago_det Entity = Context.cp_orden_pago_det.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdOrdenPago == info.IdOrdenPago);
                    if (Entity != null)
                    {
                        Entity.Referencia        = info.Referencia.Length > 50?info.Referencia.Substring(0, 40):info.Referencia;
                        Entity.Valor_a_pagar     = info.Valor_a_pagar;
                        Entity.Referencia        = info.Referencia;
                        Entity.IdFormaPago       = info.IdFormaPago;
                        Entity.Fecha_Pago        = info.Fecha_Pago;
                        Entity.fecha_hora_Aproba = DateTime.Now;
                        Context.SaveChanges();
                    }
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
 public Boolean ModificarDB(cp_orden_pago_det_Info Info, ref decimal Id, ref string mensaje)
 {
     try
     {
         using (EntitiesCuentasxPagar Entity = new EntitiesCuentasxPagar())
         {
             cp_orden_pago_det ordenPagoDet = Entity.cp_orden_pago_det.FirstOrDefault(v => v.IdEmpresa == Info.IdEmpresa && v.IdOrdenPago == Info.IdOrdenPago);
             if (ordenPagoDet != null)
             {
                 ordenPagoDet.IdEmpresa_cxp  = Info.IdEmpresa_cxp;
                 ordenPagoDet.IdTipoCbte_cxp = Info.IdTipoCbte_cxp;
                 ordenPagoDet.IdCbteCble_cxp = Info.IdCbteCble_cxp;
                 //ordenPagoDet.Valor_a_pagar = Info.Valor_a_pagar;
                 Entity.SaveChanges();
             }
         }
         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.ToString() + " " + ex.Message;
         throw new Exception(ex.ToString());
     }
 }
        public Boolean anularDB(cp_orden_pago_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_orden_pago Entity = Context.cp_orden_pago.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdOrdenPago == info.IdOrdenPago);
                    if (Entity != null)
                    {
                        Entity.Estado          = "I";
                        Entity.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
                        Entity.Fecha_UltAnu    = info.Fecha_UltAnu = DateTime.Now;

                        cp_orden_pago_det Entity_de = Context.cp_orden_pago_det.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdOrdenPago == info.IdOrdenPago);
                        if (Entity != null)
                        {
                            Entity_de.IdEmpresa_cxp  = null;
                            Entity_de.IdTipoCbte_cxp = null;
                            Entity_de.IdCbteCble_cxp = null;
                        }
                    }


                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool modificarDB(cp_orden_pago_det_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_orden_pago_det Entity = Context.cp_orden_pago_det.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdOrdenPago == info.IdOrdenPago);
                    if (Entity != null)
                    {
                        Entity.Valor_a_pagar = info.Valor_a_pagar;
                        Context.SaveChanges();
                    }
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public Boolean GuardarDB(List <cp_orden_pago_det_Info> Lst, ref decimal Id, ref string mensaje)
        {
            try
            {
                foreach (var Item in Lst)
                {
                    using (EntitiesCuentasxPagar Context = new EntitiesCuentasxPagar())
                    {
                        cp_orden_pago_det Deta = new cp_orden_pago_det();

                        Deta.IdEmpresa          = Item.IdEmpresa;
                        Deta.IdOrdenPago        = Id;
                        Deta.Secuencia          = Item.Secuencia = GetSecuencia(Item.IdEmpresa, Convert.ToDecimal(Deta.IdOrdenPago));
                        Item.Secuencia          = Deta.Secuencia;
                        Deta.IdEmpresa_cxp      = Item.IdEmpresa;
                        Deta.IdCbteCble_cxp     = Item.IdCbteCble_cxp == 0 ? null : Item.IdCbteCble_cxp;
                        Deta.IdTipoCbte_cxp     = Item.IdTipoCbte_cxp == 0 ? null : Item.IdTipoCbte_cxp;
                        Deta.IdBanco            = Item.Idbanco == 0 ? null : Item.Idbanco;
                        Deta.Valor_a_pagar      = Item.Valor_a_pagar;
                        Deta.Referencia         = Item.Referencia;
                        Deta.IdFormaPago        = Item.IdFormaPago;
                        Deta.Fecha_Pago         = Item.Fecha_Pago;
                        Deta.IdEstadoAprobacion = Item.IdEstadoAprobacion;
                        Context.cp_orden_pago_det.Add(Deta);
                        Context.SaveChanges();
                    }
                }
                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.ToString() + " " + ex.Message;
                throw new Exception(ex.ToString());
            }
        }
        public bool modificar_estado_aprobacion(int Idempresa, decimal IdOrdenPago, string estado_aprobacion)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_orden_pago_det Entity = Context.cp_orden_pago_det.FirstOrDefault(q => q.IdEmpresa == Idempresa && q.IdOrdenPago == IdOrdenPago);
                    if (Entity != null)
                    {
                        Entity.IdEstadoAprobacion = estado_aprobacion;
                        Entity.fecha_hora_Aproba  = DateTime.Now;
                        Context.SaveChanges();
                    }
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
 public bool validar_existe_op_x_og(int IdEmpresa, int IdTipoCbt, decimal IdCbteCble)
 {
     try
     {
         using (EntitiesCuentasxPagar Contet = new EntitiesCuentasxPagar())
         {
             cp_orden_pago_det Entity = Contet.cp_orden_pago_det.FirstOrDefault(q => q.IdEmpresa_cxp == IdEmpresa && q.IdTipoCbte_cxp == IdTipoCbt && q.IdCbteCble_cxp == IdCbteCble);
             if (Entity == null)
             {
                 return(false);
             }
             else
             {
                 return(true);
             }
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
        public bool GuardarDB(List <cp_orden_pago_det_Info> Lista)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    foreach (var item in Lista)
                    {
                        cp_orden_pago_det Entity = new cp_orden_pago_det
                        {
                            IdEmpresa            = item.IdEmpresa,
                            IdOrdenPago          = item.IdOrdenPago,
                            Secuencia            = item.Secuencia,
                            IdEmpresa_cxp        = item.IdEmpresa_cxp,
                            IdCbteCble_cxp       = item.IdCbteCble_cxp,
                            IdTipoCbte_cxp       = item.IdTipoCbte_cxp,
                            Valor_a_pagar        = item.Valor_a_pagar,
                            Referencia           = item.Referencia,
                            IdFormaPago          = item.IdFormaPago,
                            Fecha_Pago           = item.Fecha_Pago,
                            IdEstadoAprobacion   = item.IdEstadoAprobacion,
                            IdBanco              = item.IdBanco,
                            IdUsuario_Aprobacion = item.IdUsuario_Aprobacion,
                            fecha_hora_Aproba    = item.fecha_hora_Aproba,
                            Motivo_aproba        = item.Motivo_aproba
                        };
                        Context.cp_orden_pago_det.Add(Entity);
                    }
                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool anularDB(cp_orden_pago_det_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_orden_pago_det Entity = Context.cp_orden_pago_det.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdOrdenPago == info.IdOrdenPago);
                    if (Entity != null)
                    {
                        Entity.IdTipoCbte_cxp    = null;
                        Entity.IdCbteCble_cxp    = null;
                        Entity.fecha_hora_Aproba = DateTime.Now;
                        Context.SaveChanges();
                    }
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #10
0
        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 guardarDB(cp_orden_pago_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_orden_pago Entity = new cp_orden_pago
                    {
                        IdEmpresa          = info.IdEmpresa,
                        IdSucursal         = info.IdSucursal,
                        IdOrdenPago        = info.IdOrdenPago = get_id(info.IdEmpresa),
                        Observacion        = info.Observacion,
                        IdTipo_op          = info.IdTipo_op,
                        IdTipo_Persona     = info.IdTipo_Persona,
                        IdPersona          = info.IdPersona,
                        IdEntidad          = info.IdEntidad,
                        Fecha              = info.Fecha.Date,
                        IdEstadoAprobacion = info.IdEstadoAprobacion,
                        IdFormaPago        = info.IdFormaPago,
                        Estado             = "A",
                        IdUsuario          = info.IdUsuario,
                        Fecha_Transac      = info.Fecha_Transac = DateTime.Now,
                        ReferenciaGen      = info.ReferenciaGen,
                        SecuenciaProveedor = info.SecuenciaProveedor
                    };

                    Context.cp_orden_pago.Add(Entity);


                    cp_orden_pago_det_Data oData_det = new cp_orden_pago_det_Data();
                    foreach (var item in info.detalle)
                    {
                        cp_orden_pago_det Entity_det = new cp_orden_pago_det
                        {
                            IdEmpresa          = info.IdEmpresa,
                            IdEmpresa_cxp      = info.IdEmpresa,
                            IdOrdenPago        = info.IdOrdenPago,
                            IdFormaPago        = info.IdFormaPago,
                            Secuencia          = 1,
                            IdTipoCbte_cxp     = (item.IdTipoCbte_cxp == 0 | item.IdTipoCbte_cxp == null)? info.info_comprobante.IdTipoCbte:item.IdTipoCbte_cxp,
                            IdCbteCble_cxp     = (item.IdCbteCble_cxp == 0 | item.IdCbteCble_cxp == null) ? info.info_comprobante.IdCbteCble : item.IdCbteCble_cxp,
                            Fecha_Pago         = info.Fecha,
                            IdEstadoAprobacion = info.IdEstadoAprobacion,
                            Valor_a_pagar      = (item.Valor_a_pagar) == 0?info.Valor_a_pagar:item.Valor_a_pagar,
                            Referencia         = item.Referencia
                        };
                        if (item.Referencia == null)
                        {
                            if (info.Observacion.Length > 50)
                            {
                                Entity_det.Referencia = info.Observacion.Substring(0, 49);
                            }
                            else
                            {
                                Entity_det.Referencia = info.Observacion;
                            }
                        }
                        ;
                        Context.cp_orden_pago_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 = "cp_orden_pago_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
        public Boolean guardarDB(cp_orden_pago_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_orden_pago Entity = new cp_orden_pago
                    {
                        IdEmpresa          = info.IdEmpresa,
                        IdSucursal         = info.IdSucursal,
                        IdOrdenPago        = info.IdOrdenPago = get_id(info.IdEmpresa),
                        Observacion        = info.Observacion,
                        IdTipo_op          = info.IdTipo_op,
                        IdTipo_Persona     = info.IdTipo_Persona,
                        IdPersona          = info.IdPersona,
                        IdEntidad          = info.IdEntidad,
                        Fecha              = info.Fecha.Date,
                        IdEstadoAprobacion = info.IdEstadoAprobacion,
                        IdFormaPago        = info.IdFormaPago,
                        IdTipoFlujo        = info.IdTipoFlujo,
                        Estado             = "A",
                        IdUsuario          = info.IdUsuario,
                        Fecha_Transac      = info.Fecha_Transac = DateTime.Now
                    };

                    if (info.IdSolicitudPago != null)
                    {
                        decimal IdSolicitudPago = Convert.ToDecimal(info.IdSolicitudPago);
                        var     sol             = Context.cp_SolicitudPago.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSolicitud == IdSolicitudPago).FirstOrDefault();
                        if (sol != null)
                        {
                            Entity.IdSolicitudPago = sol.IdSolicitud;
                        }
                    }

                    Context.cp_orden_pago.Add(Entity);


                    cp_orden_pago_det_Data oData_det = new cp_orden_pago_det_Data();
                    foreach (var item in info.detalle)
                    {
                        cp_orden_pago_det Entity_det = new cp_orden_pago_det
                        {
                            IdEmpresa          = info.IdEmpresa,
                            IdEmpresa_cxp      = info.IdEmpresa,
                            IdOrdenPago        = info.IdOrdenPago,
                            IdFormaPago        = info.IdFormaPago,
                            Secuencia          = 1,
                            IdTipoCbte_cxp     = (item.IdTipoCbte_cxp == 0 | item.IdTipoCbte_cxp == null)? info.info_comprobante.IdTipoCbte:item.IdTipoCbte_cxp,
                            IdCbteCble_cxp     = (item.IdCbteCble_cxp == 0 | item.IdCbteCble_cxp == null) ? info.info_comprobante.IdCbteCble : item.IdCbteCble_cxp,
                            Fecha_Pago         = info.Fecha,
                            IdEstadoAprobacion = info.IdEstadoAprobacion,
                            Valor_a_pagar      = (item.Valor_a_pagar) == 0?info.Valor_a_pagar:item.Valor_a_pagar,
                            Referencia         = item.Referencia
                        };
                        if (item.Referencia == null)
                        {
                            if (info.Observacion.Length > 50)
                            {
                                Entity_det.Referencia = info.Observacion.Substring(0, 49);
                            }
                            else
                            {
                                Entity_det.Referencia = info.Observacion;
                            }
                        }
                        ;
                        Context.cp_orden_pago_det.Add(Entity_det);
                    }
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public Boolean guardarDB(cp_orden_pago_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_orden_pago Entity = new cp_orden_pago
                    {
                        IdEmpresa          = info.IdEmpresa,
                        IdOrdenPago        = info.IdOrdenPago = get_id(info.IdEmpresa),
                        Observacion        = info.Observacion,
                        IdTipo_op          = info.IdTipo_op,
                        IdTipo_Persona     = info.IdTipo_Persona,
                        IdPersona          = info.IdPersona,
                        IdEntidad          = info.IdEntidad,
                        Fecha              = info.Fecha.Date,
                        IdEstadoAprobacion = info.IdEstadoAprobacion,
                        IdFormaPago        = info.IdFormaPago,
                        Fecha_Pago         = info.Fecha_Pago.Date,
                        IdBanco            = info.IdBanco,
                        IdTipoFlujo        = info.IdTipoFlujo,
                        IdTipoMovi         = info.IdTipoMovi,
                        Estado             = "A",
                        IdUsuario          = info.IdUsuario,
                        Fecha_Transac      = info.Fecha_Transac = DateTime.Now
                    };
                    Context.cp_orden_pago.Add(Entity);


                    cp_orden_pago_det_Data oData_det = new cp_orden_pago_det_Data();
                    foreach (var item in info.detalle)
                    {
                        cp_orden_pago_det Entity_det = new cp_orden_pago_det
                        {
                            IdEmpresa     = info.IdEmpresa,
                            IdEmpresa_cxp = info.IdEmpresa,
                            IdOrdenPago   = info.IdOrdenPago,
                            IdFormaPago   = info.IdFormaPago,

                            IdTipoCbte_cxp     = (item.IdTipoCbte_cxp == 0 | item.IdTipoCbte_cxp == null)? info.info_comprobante.IdTipoCbte:item.IdTipoCbte_cxp,
                            IdCbteCble_cxp     = (item.IdCbteCble_cxp == 0 | item.IdCbteCble_cxp == null) ? info.info_comprobante.IdCbteCble : item.IdCbteCble_cxp,
                            Fecha_Pago         = info.Fecha_Pago,
                            IdEstadoAprobacion = info.IdEstadoAprobacion,
                            Valor_a_pagar      = (item.Valor_a_pagar) == 0?info.Valor_a_pagar:item.Valor_a_pagar,
                            Referencia         = item.Referencia
                        };
                        if (item.Referencia == null)
                        {
                            if (info.Observacion.Length > 50)
                            {
                                Entity_det.Referencia = info.Observacion.Substring(0, 49);
                            }
                            else
                            {
                                Entity_det.Referencia = info.Observacion;
                            }
                        }
                        ;
                        Context.cp_orden_pago_det.Add(Entity_det);
                    }
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception e)
            {
                throw;
            }
        }