示例#1
0
        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;
            }
        }
示例#2
0
        public bool anularDB(cp_proveedor_detalle_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_proveedor_detalle Entity = Context.cp_proveedor_detalle.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdProveedor == info.IdProveedor && q.Secuencia == info.Secuencia);
                    if (Entity == null)
                    {
                        return(false);
                    }
                    Entity.Estado = false;

                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#3
0
        public bool ModificarDB_campos_op(cp_cuotas_x_doc_det_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_cuotas_x_doc_det Entity = Context.cp_cuotas_x_doc_det.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdCuota == info.IdCuota && q.Secuencia == info.Secuencia);
                    if (Entity != null)
                    {
                        Entity.IdEmpresa_op = info.IdEmpresa_op;
                        Entity.IdOrdenPago  = info.IdOrdenPago;
                        Entity.Secuencia_op = info.Secuencia_op;
                        Context.SaveChanges();
                    }
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public Boolean modificarDB(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.Observacion        = info.Observacion;
                        Entity.IdTipo_op          = info.IdTipo_op;
                        Entity.IdTipo_Persona     = info.IdTipo_Persona;
                        Entity.IdPersona          = info.IdPersona;
                        Entity.IdEntidad          = info.IdEntidad;
                        Entity.Fecha              = info.Fecha.Date;
                        Entity.IdEstadoAprobacion = info.IdEstadoAprobacion;
                        Entity.IdFormaPago        = info.IdFormaPago;
                        Entity.IdUsuarioUltMod    = info.IdUsuario;
                        Entity.IdSucursal         = info.IdSucursal;
                        Entity.ReferenciaGen      = info.ReferenciaGen;
                        Entity.SecuenciaProveedor = info.SecuenciaProveedor;

                        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 = "modificarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
 public bool guardarDB(List <cp_SRI_Importacion_Info> Lista)
 {
     try
     {
         using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
         {
             foreach (var item in Lista)
             {
                 cp_SRI_Importacion Entity_Periodo = new cp_SRI_Importacion
                 {
                     IdEmpresa              = item.IdEmpresa,
                     Comprobante            = item.Comprobante,
                     ComprobanteSerie       = item.ComprobanteSerie,
                     RucEmisor              = item.RucEmisor,
                     RazonSocialEmisor      = item.RazonSocialEmisor,
                     FechaEmision           = item.FechaEmision,
                     FechaAutorizacion      = item.FechaAutorizacion,
                     TipoEmision            = item.TipoEmision,
                     IdentificacionReceptor = item.IdentificacionReceptor,
                     ClaveAcceso            = item.ClaveAcceso,
                     NumeroAutorizacion     = item.NumeroAutorizacion,
                     ImporteTotal           = item.ImporteTotal,
                     IdUsuario              = item.IdUsuario,
                     NombreArchivo          = item.NombreArchivo,
                     FechaImportacion       = DateTime.Now
                 };
                 Context.cp_SRI_Importacion.Add(Entity_Periodo);
             }
             Context.SaveChanges();
         }
         return(true);
     }
     catch (Exception ex)
     {
         throw;
     }
 }
 public Boolean anularDB(cp_TipoDocumento_Info info)
 {
     try
     {
         Boolean res = false;
         using (Entities_cuentas_por_pagar context = new Entities_cuentas_por_pagar())
         {
             var contact = context.cp_TipoDocumento.FirstOrDefault(minfo => minfo.CodTipoDocumento == info.CodTipoDocumento);
             if (contact != null)
             {
                 contact.Estado          = "I";
                 contact.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
                 contact.Fecha_UltAnu    = DateTime.Now;
                 context.SaveChanges();
                 res = true;
             }
         }
         return(res);
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#7
0
        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;
                        Entity.Referencia    = info.Referencia;
                        Entity.Fecha_Pago    = info.Fecha_Pago;

                        Context.SaveChanges();
                    }
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        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;
                        Entity.MotivoAnu          = info.MotivoAnu;
                        Entity.MotivoAprobacion   = info.MotivoAnu;
                        Entity.IdEstadoAprobacion = cl_enumeradores.eEstadoAprobacionOrdenPago.REPRO.ToString();

                        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;
            }
        }
示例#9
0
        public bool GuardarBD(cp_conciliacionAnticipo_Info info)
        {
            try
            {
                cp_parametros_Info info_parametros = new cp_parametros_Info();
                info_parametros = data_cp_parametro.get_info(info.IdEmpresa);

                using (Entities_contabilidad db_cont = new Entities_contabilidad())
                {
                    if (info_parametros != null && info_parametros.pa_TipoCbte_para_conci_x_antcipo != null)
                    {
                        ct_cbtecble_Info info_diario = armar_info(info.Lista_det_Cbte, info.IdEmpresa, info.IdSucursal, Convert.ToInt32(info_parametros.pa_TipoCbte_para_conci_x_antcipo), 0, info.Observacion, info.Fecha);

                        if (info_diario != null)
                        {
                            info_diario.IdUsuario = info.IdUsuarioCreacion;
                            if (data_cbtecble.guardarDB(info_diario))
                            {
                                info.IdTipoCbte = info_diario.IdTipoCbte;
                                info.IdCbteCble = info_diario.IdCbteCble;
                            }
                        }
                    }
                }

                using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar())
                {
                    db.cp_ConciliacionAnticipo.Add(new cp_ConciliacionAnticipo
                    {
                        IdEmpresa         = info.IdEmpresa,
                        IdConciliacion    = info.IdConciliacion = get_id(info.IdEmpresa),
                        IdSucursal        = info.IdSucursal,
                        IdProveedor       = info.IdProveedor,
                        Fecha             = info.Fecha,
                        Observacion       = info.Observacion,
                        IdTipoCbte        = info.IdTipoCbte,
                        IdCbteCble        = info.IdCbteCble,
                        Estado            = true,
                        IdUsuarioCreacion = info.IdUsuarioCreacion,
                        FechaCreacion     = DateTime.Now
                    });



                    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_cxp,
                                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)
            {
                eliminar(info.IdEmpresa, Convert.ToInt32(info.IdTipoCbte), Convert.ToDecimal(info.IdCbteCble));

                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 = "GuardarDB", IdUsuario = info.IdUsuarioCreacion
                });
                return(false);
            }
        }
