Пример #1
0
        public ActionResult Modificar(decimal IdPersona = 0)
        {
            tb_persona_Info model = bus_persona.get_info(IdPersona);

            if (model == null)
            {
                return(RedirectToAction("Index", "Persona"));
            }
            cargar_combos();
            return(View(model));
        }
Пример #2
0
        public void AddRow(cp_conciliacion_Caja_det_x_ValeCaja_Info info_det, decimal IdTransaccionSession)
        {
            List <cp_conciliacion_Caja_det_x_ValeCaja_Info> list = get_list(IdTransaccionSession);

            info_det.Secuencia = list.Count == 0 ? 1 : list.Max(q => q.Secuencia) + 1;
            var per = bus_persona.get_info(info_det.IdPersona);

            if (per != null)
            {
                info_det.pe_nombreCompleto = per.pe_nombreCompleto;
            }

            var tipo = bus_tipo_movi.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), Convert.ToInt32(info_det.idTipoMovi));

            if (tipo != null)
            {
                info_det.IdCtaCble = tipo.IdCtaCble;
            }

            if (info_det.IdPunto_cargo_vales == null || info_det.IdPunto_cargo_vales == 0)
            {
                info_det.nom_punto_cargo = string.Empty;
            }
            else
            {
                var pc = bus_pc.GetInfo(Convert.ToInt32(SessionFixed.IdEmpresa), Convert.ToInt32(info_det.IdPunto_cargo_vales));
                if (pc != null)
                {
                    info_det.nom_punto_cargo = pc.nom_punto_cargo;
                }
            }

            #region Centro de costo
            info_det.IdCentroCosto_vales = info_det.IdCentroCosto_vales;
            if (string.IsNullOrEmpty(info_det.IdCentroCosto_vales))
            {
                info_det.cc_Descripcion = string.Empty;
            }
            else
            {
                var cc = bus_cc.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), info_det.IdCentroCosto_vales);
                if (cc != null)
                {
                    info_det.cc_Descripcion = cc.cc_Descripcion;
                }
            }
            #endregion

            list.Add(info_det);
        }
Пример #3
0
        public void AddRow(cp_conciliacion_Caja_det_x_ValeCaja_Info info_det, decimal IdTransaccionSession)
        {
            List <cp_conciliacion_Caja_det_x_ValeCaja_Info> list = get_list(IdTransaccionSession);

            info_det.Secuencia = list.Count == 0 ? 1 : list.Max(q => q.Secuencia) + 1;
            var per = bus_persona.get_info(info_det.IdPersona);

            if (per != null)
            {
                info_det.pe_nombreCompleto = per.pe_nombreCompleto;
            }

            var tipo = bus_tipo_movi.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), Convert.ToInt32(info_det.idTipoMovi));

            if (tipo != null)
            {
                info_det.IdCtaCble = tipo.IdCtaCble;
            }

            list.Add(info_det);
        }
Пример #4
0
        private bool validar(caj_Caja_Movimiento_Info i_validar, ref string msg)
        {
            if (i_validar.lst_ct_cbtecble_det.Count == 0)
            {
                mensaje = "Debe ingresar registros en el detalle, por favor verifique";
                return(false);
            }

            foreach (var item in i_validar.lst_ct_cbtecble_det)
            {
                if (string.IsNullOrEmpty(item.IdCtaCble))
                {
                    mensaje = "Faltan cuentas contables, por favor verifique";
                    return(false);
                }
            }

            if (Math.Round(i_validar.lst_ct_cbtecble_det.Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero) != 0)
            {
                mensaje = "La suma de los detalles debe ser 0, por favor verifique";
                return(false);
            }
            if (i_validar.lst_ct_cbtecble_det.Where(q => q.dc_Valor == 0).Count() > 0)
            {
                mensaje = "Existen detalles con valor 0 en el debe o haber, por favor verifique";
                return(false);
            }

            var persona = bus_persona.get_info(i_validar.IdEmpresa, i_validar.IdTipo_Persona, i_validar.IdEntidad);

            if (persona == null)
            {
                msg = "La persona seleccionada no corresponde al tipo asignado";
                return(false);
            }
            i_validar.IdPersona = persona.IdPersona;

            if (Math.Round(i_validar.info_caj_Caja_Movimiento_det.cr_Valor, 2, MidpointRounding.AwayFromZero) != Math.Round(i_validar.lst_ct_cbtecble_det.Sum(q => q.dc_Valor_debe), 2, MidpointRounding.AwayFromZero))
            {
                msg = "Los valores ingresados no concuerdan con el valor del diario";
                return(false);
            }

            i_validar.cm_valor = i_validar.info_caj_Caja_Movimiento_det.cr_Valor;

            return(true);
        }
