public int Modificar(SolicitudVob solicitud)
        {
            SolicitudInformacionMunicipal sol = new SolicitudInformacionMunicipal();

            DateTime fecha = new DateTime();

            fecha = DateTime.Today;

            using (var context = new UPC_MUNIEntities())
            {
                var solmodif = (from c in context.SolicitudInformacionMunicipal
                                where c.NumeroSolicitud == solicitud.NumeroSolicitud
                                select c).First();



                solmodif.NombresSolicitante         = solicitud.NombresSolicitante;
                solmodif.ApellidoPaternoSolicitante = solicitud.ApellidoPaternoSolicitante;
                solmodif.ApellidoMaternoSolicitante = solicitud.ApellidoMaternoSolicitante;
                solmodif.TipoDocumento    = solicitud.TipoDocumento;
                solmodif.NumeroDocumento  = solicitud.NumeroDocumento;
                solmodif.Direccion        = solicitud.Direccion;
                solmodif.Telefono         = solicitud.Telefono;
                solmodif.Celular          = solicitud.Celular;
                solmodif.Email            = solicitud.Email;
                solmodif.Modo_Envio       = solicitud.Modo_Envio;
                solmodif.Tipo_Informacion = solicitud.Tipo_Informacion;
                solmodif.Observaciones    = solicitud.Observaciones;
                context.SaveChanges();

                return(Convert.ToInt32(solicitud.NumeroSolicitud));
            };
        }
        public List <SolicitudPagoServicioVob> BuscarSolicitudesPago()
        {
            using (var context = new UPC_MUNIEntities())
            {
                var consulta = from soli in context.SolicitudPagoServicio
                               select new SolicitudPagoServicioVob
                {
                    NumSolicitudPago   = soli.NumSolicitudPago,
                    FechaSolicitud     = soli.FechaSolicitud,
                    Monto              = soli.Monto,
                    Motivo             = soli.Motivo,
                    CodContribuyente   = soli.CodContribuyente,
                    CodConceptoPago    = soli.CodConceptoPago,
                    CodEstadoSolicitud = soli.CodEstadoSolicitud,

                    NombContribuyente   = soli.Contribuyente.Nombre,
                    DescConceptoPago    = soli.ConceptoPago.Descripcion,
                    DescEstadoSolicitud = soli.Multitabla.NombreValor,
                    DNI       = soli.Contribuyente.NumDocumento,
                    CodMoneda = soli.Multitabla.IdMultitabla
                };

                return(consulta.ToList());
            }
        }
        public SolicitudVob BuscarSolicitudporId(long id)
        {
            using (var context = new UPC_MUNIEntities())
            {
                var consulta = from sol in context.SolicitudInformacionMunicipal
                               where sol.NumeroSolicitud == id
                               select new SolicitudVob
                {
                    NumeroSolicitud            = sol.NumeroSolicitud,
                    FechaSolicitud             = sol.FechaSolicitud,
                    NombresSolicitante         = sol.NombresSolicitante,
                    ApellidoPaternoSolicitante = sol.ApellidoPaternoSolicitante,
                    ApellidoMaternoSolicitante = sol.ApellidoMaternoSolicitante,
                    TipoDocumento       = sol.TipoDocumento,
                    NumeroDocumento     = sol.NumeroDocumento,
                    Estado_Solicitud    = sol.Estado,
                    Direccion           = sol.Direccion,
                    Telefono            = sol.Telefono,
                    Celular             = sol.Celular,
                    Email               = sol.Email,
                    Modo_Envio          = sol.Modo_Envio,
                    Nombres_Responsable = sol.UsuarioTrabajador.Nombre + " " + sol.UsuarioTrabajador.ApePaterno + " " + sol.UsuarioTrabajador.ApeMaterno,
                    Tipo_Informacion    = sol.Tipo_Informacion,
                    Observaciones       = sol.Observaciones
                };

                return(consulta.FirstOrDefault());
            }
        }
        public int Agregar(SolicitudVob solicitud)
        {
            SolicitudInformacionMunicipal sol = new SolicitudInformacionMunicipal();

            DateTime fecha = new DateTime();

            fecha = DateTime.Today;

            using (var context = new UPC_MUNIEntities())
            {
                sol.FechaSolicitud             = DateTime.Now;
                sol.NombresSolicitante         = solicitud.NombresSolicitante;
                sol.ApellidoPaternoSolicitante = solicitud.ApellidoPaternoSolicitante;
                sol.ApellidoMaternoSolicitante = solicitud.ApellidoMaternoSolicitante;
                sol.TipoDocumento    = solicitud.TipoDocumento;
                sol.NumeroDocumento  = solicitud.NumeroDocumento;
                sol.Direccion        = solicitud.Direccion;
                sol.Telefono         = solicitud.Telefono;
                sol.Celular          = solicitud.Celular;
                sol.Email            = solicitud.Email;
                sol.Modo_Envio       = solicitud.Modo_Envio;
                sol.Tipo_Informacion = solicitud.Tipo_Informacion;
                sol.Observaciones    = solicitud.Observaciones;
                sol.Estado           = EstadosValor.SolicitudPendiente;
                context.SolicitudInformacionMunicipal.Add(sol);
                context.SaveChanges();

                return(Convert.ToInt32(sol.NumeroSolicitud));
            };
        }
        public int Modificar(ExpedienteVob expediente)
        {
            Expediente exp = new Expediente();

            DateTime fecha = new DateTime();

            fecha = DateTime.Today;

            using (var context = new UPC_MUNIEntities())
            {
                var expmodif = (from c in context.Expediente
                                where c.NumeroExpediente == expediente.NumeroExpediente
                                select c).First();



                expmodif.Tipo_Expediente = expediente.Tipo_Expediente;
                expmodif.Asunto          = expediente.Asunto;
                // exp.FechaExpediente = fecha;
                //exp.NumeroExpediente = expediente.NumeroExpediente;
                expmodif.Estado = 1;
                //  context.Expediente.Add(exp);
                context.SaveChanges();

                return(Convert.ToInt32(expediente.NumeroExpediente));
            };
        }
        public List <FormaPagoVob> listaFormaPago()
        {
            using (var context = new UPC_MUNIEntities())
            {
                var consulta = from soli in context.FormaPago
                               select new FormaPagoVob
                {
                    Codigo      = soli.Codigo,
                    Descripcion = soli.Descripcion
                };

                return(consulta.ToList());
            }
        }
        public List <ElementoVob> ListarTablas(string idgrupo)
        {
            using (var context = new UPC_MUNIEntities())
            {
                var consulta = from exp in context.Multitabla
                               where exp.IdGrupo == idgrupo
                               select new ElementoVob
                {
                    Valor = exp.IdMultitabla,
                    Texto = exp.NombreValor
                };

                return(consulta.ToList());
            }
        }
        public List <TipoCambioVob> BuscarTipoCambio()
        {
            using (var context = new UPC_MUNIEntities())
            {
                var consulta = from tc in context.TipoCambio
                               orderby tc.Fecha descending
                               select new TipoCambioVob
                {
                    Codigo     = tc.Codigo,
                    CodMoneda  = tc.CodMoneda,
                    DescMoneda = tc.Multitabla.NombreValor,
                    Fecha      = tc.Fecha,
                    Monto      = tc.Monto
                };

                return(consulta.ToList());
            }
        }
        public List <SolicitudVob> BuscarSolicitudes()
        {
            using (var context = new UPC_MUNIEntities())
            {
                var consulta = from sol in context.SolicitudInformacionMunicipal
                               select new SolicitudVob
                {
                    NumeroSolicitud  = sol.NumeroSolicitud,
                    Codigo_Solicitud = sol.NumeroSolicitud,
                    FechaSolicitud   = sol.FechaSolicitud,
                    Nombres_Completos_Solicitante = sol.NombresSolicitante + " " + sol.ApellidoPaternoSolicitante + " " + sol.ApellidoMaternoSolicitante,
                    Nombre_Tipo_Documento         = sol.Multitabla.NombreValor,
                    NumeroDocumento = sol.NumeroDocumento,
                    Nombre_Estado   = sol.Multitabla1.NombreValor
                };

                return(consulta.ToList());
            }
        }
        public List <ReciboProvisionalVob> BuscarRecibosProvisionales()
        {
            using (var context = new UPC_MUNIEntities())
            {
                var consulta = from objRecibo in context.ReciboProvisional
                               select new ReciboProvisionalVob
                {
                    NumeroRecibo = objRecibo.NumeroRecibo,
                    Monto        = objRecibo.Monto,
                    Concepto     = objRecibo.ConceptoRecibo.Descripcion,
                    FechaRecibo  = objRecibo.FechaCreacion,
                    Estado       = objRecibo.Multitabla.NombreValor,
                    Motivo       = objRecibo.Motivo,
                    CodEstado    = objRecibo.CodEstado,
                    CodEmpleado  = objRecibo.CodTrabajador
                };

                return(consulta.ToList());
            }
        }
        public int Agregar(ExpedienteVob expediente)
        {
            Expediente exp = new Expediente();

            DateTime fecha = new DateTime();

            fecha = DateTime.Today;

            using (var context = new UPC_MUNIEntities())
            {
                exp.FechaExpediente = DateTime.Now;
                exp.Asunto          = expediente.Asunto;
                exp.Tipo_Expediente = expediente.Tipo_Expediente;
                exp.Estado          = 1;
                context.Expediente.Add(exp);
                context.SaveChanges();

                return(Convert.ToInt32(exp.NumeroExpediente));
            };
        }
        public List <ExpedienteVob> BuscarExpedientes()
        {
            using (var context = new UPC_MUNIEntities())
            {
                var consulta = from exp in context.Expediente
                               select new ExpedienteVob
                {
                    NumeroExpediente    = exp.NumeroExpediente,
                    Codigo_Expediente   = exp.NumeroExpediente,
                    NumeroSolicitud     = exp.NumeroSolicitud,
                    FechaExpediente     = exp.FechaExpediente,
                    Nombres_Solicitante = exp.SolicitudInformacionMunicipal.NombresSolicitante + " " + exp.SolicitudInformacionMunicipal.ApellidoPaternoSolicitante + " " + exp.SolicitudInformacionMunicipal.ApellidoMaternoSolicitante,
                    Estado          = exp.Estado,
                    Tipo_Expediente = exp.Multitabla.NombreValor,
                    Asunto          = exp.Asunto
                };

                return(consulta.ToList());
            }
        }
        public ExpedienteVob BuscarExpedienteporId(long id)
        {
            using (var context = new UPC_MUNIEntities())
            {
                var consulta = from exp in context.Expediente
                               where exp.NumeroExpediente == id
                               select new ExpedienteVob
                {
                    NumeroExpediente    = exp.NumeroExpediente,
                    Codigo_Expediente   = exp.NumeroExpediente,
                    NumeroSolicitud     = exp.NumeroSolicitud,
                    FechaExpediente     = exp.FechaExpediente,
                    Nombres_Solicitante = exp.SolicitudInformacionMunicipal.NombresSolicitante + " " + exp.SolicitudInformacionMunicipal.ApellidoPaternoSolicitante + " " + exp.SolicitudInformacionMunicipal.ApellidoMaternoSolicitante,
                    Estado          = exp.Estado,
                    Tipo_Expediente = exp.Tipo_Expediente,
                    Asunto          = exp.Asunto
                };

                return(consulta.FirstOrDefault());
            }
        }
        public int ModificarEstadoSolicitud(SolicitudPagoServicioVob registro)
        {
            using (var context = new UPC_MUNIEntities())
            {
                // ACTUALIZAR SOLICITUD
                var solicitud = (from c in context.SolicitudPagoServicio
                                 where c.NumSolicitudPago == registro.NumSolicitudPago
                                 select c).First();


                solicitud.CodEstadoSolicitud = registro.CodEstadoSolicitud;

                //  context.Expediente.Add(exp);

                context.SolicitudPagoServicio.Attach(solicitud);
                context.Entry(solicitud).State = EntityState.Modified;
                context.SaveChanges();


                return(Convert.ToInt32(registro.NumSolicitudPago));
            };
        }
        public int Modificar(ReciboProvisionalVob reciboProvisional)
        {
            DateTime fecha = new DateTime();

            fecha = DateTime.Today;

            using (var context = new UPC_MUNIEntities())
            {
                var expmodif = (from c in context.ReciboProvisional
                                where c.NumeroRecibo == reciboProvisional.NumeroRecibo
                                select c).First();


                expmodif.CodEstado = reciboProvisional.CodEstado;
                expmodif.Motivo    = reciboProvisional.MotivoRechazo;

                //  context.Expediente.Add(exp);

                context.ReciboProvisional.Attach(expmodif);
                context.Entry(expmodif).State = EntityState.Modified;
                context.SaveChanges();


                if (reciboProvisional.CodEstado == "0006001")
                {
                    context.MovimientoCajaChica.Add(new MovimientoCajaChica
                    {
                        FechaCreacion       = DateTime.Now,
                        FechaActualizacion  = DateTime.Now,
                        MontoMovimiento     = expmodif.Monto,
                        CodTipoMovimiento   = "0007003",
                        CodOrigenMovimiento = "0008001"
                    });
                    context.SaveChanges();
                }

                return(Convert.ToInt32(reciboProvisional.NumeroRecibo));
            };
        }
        public int Agregar(PagoServicioVob pagoServicio)
        {
            PagoServicio pago = new PagoServicio();

            using (var context = new UPC_MUNIEntities())
            {
                pago.FechaPago        = pagoServicio.FechaPago;
                pago.NumSolicitudPago = pagoServicio.SolicitudPagoServicio.NumSolicitudPago;
                pago.CodFormaPago     = pagoServicio.CodFormaPago;
                pago.CodTipoCambio    = pagoServicio.CodTipoCambio;
                pago.CodMonedaPago    = pagoServicio.CodMonedaPago;
                pago.MontoPago        = pagoServicio.MontoPago;
                pago.CodEstadoPago    = pagoServicio.CodEstadoPago;

                context.PagoServicio.Add(pago);
                context.SaveChanges();



                // ACTUALIZAR SOLICITUD
                var solicitud = (from c in context.SolicitudPagoServicio
                                 where c.NumSolicitudPago == pagoServicio.SolicitudPagoServicio.NumSolicitudPago
                                 select c).First();


                solicitud.CodEstadoSolicitud = pagoServicio.SolicitudPagoServicio.CodEstadoSolicitud;

                //  context.Expediente.Add(exp);

                context.SolicitudPagoServicio.Attach(solicitud);
                context.Entry(solicitud).State = EntityState.Modified;
                context.SaveChanges();


                return(Convert.ToInt32(pago.NumeroPago));
            };
        }