示例#10
0
        public bool modificarDB(cp_orden_giro_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_orden_giro Entity = Context.cp_orden_giro.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa &&
                                                                                q.IdTipoCbte_Ogiro == info.IdTipoCbte_Ogiro &&
                                                                                q.IdCbteCble_Ogiro == info.IdCbteCble_Ogiro);
                    if (Entity == null)
                    {
                        return(false);
                    }
                    {
                        Entity.IdProveedor                   = info.IdProveedor;
                        Entity.co_fechaOg                    = info.co_fechaOg;
                        Entity.co_serie                      = info.co_serie;
                        Entity.co_factura                    = info.co_factura;
                        Entity.co_FechaFactura               = info.co_FechaFactura;
                        Entity.co_FechaContabilizacion       = info.co_FechaContabilizacion;
                        Entity.co_FechaFactura_vct           = info.co_FechaFactura_vct;
                        Entity.co_plazo                      = info.co_plazo;
                        Entity.co_observacion                = info.co_observacion;
                        Entity.co_subtotal_iva               = info.co_subtotal_iva;
                        Entity.co_subtotal_siniva            = info.co_subtotal_siniva;
                        Entity.co_baseImponible              = info.co_baseImponible;
                        Entity.co_Por_iva                    = info.co_Por_iva;
                        Entity.co_valoriva                   = info.co_valoriva;
                        Entity.IdCod_ICE                     = info.IdCod_ICE;
                        Entity.co_total                      = info.co_total;
                        Entity.co_valorpagar                 = info.co_valorpagar;
                        Entity.co_vaCoa                      = "S";
                        Entity.IdIden_credito                = info.IdIden_credito;
                        Entity.IdCod_101                     = info.IdCod_101;
                        Entity.IdTipoFlujo                   = info.IdTipoFlujo;
                        Entity.IdOrden_giro_Tipo             = info.IdOrden_giro_Tipo;
                        Entity.IdTipoServicio                = info.IdTipoServicio;
                        Entity.IdSucursal                    = info.IdSucursal;
                        Entity.PagoLocExt                    = info.PagoLocExt;
                        Entity.PaisPago                      = info.PaisPago;
                        Entity.ConvenioTributacion           = info.ConvenioTributacion_bool == true ? "SI" : "NO";
                        Entity.PagoSujetoRetencion           = info.PagoSujetoRetencion_bool == true ? "SI" : "NO";
                        Entity.BseImpNoObjDeIva              = info.BseImpNoObjDeIva;
                        Entity.fecha_autorizacion            = info.fecha_autorizacion;
                        Entity.Num_Autorizacion              = info.Num_Autorizacion;
                        Entity.Num_Autorizacion_Imprenta     = info.Num_Autorizacion_Imprenta;
                        Entity.cp_es_comprobante_electronico = info.cp_es_comprobante_electronico;
                        Entity.Tipodoc_a_Modificar           = info.Tipodoc_a_Modificar;
                        Entity.estable_a_Modificar           = info.estable_a_Modificar;
                        Entity.ptoEmi_a_Modificar            = info.ptoEmi_a_Modificar;
                        Entity.num_docu_Modificar            = info.num_docu_Modificar;
                        Entity.aut_doc_Modificar             = info.aut_doc_Modificar;
                        Entity.IdTipoMovi                    = info.IdTipoMovi;
                        Entity.IdBodega                      = info.IdBodega;
                        Entity.IdSucursal_cxp                = info.IdSucursal_cxp;
                    }

                    if (info.lst_det.Count > 0)
                    {
                        var lst_det = Context.cp_orden_giro_det.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte_Ogiro == info.IdTipoCbte_Ogiro && q.IdCbteCble_Ogiro == info.IdCbteCble_Ogiro).ToList();
                        Context.cp_orden_giro_det.RemoveRange(lst_det);
                        int secuencia = 1;
                        foreach (var item in info.lst_det)
                        {
                            Context.cp_orden_giro_det.Add(new cp_orden_giro_det
                            {
                                IdEmpresa          = info.IdEmpresa,
                                IdTipoCbte_Ogiro   = info.IdTipoCbte_Ogiro,
                                IdCbteCble_Ogiro   = info.IdCbteCble_Ogiro,
                                Secuencia          = secuencia++,
                                IdProducto         = item.IdProducto,
                                Cantidad           = item.Cantidad,
                                CostoUni           = item.CostoUni,
                                PorDescuento       = item.PorDescuento,
                                PorIva             = item.PorIva,
                                DescuentoUni       = item.DescuentoUni,
                                IdUnidadMedida     = item.IdUnidadMedida,
                                CostoUniFinal      = item.CostoUniFinal,
                                IdCod_Impuesto_Iva = item.IdCod_Impuesto_Iva,
                                Subtotal           = item.Subtotal,
                                ValorIva           = item.ValorIva,
                                Total         = item.Total,
                                IdCtaCbleInv  = item.IdCtaCbleInv,
                                IdEmpresa_oc  = item.IdEmpresa_oc,
                                IdSucursal_oc = item.IdSucursal_oc,
                                IdOrdenCompra = item.IdOrdenCompra,
                                Secuencia_oc  = item.Secuencia_oc
                            });
                        }

                        var rel  = Context.cp_orden_giro_x_in_Ing_Egr_Inven.Where(q => q.og_IdEmpresa == info.IdEmpresa && q.og_IdTipoCbte_Ogiro == info.IdTipoCbte_Ogiro && q.og_IdCbteCble_Ogiro == info.IdCbteCble_Ogiro).FirstOrDefault();
                        var movi = armar_movi_inven(info, rel);
                        if (movi != null)
                        {
                            if (rel == null)
                            {
                                if (data_inv.guardarDB(movi, "+"))
                                {
                                    Context.cp_orden_giro_x_in_Ing_Egr_Inven.Add(new cp_orden_giro_x_in_Ing_Egr_Inven
                                    {
                                        og_IdEmpresa        = info.IdEmpresa,
                                        og_IdTipoCbte_Ogiro = info.IdTipoCbte_Ogiro,
                                        og_IdCbteCble_Ogiro = info.IdCbteCble_Ogiro,

                                        inv_IdEmpresa         = movi.IdEmpresa,
                                        inv_IdSucursal        = movi.IdSucursal,
                                        inv_IdMovi_inven_tipo = movi.IdMovi_inven_tipo,
                                        inv_IdNumMovi         = movi.IdNumMovi
                                    });
                                }
                            }
                            else
                            {
                                data_inv.modificarDB(movi);
                            }
                        }
                    }

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool modificarDB(caj_Caja_Movimiento_Info info)
        {
            try
            {
                using (Entities_caja Context = new Entities_caja())
                {
                    caj_Caja_Movimiento Entity = Context.caj_Caja_Movimiento.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTipocbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble);
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.cm_fecha       = info.cm_fecha.Date;
                    Entity.IdPeriodo      = info.IdPeriodo = Convert.ToInt32(info.cm_fecha.ToString("yyyyMM"));
                    Entity.cm_observacion = info.cm_observacion;
                    Entity.CodMoviCaja    = info.CodMoviCaja;
                    Entity.cm_valor       = info.cm_valor;
                    Entity.IdPersona      = info.IdPersona;
                    Entity.IdTipo_Persona = info.IdTipo_Persona;
                    Entity.IdEntidad      = info.IdEntidad;
                    Entity.IdCaja         = info.IdCaja;
                    Entity.IdTipoMovi     = info.IdTipoMovi;
                    caj_Caja_Movimiento_det Entity_det = Context.caj_Caja_Movimiento_det.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTipocbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble);
                    if (Entity_det == null)
                    {
                        return(false);
                    }

                    Entity_det.IdCobro_tipo = info.info_caj_Caja_Movimiento_det.IdCobro_tipo;
                    Entity_det.cr_Valor     = info.info_caj_Caja_Movimiento_det.cr_Valor;


                    Entity.IdUsuarioUltMod = info.IdUsuarioUltMod;
                    Entity.Fecha_UltMod    = DateTime.Now;
                    Context.SaveChanges();
                }

                using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar())
                {
                    var lst = db.cp_orden_pago_cancelaciones.Where(q => q.IdEmpresa_pago == info.IdEmpresa && q.IdTipoCbte_pago == info.IdTipocbte && q.IdCbteCble_pago == info.IdCbteCble).ToList();
                    db.cp_orden_pago_cancelaciones.RemoveRange(lst);

                    cp_orden_pago_cancelaciones_Data odata_can = new cp_orden_pago_cancelaciones_Data();
                    int     secuencia     = 1;
                    decimal IdCancelacion = odata_can.get_id(info.IdEmpresa);
                    if (info.lst_det_canc_op != null)
                    {
                        foreach (var item in info.lst_det_canc_op)
                        {
                            db.cp_orden_pago_cancelaciones.Add(new cp_orden_pago_cancelaciones
                            {
                                IdEmpresa        = info.IdEmpresa,
                                Idcancelacion    = IdCancelacion,
                                Secuencia        = secuencia++,
                                fechaTransaccion = DateTime.Now,
                                IdEmpresa_op     = info.IdEmpresa,
                                IdOrdenPago_op   = item.IdOrdenPago_op,
                                Secuencia_op     = 1,

                                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,

                                SaldoActual   = 0,
                                SaldoAnterior = 0,
                                MontoAplicado = item.MontoAplicado,
                                Observacion   = "Pago chaja chica"
                            });
                            db.SaveChanges();
                        }
                    }
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#12
0
        public Boolean guardarDB(cp_retencion_Info info)
        {
            Boolean res = true;

            try
            {
                int secuencia = 1;

                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_retencion Entity = new cp_retencion
                    {
                        IdEmpresa        = info.IdEmpresa,
                        IdEmpresa_Ogiro  = info.IdEmpresa_Ogiro,
                        IdCbteCble_Ogiro = info.IdCbteCble_Ogiro,
                        IdTipoCbte_Ogiro = info.IdTipoCbte_Ogiro,
                        IdRetencion      = info.IdRetencion = get_id(info.IdEmpresa),
                        CodDocumentoTipo = info.CodDocumentoTipo,
                        serie1           = info.serie1,
                        serie2           = info.serie2,
                        NumRetencion     = info.NumRetencion,
                        NAutorizacion    = info.NAutorizacion,
                        observacion      = info.observacion,
                        fecha            = Convert.ToDateTime(info.fecha.ToShortDateString()),
                        re_Tiene_RTiva   = info.re_Tiene_RTiva,
                        re_Tiene_RFuente = info.re_Tiene_RFuente,
                        re_EstaImpresa   = info.re_EstaImpresa,
                        Estado           = "A",
                        Fecha_Transac    = DateTime.Now,
                        IdUsuario        = info.IdUsuario,
                        nom_pc           = info.nom_pc,
                        ip = info.ip,
                    };
                    Context.cp_retencion.Add(Entity);

                    foreach (var item in info.detalle)
                    {
                        cp_retencion_det Entity_det = new cp_retencion_det
                        {
                            IdEmpresa           = info.IdEmpresa,
                            IdRetencion         = info.IdRetencion,
                            Idsecuencia         = secuencia,
                            re_tipoRet          = item.re_tipoRet,
                            re_Codigo_impuesto  = item.re_Codigo_impuesto,
                            re_baseRetencion    = (double)item.re_baseRetencion,
                            re_Porcen_retencion = (double)item.re_Porcen_retencion,
                            re_valor_retencion  = (double)item.re_valor_retencion,
                            IdCodigo_SRI        = item.IdCodigo_SRI,
                            IdUsuario           = info.IdUsuario,
                            re_estado           = "A"
                        };
                        secuencia++;
                        Context.cp_retencion_det.Add(Entity_det);
                    }

                    Context.SaveChanges();
                }

                return(res);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#13
0
        public Boolean guardarDB(cp_retencion_Info info)
        {
            Boolean res = true;
            tb_sis_Documento_Tipo_Talonario_Data odata_talonario = new tb_sis_Documento_Tipo_Talonario_Data();
            var info_documento = odata_talonario.GetUltimoNoUsadoFacElec(info.IdEmpresa, cl_enumeradores.eTipoDocumento.RETEN.ToString(), info.serie1, info.serie2);

            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    var lstf = Context.cp_retencion.Where(q => q.IdEmpresa_Ogiro == info.IdEmpresa && q.IdTipoCbte_Ogiro == info.IdTipoCbte_Ogiro && q.IdCbteCble_Ogiro == info.IdCbteCble_Ogiro).FirstOrDefault();
                    if (lstf != null)
                    {
                        return(false);
                    }

                    Context.cp_retencion.Add(new cp_retencion
                    {
                        IdEmpresa        = info.IdEmpresa,
                        IdEmpresa_Ogiro  = info.IdEmpresa_Ogiro,
                        IdCbteCble_Ogiro = info.IdCbteCble_Ogiro,
                        IdTipoCbte_Ogiro = info.IdTipoCbte_Ogiro,
                        IdRetencion      = info.IdRetencion = get_id(info.IdEmpresa),
                        CodDocumentoTipo = info.CodDocumentoTipo,
                        serie1           = info_documento.Establecimiento,
                        serie2           = info_documento.PuntoEmision,
                        NumRetencion     = info_documento.NumDocumento,
                        NAutorizacion    = info.NAutorizacion,
                        observacion      = info.observacion,
                        fecha            = info.fecha.Date,
                        re_Tiene_RTiva   = info.re_Tiene_RTiva,
                        re_Tiene_RFuente = info.re_Tiene_RFuente,
                        re_EstaImpresa   = info.re_EstaImpresa,
                        Estado           = "A",
                        Fecha_Transac    = DateTime.Now,
                        IdUsuario        = info.IdUsuario,
                    });

                    int Secuencia = 1;
                    foreach (var item in info.detalle)
                    {
                        Context.cp_retencion_det.Add(new cp_retencion_det
                        {
                            IdEmpresa           = info.IdEmpresa,
                            IdRetencion         = info.IdRetencion,
                            Idsecuencia         = Secuencia++,
                            re_tipoRet          = item.re_tipoRet,
                            re_Codigo_impuesto  = item.re_Codigo_impuesto,
                            re_baseRetencion    = (double)item.re_baseRetencion,
                            re_Porcen_retencion = (double)item.re_Porcen_retencion,
                            re_valor_retencion  = (double)item.re_valor_retencion,
                            IdCodigo_SRI        = item.IdCodigo_SRI,
                            IdUsuario           = info.IdUsuario,
                            re_estado           = "A"
                        });
                    }
                    Context.SaveChanges();

                    if (Math.Round((double)info.detalle.Sum(q => q.re_valor_retencion), 2) > 0.01)
                    {
                        ct_cbtecble_Data odata_ct = new ct_cbtecble_Data();
                        var param  = Context.cp_parametros.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                        var diario = odata_ct.armar_info(info.info_comprobante.lst_ct_cbtecble_det, info.IdEmpresa, info.IdSucursal, (int)param.pa_IdTipoCbte_x_Retencion, 0,
                                                         "Comprobante contable de retención #" + info.serie1 + " " + info.serie2 + " " + info.NumRetencion
                                                         , info.fecha);
                        odata_ct.guardarDB(diario);

                        Context.cp_retencion_x_ct_cbtecble.Add(new cp_retencion_x_ct_cbtecble
                        {
                            rt_IdEmpresa   = info.IdEmpresa,
                            rt_IdRetencion = info.IdRetencion,

                            ct_IdEmpresa  = diario.IdEmpresa,
                            ct_IdTipoCbte = diario.IdTipoCbte,
                            ct_IdCbteCble = diario.IdCbteCble,
                            Observacion   = "Relacion"
                        });
                        Context.SaveChanges();
                    }
                }

                return(res);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#14
0
        public Boolean guardarDB(cp_retencion_Info info)
        {
            Boolean res = true;
            tb_sis_Documento_Tipo_Talonario_Info info_documento = new tb_sis_Documento_Tipo_Talonario_Info();
            tb_sis_Documento_Tipo_Talonario_Data data_talonario = new tb_sis_Documento_Tipo_Talonario_Data();

            var punto_venta = odata_pto.get_info(info.IdEmpresa, info.IdSucursal, info.IdPuntoVta ?? 0);

            if (punto_venta != null)
            {
                if (punto_venta.EsElectronico == true)
                {
                    info_documento          = odata_talonario.GetUltimoNoUsado(info.IdEmpresa, punto_venta.codDocumentoTipo, punto_venta.Su_CodigoEstablecimiento, punto_venta.cod_PuntoVta, punto_venta.EsElectronico, true);
                    info.NAutorizacion      = null;
                    info.Fecha_Autorizacion = null;
                }
                else
                {
                    info_documento.IdEmpresa        = info.IdEmpresa;
                    info_documento.CodDocumentoTipo = info.CodDocumentoTipo;
                    info_documento.Establecimiento  = info.serie1;
                    info_documento.PuntoEmision     = info.serie2;
                    info_documento.NumDocumento     = info.NumRetencion;
                    info_documento.IdSucursal       = info.IdSucursal;
                    info_documento.Usado            = true;

                    data_talonario.modificar_estado_usadoDB(info_documento);
                }
            }

            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    var lstf = Context.cp_retencion.Where(q => q.IdEmpresa_Ogiro == info.IdEmpresa && q.IdTipoCbte_Ogiro == info.IdTipoCbte_Ogiro && q.IdCbteCble_Ogiro == info.IdCbteCble_Ogiro).FirstOrDefault();
                    if (lstf != null)
                    {
                        return(false);
                    }

                    Context.cp_retencion.Add(new cp_retencion
                    {
                        IdEmpresa        = info.IdEmpresa,
                        IdEmpresa_Ogiro  = info.IdEmpresa_Ogiro,
                        IdCbteCble_Ogiro = info.IdCbteCble_Ogiro,
                        IdTipoCbte_Ogiro = info.IdTipoCbte_Ogiro,
                        IdRetencion      = info.IdRetencion = get_id(info.IdEmpresa),
                        CodDocumentoTipo = info.CodDocumentoTipo = "RETEN",

                        serie1       = info.serie1 = info_documento == null ? null : info_documento.Establecimiento,
                        serie2       = info.serie2 = info_documento == null ? null : info_documento.PuntoEmision,
                        NumRetencion = info.NumRetencion = info_documento == null ? null : info_documento.NumDocumento,

                        NAutorizacion = info.NAutorizacion,
                        observacion   = info.observacion = info.observacion + info.serie1 + "-" + info.serie2 + "-" + info.NumRetencion,
                        fecha         = info.fecha.Date,
                        Estado        = "A",
                        IdPuntoVta    = info.IdPuntoVta,
                        IdSucursal    = info.IdSucursal,
                        Fecha_Transac = DateTime.Now,
                        IdUsuario     = info.IdUsuario,
                    });

                    int Secuencia = 1;
                    foreach (var item in info.detalle)
                    {
                        Context.cp_retencion_det.Add(new cp_retencion_det
                        {
                            IdEmpresa           = info.IdEmpresa,
                            IdRetencion         = info.IdRetencion,
                            Idsecuencia         = Secuencia++,
                            re_tipoRet          = item.re_tipoRet,
                            re_Codigo_impuesto  = item.re_Codigo_impuesto,
                            re_baseRetencion    = (double)item.re_baseRetencion,
                            re_Porcen_retencion = (double)item.re_Porcen_retencion,
                            re_valor_retencion  = (double)item.re_valor_retencion,
                            IdCodigo_SRI        = item.IdCodigo_SRI,
                            IdUsuario           = info.IdUsuario,
                            re_estado           = "A"
                        });
                    }
                    Context.SaveChanges();

                    if (Math.Round((double)info.detalle.Sum(q => q.re_valor_retencion), 2) > 0.01)
                    {
                        ct_cbtecble_Data odata_ct = new ct_cbtecble_Data();
                        var param  = Context.cp_parametros.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                        var diario = odata_ct.armar_info(info.info_comprobante.lst_ct_cbtecble_det, info.IdEmpresa, info.IdSucursal, (int)param.pa_IdTipoCbte_x_Retencion, 0,
                                                         info.observacion, info.fecha);
                        odata_ct.guardarDB(diario);

                        Context.cp_retencion_x_ct_cbtecble.Add(new cp_retencion_x_ct_cbtecble
                        {
                            rt_IdEmpresa   = info.IdEmpresa,
                            rt_IdRetencion = info.IdRetencion,

                            ct_IdEmpresa  = diario.IdEmpresa,
                            ct_IdTipoCbte = diario.IdTipoCbte,
                            ct_IdCbteCble = diario.IdCbteCble,
                            Observacion   = "Relacion"
                        });
                        Context.SaveChanges();
                    }
                }

                return(res);
            }
            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_retencion_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
 public bool modificarEstado(tb_comprobantes_sin_autorizacion_Info info)
 {
     try
     {
         if (info.Tipo_documento == cl_enumeradores.eTipoDocumento.FACT.ToString())
         {
             using (Entities_facturacion Context = new Entities_facturacion())
             {
                 var Entity = Context.fa_factura.Where(q => q.IdEmpresa == info.IdEmpresa &&
                                                       q.IdCbteVta == info.IdCbteVta &&
                                                       q.vt_serie1 == info.vt_serie1 &&
                                                       q.vt_serie2 == info.vt_serie2 &&
                                                       q.vt_NumFactura == info.DocumentoDoc).FirstOrDefault();
                 Entity.aprobada_enviar_sri = true;
                 Context.SaveChanges();
             }
         }
         if (info.Tipo_documento == cl_enumeradores.eTipoDocumento.RETEN.ToString())
         {
             using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
             {
                 var Entity = Context.cp_retencion.Where(q => q.IdEmpresa == info.IdEmpresa &&
                                                         q.IdRetencion == info.IdCbteVta &&
                                                         q.serie1 == info.vt_serie1 &&
                                                         q.serie2 == info.vt_serie2 &&
                                                         q.NumRetencion == info.DocumentoDoc).FirstOrDefault();
                 Entity.aprobada_enviar_sri = true;
                 Context.SaveChanges();
             }
         }
         if (info.Tipo_documento == cl_enumeradores.eTipoDocumento.NTCR.ToString())
         {
             using (Entities_facturacion Context = new Entities_facturacion())
             {
                 var Entity = Context.fa_notaCreDeb.Where(q => q.IdEmpresa == info.IdEmpresa &&
                                                          q.IdNota == info.IdCbteVta &&
                                                          q.Serie1 == info.vt_serie1 &&
                                                          q.Serie2 == info.vt_serie2 &&
                                                          q.NumNota_Impresa == info.DocumentoDoc).FirstOrDefault();
                 Entity.aprobada_enviar_sri = true;
                 Context.SaveChanges();
             }
         }
         if (info.Tipo_documento == cl_enumeradores.eTipoDocumento.GUIA.ToString())
         {
             using (Entities_facturacion Context = new Entities_facturacion())
             {
                 var Entity = Context.fa_guia_remision.Where(q => q.IdEmpresa == info.IdEmpresa &&
                                                             q.IdGuiaRemision == info.IdCbteVta &&
                                                             q.Serie1 == info.vt_serie1 &&
                                                             q.Serie2 == info.vt_serie2 &&
                                                             q.NumGuia_Preimpresa == info.DocumentoDoc).FirstOrDefault();
                 Entity.aprobada_enviar_sri = true;
                 Context.SaveChanges();
             }
         }
         return(true);
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#16
0
        public Boolean modificarDB(cp_parametros_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar context = new Entities_cuentas_por_pagar())
                {
                    var selectBaParam = (from C in context.cp_parametros
                                         where C.IdEmpresa == info.IdEmpresa
                                         select C).Count();

                    if (selectBaParam == 0)
                    {
                        cp_parametros addressG = new cp_parametros();
                        addressG.IdEmpresa          = info.IdEmpresa;
                        addressG.pa_TipoCbte_OG     = info.pa_TipoCbte_OG;
                        addressG.pa_ctacble_deudora = (info.pa_ctacble_deudora == "") ? null : info.pa_ctacble_deudora;
                        addressG.pa_ctacble_iva     = (info.pa_ctacble_iva == "") ? null : info.pa_ctacble_iva;
                        addressG.pa_TipoEgrMoviCaja_Conciliacion = info.pa_TipoEgrMoviCaja_Conciliacion;
                        addressG.IdUsuario = info.IdUsuario;
                        addressG.pa_ctacble_Proveedores_default = info.pa_ctacble_Proveedores_default;
                        addressG.pa_TipoCbte_NC                   = info.pa_TipoCbte_NC;
                        addressG.pa_TipoCbte_ND                   = info.pa_TipoCbte_ND;
                        addressG.pa_IdTipoCbte_x_Retencion        = info.pa_IdTipoCbte_x_Retencion;
                        addressG.pa_TipoCbte_para_conci_x_antcipo = info.pa_TipoCbte_para_conci_x_antcipo;
                        addressG.pa_ctacble_x_RetIva_default      = info.pa_ctacble_x_RetIva_default;
                        addressG.pa_ctacble_x_RetIva_default      = info.pa_ctacble_x_RetIva_default;
                        addressG.DiasTransaccionesAFuturo         = info.DiasTransaccionesAFuturo;

                        context.cp_parametros.Add(addressG);
                        context.SaveChanges();
                    }
                    else
                    {
                        var contact = context.cp_parametros.FirstOrDefault(para => para.IdEmpresa == info.IdEmpresa);
                        if (contact != null)
                        {
                            contact.IdEmpresa                        = info.IdEmpresa;
                            contact.pa_TipoCbte_OG                   = info.pa_TipoCbte_OG;
                            contact.pa_ctacble_deudora               = (info.pa_ctacble_deudora == "") ? null : info.pa_ctacble_deudora;
                            contact.pa_ctacble_iva                   = (info.pa_ctacble_iva == "") ? null : info.pa_ctacble_iva;
                            contact.pa_ctacble_Proveedores_default   = info.pa_ctacble_Proveedores_default;
                            contact.pa_TipoEgrMoviCaja_Conciliacion  = info.pa_TipoEgrMoviCaja_Conciliacion;
                            contact.pa_TipoCbte_NC                   = info.pa_TipoCbte_NC;
                            contact.pa_TipoCbte_ND                   = info.pa_TipoCbte_ND;
                            contact.FechaUltMod                      = DateTime.Now;
                            contact.IdUsuarioUltMod                  = info.IdUsuario;
                            contact.pa_IdTipoCbte_x_Retencion        = info.pa_IdTipoCbte_x_Retencion;
                            contact.pa_TipoCbte_para_conci_x_antcipo = info.pa_TipoCbte_para_conci_x_antcipo;
                            contact.pa_ctacble_x_RetFte_default      = info.pa_ctacble_x_RetFte_default;
                            contact.pa_ctacble_x_RetIva_default      = info.pa_ctacble_x_RetIva_default;
                            contact.DiasTransaccionesAFuturo         = info.DiasTransaccionesAFuturo;
                            context.SaveChanges();
                        }
                    }
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#17
0
        public bool guardarDB(cp_orden_giro_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_orden_giro Entity = new cp_orden_giro
                    {
                        IdEmpresa                     = info.IdEmpresa,
                        IdCbteCble_Ogiro              = info.IdCbteCble_Ogiro,
                        IdTipoCbte_Ogiro              = info.IdTipoCbte_Ogiro,
                        IdOrden_giro_Tipo             = info.IdOrden_giro_Tipo,
                        IdProveedor                   = info.IdProveedor,
                        co_fechaOg                    = info.co_fechaOg,
                        co_serie                      = info.co_serie,
                        co_factura                    = info.co_factura,
                        co_FechaFactura               = info.co_FechaFactura,
                        co_FechaContabilizacion       = info.co_FechaContabilizacion,
                        co_FechaFactura_vct           = info.co_FechaFactura_vct,
                        co_plazo                      = info.co_plazo,
                        co_observacion                = info.co_observacion,
                        co_subtotal_iva               = info.co_subtotal_iva,
                        co_subtotal_siniva            = info.co_subtotal_siniva,
                        co_baseImponible              = info.co_baseImponible,
                        co_Por_iva                    = info.co_Por_iva,
                        co_valoriva                   = info.co_valoriva,
                        IdCod_ICE                     = info.IdCod_ICE,
                        co_total                      = info.co_total,
                        co_valorpagar                 = info.co_valorpagar,
                        co_vaCoa                      = "S",
                        IdIden_credito                = info.IdIden_credito,
                        IdCod_101                     = info.IdCod_101,
                        IdTipoFlujo                   = info.IdTipoFlujo,
                        IdTipoServicio                = info.IdTipoServicio,
                        IdSucursal                    = info.IdSucursal,
                        PagoLocExt                    = info.PagoLocExt,
                        PaisPago                      = info.PaisPago,
                        ConvenioTributacion           = info.ConvenioTributacion_bool == true ? "SI" : "NO",
                        PagoSujetoRetencion           = info.PagoSujetoRetencion_bool == true ? "SI" : "NO",
                        BseImpNoObjDeIva              = info.BseImpNoObjDeIva,
                        fecha_autorizacion            = info.fecha_autorizacion,
                        Num_Autorizacion              = info.Num_Autorizacion,
                        Num_Autorizacion_Imprenta     = info.Num_Autorizacion_Imprenta,
                        cp_es_comprobante_electronico = info.cp_es_comprobante_electronico,
                        Tipodoc_a_Modificar           = info.Tipodoc_a_Modificar,
                        estable_a_Modificar           = info.estable_a_Modificar,
                        ptoEmi_a_Modificar            = info.ptoEmi_a_Modificar,
                        num_docu_Modificar            = info.num_docu_Modificar,
                        aut_doc_Modificar             = info.aut_doc_Modificar,
                        IdTipoMovi                    = info.IdTipoMovi,
                        Estado         = "A",
                        IdUsuario      = info.IdUsuario,
                        Fecha_Transac  = info.Fecha_Transac = DateTime.Now,
                        IdBodega       = info.IdBodega,
                        IdSucursal_cxp = info.IdSucursal_cxp
                    };

                    if (info.lst_det.Count > 0)
                    {
                        int secuencia = 1;
                        foreach (var item in info.lst_det)
                        {
                            Context.cp_orden_giro_det.Add(new cp_orden_giro_det
                            {
                                IdEmpresa          = info.IdEmpresa,
                                IdTipoCbte_Ogiro   = info.IdTipoCbte_Ogiro,
                                IdCbteCble_Ogiro   = info.IdCbteCble_Ogiro,
                                Secuencia          = secuencia++,
                                IdProducto         = item.IdProducto,
                                Cantidad           = item.Cantidad,
                                CostoUni           = item.CostoUni,
                                PorDescuento       = item.PorDescuento,
                                PorIva             = item.PorIva,
                                DescuentoUni       = item.DescuentoUni,
                                IdUnidadMedida     = item.IdUnidadMedida,
                                CostoUniFinal      = item.CostoUniFinal,
                                IdCod_Impuesto_Iva = item.IdCod_Impuesto_Iva,
                                Subtotal           = item.Subtotal,
                                ValorIva           = item.ValorIva,
                                Total        = item.Total,
                                IdCtaCbleInv = item.IdCtaCbleInv,

                                IdEmpresa_oc  = item.IdEmpresa_oc,
                                IdSucursal_oc = item.IdSucursal_oc,
                                IdOrdenCompra = item.IdOrdenCompra,
                                Secuencia_oc  = item.Secuencia_oc
                            });
                        }

                        var movi = armar_movi_inven(info, null);
                        if (movi != null)
                        {
                            if (data_inv.guardarDB(movi, "+"))
                            {
                                Context.cp_orden_giro_x_in_Ing_Egr_Inven.Add(new cp_orden_giro_x_in_Ing_Egr_Inven
                                {
                                    og_IdEmpresa        = info.IdEmpresa,
                                    og_IdTipoCbte_Ogiro = info.IdTipoCbte_Ogiro,
                                    og_IdCbteCble_Ogiro = info.IdCbteCble_Ogiro,

                                    inv_IdEmpresa         = movi.IdEmpresa,
                                    inv_IdSucursal        = movi.IdSucursal,
                                    inv_IdMovi_inven_tipo = movi.IdMovi_inven_tipo,
                                    inv_IdNumMovi         = movi.IdNumMovi
                                });
                            }
                        }
                    }

                    Context.cp_orden_giro.Add(Entity);

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool guardarDB(cp_nota_DebCre_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_nota_DebCre Entity = new cp_nota_DebCre
                    {
                        IdEmpresa                = info.IdEmpresa,
                        IdCbteCble_Nota          = info.IdCbteCble_Nota,
                        IdTipoCbte_Nota          = info.IdTipoCbte_Nota,
                        cod_nota                 = info.cod_nota,
                        DebCre                   = info.DebCre,
                        IdProveedor              = info.IdProveedor,
                        IdTipoNota               = info.IdTipoNota,
                        IdSucursal               = info.IdSucursal,
                        cn_fecha                 = info.cn_fecha,
                        Fecha_contable           = info.Fecha_contable,
                        cn_Fecha_vcto            = info.cn_Fecha_vcto.Date,
                        cn_serie1                = info.cn_serie1,
                        cn_serie2                = info.cn_serie2,
                        cn_Nota                  = info.cn_Nota,
                        cn_observacion           = info.cn_observacion,
                        cn_subtotal_iva          = info.cn_subtotal_iva,
                        cn_subtotal_siniva       = info.cn_subtotal_siniva,
                        cn_baseImponible         = info.cn_baseImponible,
                        cn_Por_iva               = info.cn_Por_iva,
                        cn_Ice_base              = info.cn_Ice_base,
                        cn_Ice_por               = info.cn_Ice_por,
                        cn_Ice_valor             = info.cn_Ice_valor,
                        cn_Serv_por              = info.cn_Serv_por,
                        cn_Serv_valor            = info.cn_Serv_valor,
                        cn_BaseSeguro            = info.cn_BaseSeguro,
                        cn_total                 = info.cn_total,
                        cn_vaCoa                 = info.cn_vaCoa,
                        cn_Autorizacion          = info.cn_Autorizacion,
                        cn_Autorizacion_Imprenta = info.cn_Autorizacion_Imprenta,
                        cn_num_doc_modificado    = info.cn_num_doc_modificado,
                        IdIden_credito           = info.IdIden_credito,
                        IdCtaCble_Acre           = info.IdCtaCble_Acre,
                        IdTipoFlujo              = info.IdTipoFlujo,
                        IdTipoServicio           = info.IdTipoServicio,
                        IdCtaCble_IVA            = info.IdCtaCble_IVA,
                        IdUsuario                = info.IdUsuario,
                        Fecha_Transac            = info.Fecha_Transac = DateTime.Now,
                        Estado                   = info.Estado,
                        ip     = info.ip,
                        nom_pc = info.nom_pc,
                        ConvenioTributacion = info.ConvenioTributacion_bool == true ? "SI" : "NO",
                        PagoSujetoRetencion = info.PagoSujetoRetencion_bool == true ? "SI" : "NO",
                    };
                    Context.cp_nota_DebCre.Add(Entity);


                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#19
0
 public bool modificarDB(cp_nota_DebCre_Info info)
 {
     try
     {
         using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
         {
             cp_nota_DebCre Entity = Context.cp_nota_DebCre.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa &&
                                                                           q.IdTipoCbte_Nota == info.IdTipoCbte_Nota &&
                                                                           q.IdCbteCble_Nota == info.IdCbteCble_Nota);
             if (Entity == null)
             {
                 return(false);
             }
             {
                 Entity.IdEmpresa             = info.IdEmpresa;
                 Entity.IdProveedor           = info.IdProveedor;
                 Entity.IdTipoNota            = info.IdTipoNota;
                 Entity.IdSucursal            = info.IdSucursal;
                 Entity.cn_fecha              = info.cn_fecha;
                 Entity.cod_nota              = info.cod_nota;
                 Entity.Fecha_contable        = info.Fecha_contable;
                 Entity.cn_Fecha_vcto         = info.cn_Fecha_vcto.Date;
                 Entity.cn_serie1             = info.cn_serie1;
                 Entity.cn_serie2             = info.cn_serie2;
                 Entity.cn_Nota               = info.cn_Nota;
                 Entity.cn_observacion        = info.cn_observacion;
                 Entity.cn_subtotal_iva       = info.cn_subtotal_iva;
                 Entity.cn_subtotal_siniva    = info.cn_subtotal_siniva;
                 Entity.cn_baseImponible      = info.cn_baseImponible;
                 Entity.cn_Por_iva            = info.cn_Por_iva;
                 Entity.cn_Ice_base           = info.cn_Ice_base;
                 Entity.cn_Ice_por            = info.cn_Ice_por;
                 Entity.cn_Ice_valor          = info.cn_Ice_valor;
                 Entity.cn_Serv_por           = info.cn_Serv_por;
                 Entity.cn_Serv_valor         = info.cn_Serv_valor;
                 Entity.cn_BaseSeguro         = info.cn_BaseSeguro;
                 Entity.cn_total              = info.cn_total;
                 Entity.cn_valoriva           = info.cn_valoriva;
                 Entity.cn_Autorizacion       = info.cn_Autorizacion;
                 Entity.cn_num_doc_modificado = info.cn_num_doc_modificado;
                 Entity.IdCod_ICE             = info.IdCod_ICE;
                 Entity.IdIden_credito        = info.IdIden_credito;
                 Entity.IdTipoServicio        = info.IdTipoServicio;
                 Entity.ConvenioTributacion   = info.ConvenioTributacion_bool == true ? "SI" : "NO";
                 Entity.PagoSujetoRetencion   = info.PagoSujetoRetencion_bool == true ? "SI" : "NO";
                 Entity.IdUsuarioUltMod       = info.IdUsuarioUltMod;
                 Entity.Fecha_UltMod          = DateTime.Now;
             };
             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_nota_DebCre_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuario
         });
         return(false);
     }
 }
示例#20
0
        public bool guardarDB(cp_nota_DebCre_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_nota_DebCre Entity = new cp_nota_DebCre
                    {
                        IdEmpresa             = info.IdEmpresa,
                        IdCbteCble_Nota       = info.IdCbteCble_Nota,
                        IdTipoCbte_Nota       = info.IdTipoCbte_Nota,
                        cod_nota              = info.cod_nota,
                        DebCre                = info.DebCre,
                        IdProveedor           = info.IdProveedor,
                        IdTipoNota            = info.IdTipoNota,
                        IdSucursal            = info.IdSucursal,
                        cn_fecha              = info.cn_fecha,
                        Fecha_contable        = info.Fecha_contable,
                        cn_Fecha_vcto         = info.cn_Fecha_vcto.Date,
                        cn_serie1             = info.cn_serie1,
                        cn_serie2             = info.cn_serie2,
                        cn_Nota               = info.cn_Nota,
                        cn_observacion        = info.cn_observacion,
                        cn_subtotal_iva       = info.cn_subtotal_iva,
                        cn_subtotal_siniva    = info.cn_subtotal_siniva,
                        cn_baseImponible      = info.cn_baseImponible,
                        cn_Por_iva            = info.cn_Por_iva,
                        cn_Ice_base           = info.cn_Ice_base,
                        cn_Ice_por            = info.cn_Ice_por,
                        cn_Ice_valor          = info.cn_Ice_valor,
                        cn_Serv_por           = info.cn_Serv_por,
                        cn_Serv_valor         = info.cn_Serv_valor,
                        cn_BaseSeguro         = info.cn_BaseSeguro,
                        cn_total              = info.cn_total,
                        cn_vaCoa              = info.cn_vaCoa,
                        cn_Autorizacion       = info.cn_Autorizacion,
                        cn_valoriva           = info.cn_valoriva,
                        cn_num_doc_modificado = info.cn_num_doc_modificado,
                        IdIden_credito        = info.IdIden_credito,
                        IdTipoServicio        = info.IdTipoServicio,
                        IdUsuario             = info.IdUsuario,
                        Fecha_Transac         = info.Fecha_Transac = DateTime.Now,
                        Estado                = info.Estado,
                        ConvenioTributacion   = info.ConvenioTributacion_bool == true ? "SI" : "NO",
                        PagoSujetoRetencion   = info.PagoSujetoRetencion_bool == true ? "SI" : "NO",
                    };
                    Context.cp_nota_DebCre.Add(Entity);


                    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_nota_DebCre_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
示例#21
0
        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);
            }
        }
示例#22
0
        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;
            }
        }