Пример #5
0
        public bool guardarDB(caj_Caja_Movimiento_Info info)
        {
            try
            {
                var beneficiario = bus_persona.get_info(info.IdEmpresa, info.IdTipo_Persona, info.IdEntidad);
                var caja         = odata_caja.get_info(info.IdEmpresa, info.IdCaja);
                //Como necesito que exista un diario para que el movimiento herede sus PK, armo un diario en base a lo que ingresen en la pantalla
                info.info_ct_cbtecble           = odata_ct.armar_info(info.lst_ct_cbtecble_det, info.IdEmpresa, caja.IdSucursal, info.IdTipocbte, info.IdCbteCble, info.cm_observacion, info.cm_fecha);
                info.info_ct_cbtecble.IdUsuario = info.IdUsuario;

                if (beneficiario != null)
                {
                    if (info.cm_observacion == null)
                    {
                        info.cm_observacion = "";
                    }

                    info.info_ct_cbtecble.cb_Observacion = info.info_ct_cbtecble.cb_Observacion = "BENEF: " + beneficiario.pe_nombreCompleto + " OBS: " + info.cm_observacion;
                    info.cm_observacion = info.cm_observacion = " BENEF: " + beneficiario.pe_nombreCompleto + " OBS: " + info.cm_observacion;
                }
                else
                {
                    info.info_ct_cbtecble.cb_Observacion = info.info_ct_cbtecble.cb_Observacion = info.cm_observacion;
                }

                //Guardo el diario
                if (odata_ct.guardarDB(info.info_ct_cbtecble))
                {//Si el diario se guarda exitosamente entonces paso los PK al movimiento de caja
                    info.IdCbteCble = info.info_ct_cbtecble.IdCbteCble;
                    //Guardo el movimiento de caja
                    if (odata.guardarDB(info))
                    {
                        return(true);
                    }
                }
                return(false);
            }
            catch (Exception ex)
            {
                tb_LogError_Bus LogData = new tb_LogError_Bus();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "caj_Caja_Movimiento_Bus", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
Пример #6
0
        public bool modificarDB(cp_proveedor_Info info)
        {
            try
            {
                bool si_grabo    = false;
                var  infoPersona = bus_persona.get_info(info.IdPersona);

                if (infoPersona.IdPersona != 0)
                {
                    info.info_persona.pe_nombreCompleto = (info.info_persona.pe_nombreCompleto == "" ? info.info_persona.pe_razonSocial : info.info_persona.pe_nombreCompleto);
                    si_grabo = odata_per.modificarDB(info.info_persona);

                    if (si_grabo)
                    {
                        si_grabo = odata.modificarDB(info);
                    }
                }
                return(si_grabo);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #7
0
        public Boolean guardarDB(cp_orden_pago_Info info)
        {
            var ObservacionComprobante = "";

            try
            {
                if (cl_enumeradores.eTipoPersona.CLIENTE.ToString() == info.IdTipo_Persona)
                {
                    info_cliente   = bus_cliente.get_info(info.IdEmpresa, Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_cliente.IdPersona;

                    ObservacionComprobante = "Orden pago a cliente: " + ((info_cliente.info_persona.pe_nombreCompleto) == null ? "" : info_cliente.info_persona.pe_nombreCompleto + " OBS: " + info.Observacion);
                }
                if (cl_enumeradores.eTipoPersona.EMPLEA.ToString() == info.IdTipo_Persona)
                {
                    info_empleado  = bus_empleado.get_info(info.IdEmpresa, Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_empleado.IdPersona;

                    ObservacionComprobante = "Orden pago a empleado: " + ((info_empleado.info_persona.pe_nombreCompleto) == null ? "" : info_empleado.info_persona.pe_nombreCompleto + " OBS: " + info.Observacion);
                }
                if (cl_enumeradores.eTipoPersona.PERSONA.ToString() == info.IdTipo_Persona)
                {
                    info_persona   = bus_persona.get_info(Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_persona.IdPersona;

                    ObservacionComprobante = "Orden pago a persona: " + ((info_persona.pe_nombreCompleto) == null ? "" : info_persona.pe_nombreCompleto + " OBS: " + info.Observacion);
                }
                if (cl_enumeradores.eTipoPersona.PROVEE.ToString() == info.IdTipo_Persona)
                {
                    info_proveedor = bus_proveedor.get_info(info.IdEmpresa, Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_proveedor.IdPersona;

                    ObservacionComprobante = "Orden pago a proveedor: " + ((info_proveedor.info_persona.pe_nombreCompleto) == null ? "" : info_proveedor.info_persona.pe_nombreCompleto + " OBS: " + info.Observacion);
                }

                info.info_comprobante.IdEmpresa  = info.IdEmpresa;
                info.info_comprobante.cb_Fecha   = info.Fecha;
                info.info_comprobante.IdSucursal = info.IdSucursal;
                info.info_comprobante.cb_Estado  = "A";
                info.info_comprobante.IdPeriodo  = Convert.ToInt32(info.info_comprobante.cb_Fecha.Year.ToString() + info.info_comprobante.cb_Fecha.Month.ToString().PadLeft(2, '0'));

                if (info_cliente != null || info_empleado != null || info_persona != null || info_proveedor != null)
                {
                    if (info.Observacion == null)
                    {
                        info.Observacion = "";
                    }
                    info.info_comprobante.cb_Observacion = ObservacionComprobante;
                }
                else
                {
                    info.info_comprobante.cb_Observacion = info.Observacion;
                }

                if (bus_contabilidad.guardarDB(info.info_comprobante))
                {
                    oData.guardarDB(info);
                }

                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Bus LogData = new tb_LogError_Bus();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "cp_orden_pago_Bus", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
Пример #8
0
        public static void FileUploadComplete(object sender, DevExpress.Web.FileUploadCompleteEventArgs e)
        {
            #region Variables
            fa_cliente_tipo_List                            ListaClienteTipo          = new fa_cliente_tipo_List();
            List <fa_cliente_tipo_Info>                     Lista_ClienteTipo         = new List <fa_cliente_tipo_Info>();
            fa_cliente_List                                 ListaCliente              = new fa_cliente_List();
            List <fa_cliente_Info>                          Lista_Cliente             = new List <fa_cliente_Info>();
            fa_cliente_contactos_List                       List_fa_cliente_contactos = new fa_cliente_contactos_List();
            List <fa_cliente_contactos_Info>                Lista_ClienteContactos    = new List <fa_cliente_contactos_Info>();
            fa_cliente_x_fa_Vendedor_x_sucursal_list        List_fa_cliente_x_fa_Vendedor_x_sucursal = new fa_cliente_x_fa_Vendedor_x_sucursal_list();
            List <fa_cliente_x_fa_Vendedor_x_sucursal_Info> Lista_ClienteVendedor = new List <fa_cliente_x_fa_Vendedor_x_sucursal_Info>();

            tb_persona_Bus bus_persona = new tb_persona_Bus();

            int     cont = 0;
            decimal IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            int     IdEmpresa            = Convert.ToInt32(SessionFixed.IdEmpresa);
            #endregion

            Stream stream = new MemoryStream(e.UploadedFile.FileBytes);
            if (stream.Length > 0)
            {
                IExcelDataReader reader = null;
                reader = ExcelReaderFactory.CreateOpenXmlReader(stream);

                #region ClienteTipo
                while (reader.Read())
                {
                    if (!reader.IsDBNull(0) && cont > 0)
                    {
                        fa_cliente_tipo_Info info = new fa_cliente_tipo_Info
                        {
                            IdEmpresa               = IdEmpresa,
                            Idtipo_cliente          = Convert.ToInt32(reader.GetValue(0)),
                            Cod_cliente_tipo        = Convert.ToString(reader.GetValue(1)),
                            Descripcion_tip_cliente = Convert.ToString(reader.GetValue(2)),
                            IdCtaCble_CXC_Cred      = Convert.ToString(reader.GetValue(3)),
                            IdUsuario               = SessionFixed.IdUsuario
                        };
                        Lista_ClienteTipo.Add(info);
                    }
                    else
                    {
                        cont++;
                    }
                }
                ListaClienteTipo.set_list(Lista_ClienteTipo, IdTransaccionSession);
                #endregion

                cont = 0;
                //Para avanzar a la siguiente hoja de excel
                reader.NextResult();

                #region Cliente
                var lst_persona = bus_persona.get_list(false);

                while (reader.Read())
                {
                    if (!reader.IsDBNull(0) && cont > 0)
                    {
                        var             return_naturaleza    = "";
                        var             cedula_ruc           = (Convert.ToString(reader.GetValue(3))).Trim();
                        tb_persona_Info info_persona         = new tb_persona_Info();
                        tb_persona_Info info_persona_cliente = new tb_persona_Info();

                        info_persona         = lst_persona.Where(q => q.pe_cedulaRuc == cedula_ruc).FirstOrDefault();
                        info_persona_cliente = info_persona;

                        if (cl_funciones.ValidaIdentificacion(Convert.ToString(reader.GetValue(2)), Convert.ToString(reader.GetValue(4)), cedula_ruc, ref return_naturaleza))
                        {
                            if (info_persona == null)
                            {
                                tb_persona_Info info_ = new tb_persona_Info
                                {
                                    pe_Naturaleza       = Convert.ToString(reader.GetValue(4)),
                                    pe_nombreCompleto   = Convert.ToString(reader.GetValue(6)) + ' ' + Convert.ToString(reader.GetValue(7)),
                                    pe_razonSocial      = Convert.ToString(reader.GetValue(5)),
                                    pe_apellido         = Convert.ToString(reader.GetValue(6)),
                                    pe_nombre           = Convert.ToString(reader.GetValue(7)),
                                    IdTipoDocumento     = Convert.ToString(reader.GetValue(2)),
                                    pe_cedulaRuc        = cedula_ruc,
                                    pe_direccion        = Convert.ToString(reader.GetValue(9)),
                                    pe_telfono_Contacto = Convert.ToString(reader.GetValue(10)),
                                    pe_celular          = Convert.ToString(reader.GetValue(11)),
                                    pe_correo           = Convert.ToString(reader.GetValue(8)),
                                };
                                info_persona_cliente = info_;
                            }
                            else
                            {
                                info_persona_cliente = bus_persona.get_info(info_persona.IdPersona);
                                var x = Convert.ToString(reader.GetValue(4));
                                info_persona_cliente.pe_Naturaleza       = x;
                                info_persona_cliente.pe_nombreCompleto   = Convert.ToString(reader.GetValue(6)) + ' ' + Convert.ToString(reader.GetValue(7));
                                info_persona_cliente.pe_razonSocial      = Convert.ToString(reader.GetValue(5));
                                info_persona_cliente.pe_apellido         = Convert.ToString(reader.GetValue(6));
                                info_persona_cliente.pe_nombre           = Convert.ToString(reader.GetValue(7));
                                info_persona_cliente.IdTipoDocumento     = Convert.ToString(reader.GetValue(2));
                                info_persona_cliente.pe_cedulaRuc        = cedula_ruc;
                                info_persona_cliente.pe_direccion        = Convert.ToString(reader.GetValue(9));
                                info_persona_cliente.pe_telfono_Contacto = Convert.ToString(reader.GetValue(10));
                                info_persona_cliente.pe_celular          = Convert.ToString(reader.GetValue(11));
                                info_persona_cliente.pe_correo           = Convert.ToString(reader.GetValue(8));
                            }

                            info_persona_cliente.pe_Naturaleza     = return_naturaleza;
                            info_persona_cliente.pe_nombreCompleto = (info_persona_cliente.pe_razonSocial != "" ? info_persona_cliente.pe_razonSocial : (info_persona_cliente.pe_apellido + ' ' + info_persona.pe_nombre));

                            var             CtaCbleClase = Lista_ClienteTipo.Where(q => q.Idtipo_cliente == Convert.ToInt32(reader.GetValue(13))).FirstOrDefault();
                            fa_cliente_Info info         = new fa_cliente_Info
                            {
                                IdEmpresa              = IdEmpresa,
                                IdPersona              = info_persona_cliente.IdPersona,
                                IdCliente              = Convert.ToInt32(reader.GetValue(0)),
                                Codigo                 = Convert.ToString(reader.GetValue(1)),
                                Idtipo_cliente         = Convert.ToInt32(reader.GetValue(13)),
                                cl_plazo               = Convert.ToInt32(reader.GetValue(15)),
                                cl_Cupo                = Convert.ToDouble(reader.GetValue(16)),
                                IdCtaCble_cxc_Credito  = CtaCbleClase == null ? null: CtaCbleClase.IdCtaCble_CXC_Cred,
                                es_empresa_relacionada = (Convert.ToString(reader.GetValue(12)) == "SI") ? true : false,
                                EsClienteExportador    = false,
                                IdNivel                = 1,
                                IdTipoCredito          = "CON",
                                FormaPago              = "01",
                                IdUsuario              = SessionFixed.IdUsuario,
                                IdCiudad               = Convert.ToString(reader.GetValue(18)),
                                IdParroquia            = Convert.ToString(reader.GetValue(19)),
                                Celular                = Convert.ToString(reader.GetValue(11)),
                                Correo                 = Convert.ToString(reader.GetValue(8)),
                                Direccion              = Convert.ToString(reader.GetValue(9)),
                                Telefono               = Convert.ToString(reader.GetValue(10))
                            };

                            fa_cliente_contactos_Info info_cliente_contacto = new fa_cliente_contactos_Info
                            {
                                IdEmpresa   = IdEmpresa,
                                IdContacto  = 1,
                                IdCiudad    = Convert.ToString(reader.GetValue(18)),
                                IdParroquia = Convert.ToString(reader.GetValue(19)),
                                Celular     = Convert.ToString(reader.GetValue(11)),
                                Correo      = Convert.ToString(reader.GetValue(8)),
                                Direccion   = Convert.ToString(reader.GetValue(9)),
                                Nombres     = (Convert.ToString(reader.GetValue(4)) == "NATU") ? Convert.ToString(reader.GetValue(6)) + ' ' + Convert.ToString(reader.GetValue(7)) : Convert.ToString(reader.GetValue(5)),
                                Telefono    = Convert.ToString(reader.GetValue(10)),
                            };

                            info.lst_fa_cliente_contactos = new List <fa_cliente_contactos_Info>();
                            info.lst_fa_cliente_contactos.Add(info_cliente_contacto);
                            info.Lst_fa_cliente_x_fa_Vendedor_x_sucursal = new List <fa_cliente_x_fa_Vendedor_x_sucursal_Info>();
                            info.info_persona = info_persona_cliente;

                            if (Lista_Cliente.Where(q => q.info_persona.pe_cedulaRuc == info_persona_cliente.pe_cedulaRuc).Count() == 0)
                            {
                                Lista_Cliente.Add(info);
                            }
                        }
                    }
                    else
                    {
                        cont++;
                    }
                }
                ListaCliente.set_list(Lista_Cliente, IdTransaccionSession);
                #endregion
            }
        }
        private bool validar(ba_Cbte_Ban_Info i_validar, ref string msg)
        {
            i_validar.lst_det_canc_op = List_op.get_list(i_validar.IdTransaccionSession);
            i_validar.lst_det_ct      = List_ct.get_list(i_validar.IdTransaccionSession);
            if (!bus_periodo.ValidarFechaTransaccion(i_validar.IdEmpresa, i_validar.cb_Fecha, cl_enumeradores.eModulo.BANCO, ref msg))
            {
                return(false);
            }
            if (!bus_periodo.ValidarFechaTransaccion(i_validar.IdEmpresa, i_validar.cb_Fecha, cl_enumeradores.eModulo.CONTA, ref msg))
            {
                return(false);
            }
            if (i_validar.lst_det_ct.Count == 0)
            {
                msg = "El detalle del diario se encuentra vacío";
                return(false);
            }

            foreach (var item in i_validar.lst_det_ct)
            {
                if (string.IsNullOrEmpty(item.IdCtaCble))
                {
                    mensaje = "Faltan cuentas contables, por favor verifique";
                    return(false);
                }
            }

            if (Math.Round(i_validar.lst_det_ct.Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero) != 0)
            {
                mensaje = "La suma de los detalles debe ser 0, por favor verifique";
                return(false);
            }
            if (i_validar.lst_det_ct.Where(q => q.dc_Valor == 0).Count() > 0)
            {
                mensaje = "Existen detalles con valor 0 en el debe o haber, por favor verifique";
                return(false);
            }
            if (i_validar.IdEntidad != 0 && i_validar.IdEntidad != null)
            {
                var persona = bus_persona.get_info(i_validar.IdEmpresa, i_validar.IdTipo_Persona, Convert.ToDecimal(i_validar.IdEntidad));
                if (persona == null)
                {
                    msg = "La persona seleccionada no corresponde al tipo asignado";
                    return(false);
                }
                i_validar.IdPersona          = persona.IdPersona;
                i_validar.IdPersona_Girado_a = persona.IdPersona;

                if (Math.Round(i_validar.lst_det_canc_op.Sum(q => q.MontoAplicado), 2, MidpointRounding.AwayFromZero) != Math.Round(i_validar.lst_det_ct.Sum(q => q.dc_Valor_debe), 2, MidpointRounding.AwayFromZero))
                {
                    msg = "Los valores ingresados no concuerdan con el valor del diario";
                    return(false);
                }
                if (i_validar.IdCbteCble == 0)
                {
                    i_validar.cb_Observacion += " Canc./ ";
                    foreach (var item in i_validar.lst_det_canc_op)
                    {
                        i_validar.cb_Observacion += item.Referencia + "/";
                    }
                }
            }

            if (i_validar.list_det.Count() > 0)
            {
                if (Math.Round(i_validar.list_det.Sum(q => q.Valor), 2, MidpointRounding.AwayFromZero) != i_validar.cb_Valor)
                {
                    mensaje = "La suma de los detalles del flujo debe ser igual a el valor del documento";
                    return(false);
                }
            }
            var cta = bus_banco_cuenta.get_info(i_validar.IdEmpresa, i_validar.IdBanco);

            if (cta == null)
            {
                mensaje = "Selecciona la cuenta bancaria";
                return(false);
            }
            if (cta.EsFlujoObligatorio)
            {
                if (i_validar.list_det.Count == 0)
                {
                    mensaje = "Falta distribución de flujo";
                    return(false);
                }
            }
            i_validar.IdPeriodo       = Convert.ToInt32(i_validar.cb_Fecha.ToString("yyyyMM"));
            i_validar.IdUsuario       = SessionFixed.IdUsuario;
            i_validar.IdUsuarioUltMod = SessionFixed.IdUsuario;
            i_validar.IdUsuario_Anu   = SessionFixed.IdUsuario;
            i_validar.IdUsuarioUltMod = SessionFixed.IdUsuario;
            i_validar.cb_Valor        = Math.Round(i_validar.lst_det_ct.Sum(q => q.dc_Valor_debe), 2, MidpointRounding.AwayFromZero);
            return(true);
        }
Пример #10
0
        private bool validar(ba_Cbte_Ban_Info i_validar, ref string msg)
        {
            i_validar.lst_det_canc_op = List_op.get_list(i_validar.IdTransaccionSession);
            i_validar.lst_det_ct      = List_ct.get_list(i_validar.IdTransaccionSession);
            if (!bus_periodo.ValidarFechaTransaccion(i_validar.IdEmpresa, i_validar.cb_Fecha, cl_enumeradores.eModulo.BANCO, i_validar.IdSucursal, ref msg))
            {
                return(false);
            }
            if (!bus_periodo.ValidarFechaTransaccion(i_validar.IdEmpresa, i_validar.cb_Fecha, cl_enumeradores.eModulo.CONTA, i_validar.IdSucursal, ref msg))
            {
                return(false);
            }
            if (i_validar.IdEntidad == 0)
            {
                msg = "Seleccione el beneficiario";
                return(false);
            }
            if (i_validar.lst_det_canc_op.Count == 0)
            {
                msg = "Seleccione las órdenes de pago a ser canceladas";
                return(false);
            }
            if (i_validar.lst_det_ct.Count == 0)
            {
                msg = "El detalle del diario se encuentra vacío";
                return(false);
            }

            foreach (var item in i_validar.lst_det_ct)
            {
                if (string.IsNullOrEmpty(item.IdCtaCble))
                {
                    mensaje = "Faltan cuentas contables, por favor verifique";
                    return(false);
                }
            }

            if (Math.Round(i_validar.lst_det_ct.Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero) != 0)
            {
                mensaje = "La suma de los detalles debe ser 0, por favor verifique";
                return(false);
            }
            if (i_validar.lst_det_ct.Where(q => q.dc_Valor == 0).Count() > 0)
            {
                mensaje = "Existen detalles con valor 0 en el debe o haber, por favor verifique";
                return(false);
            }
            if (i_validar.IdEntidad != null && i_validar.IdEntidad != 0)
            {
                var persona = bus_persona.get_info(i_validar.IdEmpresa, i_validar.IdTipo_Persona, Convert.ToDecimal(i_validar.IdEntidad));
                if (persona == null)
                {
                    msg = "La persona seleccionada no corresponde al tipo asignado";
                    return(false);
                }
                i_validar.IdPersona          = persona.IdPersona;
                i_validar.IdPersona_Girado_a = persona.IdPersona;
            }
            if (Math.Round(i_validar.lst_det_canc_op.Sum(q => q.MontoAplicado), 2, MidpointRounding.AwayFromZero) != Math.Round(i_validar.lst_det_ct.Sum(q => q.dc_Valor_debe), 2, MidpointRounding.AwayFromZero))
            {
                msg = "Los valores ingresados no concuerdan con el valor del diario";
                return(false);
            }

            if (i_validar.list_det.Count() > 0)
            {
                if (Math.Round(i_validar.list_det.Sum(q => q.Valor), 2, MidpointRounding.AwayFromZero) != Convert.ToDouble(i_validar.cb_Valor))
                {
                    mensaje = "La suma de los detalles del flujo debe ser igual a el valor del documento";
                    return(false);
                }
            }
            var cta = bus_banco_cuenta.get_info(i_validar.IdEmpresa, i_validar.IdBanco);

            if (cta == null)
            {
                mensaje = "Selecciona la cuenta bancaria";
                return(false);
            }
            if (cta.EsFlujoObligatorio)
            {
                if (i_validar.list_det.Count == 0)
                {
                    mensaje = "Falta distribución de flujo";
                    return(false);
                }
            }
            i_validar.IdPeriodo       = Convert.ToInt32(i_validar.cb_Fecha.ToString("yyyyMM"));
            i_validar.IdUsuario       = SessionFixed.IdUsuario;
            i_validar.IdUsuarioUltMod = SessionFixed.IdUsuario;
            i_validar.IdUsuario_Anu   = SessionFixed.IdUsuario;
            i_validar.cb_Valor        = Math.Round(i_validar.lst_det_ct.Sum(q => q.dc_Valor_debe), 2, MidpointRounding.AwayFromZero);
            i_validar.ValorEnLetras   = funciones.NumeroALetras(i_validar.cb_Valor.ToString());

            var param = bus_param.get_info(i_validar.IdEmpresa);

            if (!(param.PermitirSobreGiro))
            {
                var Valor = Math.Round(i_validar.lst_det_ct.Where(q => q.IdCtaCble == cta.IdCtaCble).Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero);
                if (!bus_banco_cuenta.ValidarSaldoCuenta(i_validar.IdEmpresa, cta.IdCtaCble, Valor))
                {
                    mensaje = "No se puede guardar la transacción por sobre giro en la cuenta";
                    return(false);
                }
            }
            return(true);
        }
Пример #11
0
        private bool validar(cp_conciliacion_Caja_Info i_validar, ref string msg)
        {
            i_validar.lst_det_ct = list_ct.get_list(i_validar.IdTransaccionSession);

            i_validar.lst_det_ing  = list_ing.get_list(i_validar.IdTransaccionSession);
            i_validar.lst_det_vale = list_vale.get_list(i_validar.IdTransaccionSession);
            i_validar.lst_det_fact = list_det.get_list(i_validar.IdTransaccionSession);

            var ingresos = i_validar.lst_det_ing.Sum(q => q.valor_disponible);
            var egresos  = Convert.ToDouble(i_validar.lst_det_fact.Count == 0 ? 0 : i_validar.lst_det_fact.Sum(q => q.Valor_a_aplicar)) + Convert.ToDouble(i_validar.lst_det_vale.Count == 0 ? 0 : i_validar.lst_det_vale.Sum(q => q.valor));

            i_validar.Ingresos             = Math.Round(ingresos, 2, MidpointRounding.AwayFromZero);
            i_validar.Total_Ing            = Math.Round(Math.Abs(i_validar.Saldo_cont_al_periodo) - ingresos, 2, MidpointRounding.AwayFromZero);
            i_validar.Total_fondo          = Math.Round(ingresos, 2, MidpointRounding.AwayFromZero);
            i_validar.Total_fact_vale      = Math.Round(egresos, 2, MidpointRounding.AwayFromZero);
            i_validar.Dif_x_pagar_o_cobrar = Math.Round(ingresos - egresos, 2, MidpointRounding.AwayFromZero);

            if (i_validar.IdEstadoCierre == cl_enumeradores.eEstadoCierreCaja.EST_CIE_CER.ToString())
            {
                if (i_validar.IdEntidad == 0)
                {
                    msg = "Seleccione el beneficiario";
                    return(false);
                }
                if (i_validar.lst_det_ct.Count == 0)
                {
                    msg = "Debe ingresar registros en el detalle del diario";
                    return(false);
                }
                if (i_validar.lst_det_ct.Sum(q => q.dc_Valor) != 0)
                {
                    msg = "La suma del detalle del diario debe ser 0";
                    return(false);
                }

                if (i_validar.lst_det_ct.Where(q => q.dc_Valor == 0).Count() > 0)
                {
                    msg = "Existen detalles con valor 0 en el debe o haber";
                    return(false);
                }
                var persona = bus_persona.get_info(i_validar.IdEmpresa, i_validar.IdTipoPersona, (decimal)i_validar.IdEntidad);
                if (persona == null)
                {
                    msg = "La persona seleccionada no corresponde al tipo asignado";
                    return(false);
                }
                i_validar.IdPersona = persona.IdPersona;

                foreach (var item in i_validar.lst_det_fact)
                {
                    item.IdCtaCble_cxp = bus_plancta.get_CtaCble_acreedora(item.IdEmpresa_OGiro, item.IdTipoCbte_Ogiro, item.IdCbteCble_Ogiro);
                    if (string.IsNullOrEmpty(item.IdCtaCble_cxp))
                    {
                        msg = "La cuenta contable de la " + item.Tipo_documento + "# " + item.co_factura + "No se encuentra registrada para el proveedor";
                        return(false);
                    }
                }
            }

            return(true);
        }
Пример #12
0
        public static void FileUploadComplete(object sender, DevExpress.Web.FileUploadCompleteEventArgs e)
        {
            #region Variables
            cp_proveedor_List              ListaProveedor       = new cp_proveedor_List();
            List <cp_proveedor_Info>       Lista_Proveedor      = new List <cp_proveedor_Info>();
            cp_proveedor_clase_List        ListaClaseProveedor  = new cp_proveedor_clase_List();
            List <cp_proveedor_clase_Info> Lista_ClaseProveedor = new List <cp_proveedor_clase_Info>();
            tb_persona_Bus bus_persona = new tb_persona_Bus();

            int     cont = 0;
            decimal IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            int     IdEmpresa            = Convert.ToInt32(SessionFixed.IdEmpresa);
            #endregion

            Stream stream = new MemoryStream(e.UploadedFile.FileBytes);
            if (stream.Length > 0)
            {
                IExcelDataReader reader = null;
                reader = ExcelReaderFactory.CreateOpenXmlReader(stream);

                #region ClaseProveedor
                while (reader.Read())
                {
                    if (!reader.IsDBNull(0) && cont > 0)
                    {
                        cp_proveedor_clase_Info info = new cp_proveedor_clase_Info
                        {
                            IdEmpresa              = IdEmpresa,
                            IdClaseProveedor       = Convert.ToInt32(reader.GetValue(0)),
                            cod_clase_proveedor    = Convert.ToString(reader.GetValue(1)),
                            descripcion_clas_prove = Convert.ToString(reader.GetValue(2)),
                            IdCtaCble_gasto        = null, //Convert.ToString(reader.GetValue(3)),
                            IdCtaCble_CXP          = null, //Convert.ToString(reader.GetValue(4)),
                            IdUsuario              = SessionFixed.IdUsuario
                        };
                        Lista_ClaseProveedor.Add(info);
                    }
                    else
                    {
                        cont++;
                    }
                }
                ListaClaseProveedor.set_list(Lista_ClaseProveedor, IdTransaccionSession);
                #endregion

                cont = 0;
                //Para avanzar a la siguiente hoja de excel
                reader.NextResult();

                #region Proveedor
                var lst_persona = bus_persona.get_list(false);

                while (reader.Read())
                {
                    if (!reader.IsDBNull(0) && cont > 0)
                    {
                        var cedula_ruc = (Convert.ToString(reader.GetValue(3))).Trim();

                        tb_persona_Info info_persona      = new tb_persona_Info();
                        tb_persona_Info info_persona_prov = new tb_persona_Info();
                        var             return_naturaleza = "";
                        info_persona      = lst_persona.Where(q => q.pe_cedulaRuc.Trim() == cedula_ruc.Trim()).FirstOrDefault();
                        info_persona_prov = info_persona;

                        if (cl_funciones.ValidaIdentificacion(Convert.ToString(reader.GetValue(2)), Convert.ToString(reader.GetValue(4)), cedula_ruc, ref return_naturaleza))
                        {
                            if (info_persona == null)
                            {
                                tb_persona_Info info_ = new tb_persona_Info
                                {
                                    pe_Naturaleza       = Convert.ToString(reader.GetValue(4)),
                                    pe_nombreCompleto   = Convert.ToString(reader.GetValue(5)),
                                    pe_razonSocial      = Convert.ToString(reader.GetValue(5)),
                                    pe_apellido         = Convert.ToString(reader.GetValue(6)),
                                    pe_nombre           = Convert.ToString(reader.GetValue(7)),
                                    IdTipoDocumento     = Convert.ToString(reader.GetValue(2)),
                                    pe_cedulaRuc        = cedula_ruc,
                                    pe_direccion        = Convert.ToString(reader.GetValue(9)),
                                    pe_telfono_Contacto = Convert.ToString(reader.GetValue(10)),
                                    pe_celular          = Convert.ToString(reader.GetValue(11)),
                                    pe_correo           = Convert.ToString(reader.GetValue(8)),
                                };

                                info_persona_prov = info_;
                            }
                            else
                            {
                                info_persona_prov = bus_persona.get_info(info_persona.IdPersona);

                                info_persona_prov.pe_Naturaleza       = Convert.ToString(reader.GetValue(4));
                                info_persona_prov.pe_nombreCompleto   = Convert.ToString(reader.GetValue(5));
                                info_persona_prov.pe_razonSocial      = Convert.ToString(reader.GetValue(5));
                                info_persona_prov.pe_apellido         = Convert.ToString(reader.GetValue(6));
                                info_persona_prov.pe_nombre           = Convert.ToString(reader.GetValue(7));
                                info_persona_prov.IdTipoDocumento     = Convert.ToString(reader.GetValue(2));
                                info_persona_prov.pe_cedulaRuc        = cedula_ruc;
                                info_persona_prov.pe_direccion        = Convert.ToString(reader.GetValue(9));
                                info_persona_prov.pe_telfono_Contacto = Convert.ToString(reader.GetValue(10));
                                info_persona_prov.pe_celular          = Convert.ToString(reader.GetValue(11));
                                info_persona_prov.pe_correo           = Convert.ToString(reader.GetValue(8));
                            }

                            info_persona_prov.pe_Naturaleza = return_naturaleza;

                            cp_proveedor_Info info = new cp_proveedor_Info
                            {
                                IdEmpresa              = IdEmpresa,
                                IdProveedor            = Convert.ToInt32(reader.GetValue(0)),
                                IdPersona              = info_persona_prov.IdPersona,
                                IdCiudad               = "09",
                                pr_codigo              = string.IsNullOrEmpty(Convert.ToString(reader.GetValue(1))) ? null : Convert.ToString(reader.GetValue(1)),
                                pr_plazo               = Convert.ToInt32(reader.GetValue(19)),
                                IdCtaCble_CXP          = string.IsNullOrEmpty(Convert.ToString(reader.GetValue(15))) ? null : Convert.ToString(reader.GetValue(15)),
                                IdCtaCble_Gasto        = string.IsNullOrEmpty(Convert.ToString(reader.GetValue(14))) ? null : Convert.ToString(reader.GetValue(14)),
                                IdClaseProveedor       = Convert.ToInt32(reader.GetValue(13)),
                                num_cta_acreditacion   = string.IsNullOrEmpty(Convert.ToString(reader.GetValue(18))) ? null : Convert.ToString(reader.GetValue(18)),
                                IdBanco_acreditacion   = 4,
                                es_empresa_relacionada = (Convert.ToString(reader.GetValue(12)) == "SI") ? true : false,
                                pr_telefonos           = Convert.ToString(reader.GetValue(10)),
                                pr_celular             = Convert.ToString(reader.GetValue(11)),
                                pr_direccion           = Convert.ToString(reader.GetValue(9)),
                                pr_correo              = Convert.ToString(reader.GetValue(8)),
                                IdUsuario              = SessionFixed.IdUsuario,
                            };

                            info.info_persona = info_persona_prov;

                            if (Lista_Proveedor.Where(q => q.info_persona.pe_cedulaRuc == info_persona_prov.pe_cedulaRuc).Count() == 0)
                            {
                                Lista_Proveedor.Add(info);
                            }
                        }
                    }
                    else
                    {
                        cont++;
                    }
                }
                ListaProveedor.set_list(Lista_Proveedor, IdTransaccionSession);
                #endregion
            }
        }
Пример #13
0
        public Boolean guardarDB(cp_orden_pago_Info info)
        {
            var ObservacionComprobante = "";

            try
            {
                if (cl_enumeradores.eTipoPersona.CLIENTE.ToString() == info.IdTipo_Persona)
                {
                    info_cliente   = bus_cliente.get_info(info.IdEmpresa, Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_cliente.IdPersona;

                    ObservacionComprobante = "Orden pago a cliente: " + (info_cliente.info_persona.pe_nombreCompleto) == null ? "" : info_cliente.info_persona.pe_nombreCompleto + " " + info.Observacion;
                }
                if (cl_enumeradores.eTipoPersona.EMPLEA.ToString() == info.IdTipo_Persona)
                {
                    info_empleado  = bus_empleado.get_info(info.IdEmpresa, Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_empleado.IdPersona;

                    ObservacionComprobante = "Orden pago a empleado: " + (info_empleado.info_persona.pe_nombreCompleto) == null ? "" : info_empleado.info_persona.pe_nombreCompleto + " " + info.Observacion;
                }
                if (cl_enumeradores.eTipoPersona.PERSONA.ToString() == info.IdTipo_Persona)
                {
                    info_persona   = bus_persona.get_info(Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_persona.IdPersona;

                    ObservacionComprobante = "Orden pago a persona: " + (info_persona.pe_nombreCompleto) == null ? "" : info_persona.pe_nombreCompleto + " " + info.Observacion;
                }
                if (cl_enumeradores.eTipoPersona.PROVEE.ToString() == info.IdTipo_Persona)
                {
                    info_proveedor = bus_proveedor.get_info(info.IdEmpresa, Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_proveedor.IdPersona;

                    ObservacionComprobante = "Orden pago a proveedor: " + (info_proveedor.info_persona.pe_nombreCompleto) == null ? "" : info_proveedor.info_persona.pe_nombreCompleto + " " + info.Observacion;
                }

                info.info_comprobante.IdEmpresa  = info.IdEmpresa;
                info.info_comprobante.cb_Fecha   = info.Fecha;
                info.info_comprobante.IdSucursal = info.IdSucursal;
                info.info_comprobante.cb_Estado  = "A";
                info.info_comprobante.IdPeriodo  = Convert.ToInt32(info.info_comprobante.cb_Fecha.Year.ToString() + info.info_comprobante.cb_Fecha.Month.ToString().PadLeft(2, '0'));

                if (info_cliente != null || info_empleado != null || info_persona != null || info_proveedor != null)
                {
                    if (info.Observacion == null)
                    {
                        info.Observacion = "";
                    }
                    info.info_comprobante.cb_Observacion = ObservacionComprobante;
                }
                else
                {
                    info.info_comprobante.cb_Observacion = info.Observacion;
                }

                if (bus_contabilidad.guardarDB(info.info_comprobante))
                {
                    oData.guardarDB(info);
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #14
0
        private bool validar(ba_Cbte_Ban_Info i_validar, ref string msg)
        {
            i_validar.lst_det_canc_op = List_op.get_list();
            i_validar.lst_det_ct      = List_ct.get_list(i_validar.IdTransaccionSession);

            if (i_validar.IdEntidad == 0)
            {
                msg = "Seleccione el beneficiario";
                return(false);
            }
            if (i_validar.lst_det_canc_op.Count == 0)
            {
                msg = "Seleccione las órdenes de pago a ser canceladas";
                return(false);
            }
            if (i_validar.lst_det_ct.Count == 0)
            {
                msg = "El detalle del diario se encuentra vacío";
                return(false);
            }

            foreach (var item in i_validar.lst_det_ct)
            {
                if (string.IsNullOrEmpty(item.IdCtaCble))
                {
                    mensaje = "Faltan cuentas contables, por favor verifique";
                    return(false);
                }
            }

            if (Math.Round(i_validar.lst_det_ct.Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero) != 0)
            {
                mensaje = "La suma de los detalles debe ser 0, por favor verifique";
                return(false);
            }
            if (i_validar.lst_det_ct.Where(q => q.dc_Valor == 0).Count() > 0)
            {
                mensaje = "Existen detalles con valor 0 en el debe o haber, por favor verifique";
                return(false);
            }

            var persona = bus_persona.get_info(i_validar.IdEmpresa, i_validar.IdTipo_Persona, Convert.ToDecimal(i_validar.IdEntidad));

            if (persona == null)
            {
                msg = "La persona seleccionada no corresponde al tipo asignado";
                return(false);
            }
            i_validar.IdPersona          = persona.IdPersona;
            i_validar.IdPersona_Girado_a = persona.IdPersona;

            if (Math.Round(i_validar.lst_det_canc_op.Sum(q => q.MontoAplicado), 2, MidpointRounding.AwayFromZero) != Math.Round(i_validar.lst_det_ct.Sum(q => q.dc_Valor_debe), 2, MidpointRounding.AwayFromZero))
            {
                msg = "Los valores ingresados no concuerdan con el valor del diario";
                return(false);
            }
            if (i_validar.IdCbteCble == 0)
            {
                i_validar.cb_Observacion += " Canc./ ";
                foreach (var item in i_validar.lst_det_canc_op)
                {
                    i_validar.cb_Observacion += item.Referencia + "/";
                }
            }
            i_validar.IdPeriodo       = Convert.ToInt32(i_validar.cb_Fecha.ToString("yyyyMM"));
            i_validar.IdUsuario       = SessionFixed.IdUsuario;
            i_validar.IdUsuarioUltMod = SessionFixed.IdUsuario;
            i_validar.IdUsuario_Anu   = SessionFixed.IdUsuario;
            i_validar.cb_Valor        = Math.Round(i_validar.lst_det_ct.Sum(q => q.dc_Valor_debe), 2, MidpointRounding.AwayFromZero);
            i_validar.ValorEnLetras   = funciones.NumeroALetras(i_validar.cb_Valor.ToString());
            return(true);
        }