示例#23
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;
            }
        }
示例#24
0
        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);
            }
        }
示例#25
0
        public bool modificarDB(cp_retencion_Info info)
        {
            try
            {
                int sec = 1;
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    var contact = Context.cp_retencion.FirstOrDefault(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdRetencion == info.IdRetencion);
                    if (contact != null)
                    {
                        if (string.IsNullOrEmpty(contact.NumRetencion))
                        {
                            tb_sis_Documento_Tipo_Talonario_Data odata_talonario = new tb_sis_Documento_Tipo_Talonario_Data();
                            var punto_venta = odata_pto.get_info(info.IdEmpresa, info.IdSucursal, info.IdPuntoVta ?? 0);
                            if (punto_venta != null)
                            {
                                info_documento = odata_talonario.GetUltimoNoUsado(info.IdEmpresa, cl_enumeradores.eTipoDocumento.RETEN.ToString(), info.serie1, info.serie2, punto_venta.EsElectronico, true);
                            }

                            contact.serie1       = info.serie1 = info_documento == null ? null : info_documento.Establecimiento;
                            contact.serie2       = info.serie2 = info_documento == null ? null : info_documento.PuntoEmision;
                            contact.NumRetencion = info.NumRetencion = info_documento == null ? null : info_documento.NumDocumento;
                        }
                        //contact.IdPuntoVta = info.IdPuntoVta;
                        contact.IdSucursal      = info.IdSucursal;
                        contact.fecha           = info.fecha;
                        contact.observacion     = info.observacion = info.observacion + info.serie1 + "-" + info.serie2 + "-" + info.NumRetencion;
                        contact.IdUsuarioUltMod = info.IdUsuarioUltMod;
                        contact.Fecha_UltMod    = DateTime.Now;
                        contact.IdUsuarioUltMod = info.IdUsuario;

                        if (info.detalle != null)
                        {
                            var lista = Context.cp_retencion_det.Where(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdRetencion == info.IdRetencion);
                            Context.cp_retencion_det.RemoveRange(lista);

                            foreach (var item in info.detalle)
                            {
                                cp_retencion_det Entity = new cp_retencion_det
                                {
                                    IdEmpresa           = info.IdEmpresa,
                                    IdRetencion         = info.IdRetencion,
                                    Idsecuencia         = sec,
                                    re_tipoRet          = item.re_tipoRet,
                                    re_baseRetencion    = (double)item.re_baseRetencion,
                                    IdCodigo_SRI        = item.IdCodigo_SRI,
                                    re_Codigo_impuesto  = item.re_Codigo_impuesto,
                                    re_valor_retencion  = Math.Round((double)item.re_valor_retencion, 2, MidpointRounding.AwayFromZero),
                                    re_Porcen_retencion = (double)item.re_Porcen_retencion,
                                    re_estado           = "A"
                                };
                                Context.cp_retencion_det.Add(Entity);
                                sec++;
                            }
                        }
                        Context.SaveChanges();

                        if (Math.Round((double)info.detalle.Sum(q => q.re_valor_retencion), 2) > 0.01)
                        {
                            ct_cbtecble_Data odata_ct = new ct_cbtecble_Data();
                            var param  = Context.cp_parametros.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                            var diario = odata_ct.armar_info(info.info_comprobante.lst_ct_cbtecble_det, info.IdEmpresa, info.IdSucursal, (info.info_comprobante.IdTipoCbte == 0 ? Convert.ToInt32(param.pa_IdTipoCbte_x_Retencion) : info.info_comprobante.IdTipoCbte), 0,
                                                             info.observacion, info.fecha);
                            /*"Comprobante contable de retención #" + info.serie1 + " " + info.serie2 + " " + info.NumRetencion, */
                            if (diario != null)
                            {
                                var rel = Context.cp_retencion_x_ct_cbtecble.Where(q => q.rt_IdEmpresa == info.IdEmpresa && q.rt_IdRetencion == info.IdRetencion).FirstOrDefault();
                                if (rel == null)
                                {
                                    if (odata_ct.guardarDB(diario))
                                    {
                                        Context.cp_retencion_x_ct_cbtecble.Add(new cp_retencion_x_ct_cbtecble
                                        {
                                            rt_IdEmpresa   = info.IdEmpresa,
                                            rt_IdRetencion = info.IdRetencion,

                                            ct_IdEmpresa  = diario.IdEmpresa,
                                            ct_IdTipoCbte = diario.IdTipoCbte,
                                            ct_IdCbteCble = diario.IdCbteCble,
                                            Observacion   = "Relacion"
                                        });
                                        Context.SaveChanges();
                                    }
                                }
                                else
                                {
                                    diario.IdCbteCble = rel.ct_IdCbteCble;
                                    odata_ct.modificarDB(diario);
                                }
                            }
                        }
                    }
                }
                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_retencion_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
示例#26
0
        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);
            }
        }
示例#27
0
        public bool modificarDB(cp_retencion_Info info)
        {
            try
            {
                int sec = 1;
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    var contact = Context.cp_retencion.FirstOrDefault(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdRetencion == info.IdRetencion);
                    if (contact != null)
                    {
                        contact.observacion     = info.observacion;
                        contact.IdUsuarioUltMod = info.IdUsuarioUltMod;
                        contact.Fecha_UltMod    = info.Fecha_UltMod;
                        contact.ip = info.ip;
                        if (info.detalle != null)
                        {
                            var lista = Context.cp_retencion_det.Where(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdRetencion == info.IdRetencion);
                            Context.cp_retencion_det.RemoveRange(lista);

                            foreach (var item in info.detalle)
                            {
                                cp_retencion_det Entity = new cp_retencion_det
                                {
                                    IdEmpresa           = info.IdEmpresa,
                                    IdRetencion         = info.IdRetencion,
                                    Idsecuencia         = sec,
                                    re_tipoRet          = item.re_tipoRet,
                                    re_baseRetencion    = (double)item.re_baseRetencion,
                                    IdCodigo_SRI        = item.IdCodigo_SRI,
                                    re_Codigo_impuesto  = item.re_Codigo_impuesto,
                                    re_valor_retencion  = Math.Round((double)item.re_valor_retencion, 2, MidpointRounding.AwayFromZero),
                                    re_Porcen_retencion = (double)item.re_Porcen_retencion,
                                    re_estado           = "A"
                                };
                                Context.cp_retencion_det.Add(Entity);
                                sec++;
                            }
                        }
                        Context.SaveChanges();

                        if (Math.Round((double)info.detalle.Sum(q => q.re_valor_retencion), 2) > 0.01)
                        {
                            ct_cbtecble_Data odata_ct = new ct_cbtecble_Data();
                            var param  = Context.cp_parametros.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                            var diario = odata_ct.armar_info(info.info_comprobante.lst_ct_cbtecble_det, info.IdEmpresa, info.IdSucursal, (info.info_comprobante.IdTipoCbte == 0 ? Convert.ToInt32(param.pa_IdTipoCbte_x_Retencion) : info.info_comprobante.IdTipoCbte), 0,
                                                             "Comprobante contable de retención #" + info.serie1 + " " + info.serie2 + " " + info.NumRetencion, info.fecha);
                            if (diario != null)
                            {
                                var rel = Context.cp_retencion_x_ct_cbtecble.Where(q => q.rt_IdEmpresa == info.IdEmpresa && q.rt_IdRetencion == info.IdRetencion).FirstOrDefault();
                                if (rel == null)
                                {
                                    if (odata_ct.guardarDB(diario))
                                    {
                                        Context.cp_retencion_x_ct_cbtecble.Add(new cp_retencion_x_ct_cbtecble
                                        {
                                            rt_IdEmpresa   = info.IdEmpresa,
                                            rt_IdRetencion = info.IdRetencion,

                                            ct_IdEmpresa  = diario.IdEmpresa,
                                            ct_IdTipoCbte = diario.IdTipoCbte,
                                            ct_IdCbteCble = diario.IdCbteCble,
                                            Observacion   = "Relacion"
                                        });
                                        Context.SaveChanges();
                                    }
                                }
                                else
                                {
                                    diario.IdCbteCble = rel.ct_IdCbteCble;
                                    odata_ct.modificarDB(diario);
                                }
                            }
                        }
                    }
                }
                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);
            }
        }
示例#29
0
        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 bool guardarDB(caj_Caja_Movimiento_Info info)
        {
            try
            {
                using (Entities_caja Context = new Entities_caja())
                {
                    caj_Caja_Movimiento Entity = new caj_Caja_Movimiento
                    {
                        IdEmpresa      = info.IdEmpresa,
                        IdCaja         = info.IdCaja,
                        IdTipocbte     = info.IdTipocbte,
                        IdCbteCble     = info.IdCbteCble,
                        IdEntidad      = info.IdEntidad,
                        IdPeriodo      = info.IdPeriodo = Convert.ToInt32(info.cm_fecha.ToString("yyyyMM")),
                        IdPersona      = info.IdPersona,
                        IdTipoFlujo    = info.IdTipoFlujo,
                        IdTipoMovi     = info.IdTipoMovi,
                        IdTipo_Persona = info.IdTipo_Persona,
                        cm_fecha       = info.cm_fecha.Date,
                        cm_observacion = info.cm_observacion,
                        cm_Signo       = info.cm_Signo,
                        cm_valor       = info.cm_valor,
                        CodMoviCaja    = info.CodMoviCaja,
                        Estado         = info.Estado = "A",

                        IdUsuario     = info.IdUsuario,
                        Fecha_Transac = DateTime.Now
                    };
                    caj_Caja_Movimiento_det Entity_det = new caj_Caja_Movimiento_det
                    {
                        IdEmpresa    = info.IdEmpresa,
                        IdTipocbte   = info.IdTipocbte,
                        IdCbteCble   = info.IdCbteCble,
                        cr_Valor     = info.info_caj_Caja_Movimiento_det.cr_Valor,
                        IdCobro_tipo = info.info_caj_Caja_Movimiento_det.IdCobro_tipo,
                        Secuencia    = 1
                    };
                    Context.caj_Caja_Movimiento.Add(Entity);
                    Context.caj_Caja_Movimiento_det.Add(Entity_det);
                    Context.SaveChanges();
                }

                using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar())
                {
                    cp_orden_pago_cancelaciones_Data odata_can = new cp_orden_pago_cancelaciones_Data();
                    int     secuencia     = 1;
                    decimal IdCancelacion = odata_can.get_id(info.IdEmpresa);
                    if (info.lst_det_canc_op != null)
                    {
                        foreach (var item in info.lst_det_canc_op)
                        {
                            db.cp_orden_pago_cancelaciones.Add(new cp_orden_pago_cancelaciones
                            {
                                IdEmpresa        = info.IdEmpresa,
                                Idcancelacion    = IdCancelacion,
                                Secuencia        = secuencia++,
                                fechaTransaccion = DateTime.Now,
                                IdEmpresa_op     = info.IdEmpresa,
                                IdOrdenPago_op   = item.IdOrdenPago_op,
                                Secuencia_op     = 1,

                                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,

                                SaldoActual   = 0,
                                SaldoAnterior = 0,
                                MontoAplicado = item.MontoAplicado,
                                Observacion   = "Pago chaja chica"
                            });
                            db.SaveChanges();
                        }
                    }
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }