示例#1
0
        private EventosDeContrato GeraEventoUpDwProduto(contratos So, int ContratoId, int produto)
        {
            EventosDeContrato _Evento = new EventosDeContrato();

            _Evento.Consultor       = So._propostas_produtos._propostas.consultor;
            _Evento.Prazo           = (int)So._propostas_produtos.prazo;
            _Evento.ValorAntigo     = So._propostas_produtos.valor_atual.ToString();
            _Evento.ValorNovo       = So._propostas_produtos.velocidade.ToString();
            _Evento.DataCriacao     = DateTime.Now;
            _Evento.DataContratacao = Convert.ToDateTime(So.dt_cc);
            _Evento.NumeroSO        = So.codigo.ToString();
            _Evento.ContratoId      = ContratoId;
            _Evento.UsuarioId       = 1;
            if (produto == 1)
            {
                _Evento.EventoDescricao = "Upgrade Produto: " + So._propostas_produtos.servico_atual;
            }
            if (produto == 2)
            {
                _Evento.EventoDescricao = "Downgrade Produto: " + So._propostas_produtos.servico_atual;
            }


            return(_Evento);
        }
示例#2
0
        public async Task <IActionResult> Edit(long?id, [Bind("Id,numerocontrato,nombreentidad,fechainicio,fechafin")] contratos contratos)
        {
            if (id != contratos.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(contratos);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!contratosExists(contratos.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(contratos));
        }
示例#3
0
        public void GravaEndereco(contratos so, int ClienteId, int ContratoId)
        {
            ClienteEndereco endereco = new ClienteEndereco();
            var             ende     = so._propostas_produtos._propostas_enderecos;
            Predio          Predio   = new Predio();

            if (ende.predio.Trim() != "PNA")
            {
                Predio = Mundbr.Predio.First(x => x.Nome == ende.predio);
            }
            else
            {
                Predio = Mundbr.Predio.First(x => x.PredioId == 1);
            }
            endereco.BairroId         = Mundbr.Bairros.First(x => x.Nome.ToUpper() == ende.bairro.ToUpper()).BairroId;
            endereco.ClienteId        = ClienteId;
            endereco.ContratoId       = ContratoId;
            endereco.Complemento      = ende.complemento;
            endereco.Logradouro       = ende.endereco;
            endereco.Cep              = ende.cep.ToString();
            endereco.TipoLogradouroId = 1;
            endereco.Numero           = ende.numero;
            endereco.PredioId         = Predio.PredioId;

            Mundbr.ClienteEndereco.Add(endereco);
        }
示例#4
0
        public ActionResult Eliminar(subempresas sub)
        {
            int?id2 = sub.Sub_Id;
            int id  = Convert.ToInt32(id2);
            //elminar sectores
            var sectores = db.Sectores.Where(s => s.Sub_Id == id);

            foreach (var item3 in sectores)
            {
                //elminar cuarteles

                var cuarteles = db.Cuarteles.Where(c => c.sect_id == item3.sect_id);

                foreach (var item in cuarteles)
                {
                    //elminar grupos
                    var grupos = db.GruposCuarteles.Where(gc => gc.cuar_id == item.cuar_id);


                    if (grupos != null)
                    {
                        foreach (var item2 in grupos)
                        {
                            GruposCuarteles gc = db.GruposCuarteles.Find(item2.gc_id);
                            db.GruposCuarteles.Remove(gc);
                        }
                    }

                    Cuarteles ca = db.Cuarteles.Find(item.cuar_id);
                    db.Cuarteles.Remove(ca);
                }
                Sectores se = db.Sectores.Find(item3.sect_id);
                db.Sectores.Remove(se);
            }
            db.SaveChanges();
            //elminar cargos
            var car = db.subempresa_cargo.Where(s => s.Sub_Id == id);

            foreach (var item4 in car)
            {
                subempresa_cargo sc = db.subempresa_cargo.Find(item4.Subempcar_id);
                db.subempresa_cargo.Remove(sc);
            }
            db.SaveChanges();
            //elminar personas
            var per = db.contratos.Where(s => s.Sub_Id == id);

            foreach (var item5 in per)
            {
                contratos con = db.contratos.Find(item5.Con_Id);
                db.contratos.Remove(con);
            }
            db.SaveChanges();

            subempresas sube = db.subempresas.Find(id);

            db.subempresas.Remove(sube);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#5
0
        public ActionResult DeleteConfirmed(int id)
        {
            contratos contratos = db.contratos.Find(id);

            db.contratos.Remove(contratos);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#6
0
        public async Task <IActionResult> Create([Bind("Id,numerocontrato,nombreentidad,fechainicio,fechafin")] contratos contratos)
        {
            if (ModelState.IsValid)
            {
                _context.Add(contratos);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(contratos));
        }
示例#7
0
        public ActionResult EliminarAll(contratos con)
        {
            int?id2 = con.Con_Id;
            int id  = Convert.ToInt32(id2);

            contratos contratos = db.contratos.Find(id);

            db.contratos.Remove(contratos);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#8
0
        public ActionResult Eliminar(contratos con, string subemp_id)
        {
            int?id2 = con.Con_Id;
            int id  = Convert.ToInt32(id2);

            var       contratos = db.contratos.Where(c => c.Con_Id == id);
            contratos contra    = db.contratos.Find(id);

            db.contratos.Remove(contra);
            db.SaveChanges();
            return(RedirectToAction("Index", new { subemp_id }));
        }
示例#9
0
        private void vc_registro_Click(object sender, EventArgs e)          // contratos clientes
        {
            //contclte fvc = new contclte();
            contratos fvc = new contratos();

            fvc.TopLevel = false;
            fvc.Parent   = this;
            pn_centro.Controls.Add(fvc);
            fvc.Location = new Point((pn_centro.Width - fvc.Width) / 2, (pn_centro.Height - fvc.Height) / 2);
            fvc.Anchor   = AnchorStyles.None;
            fvc.Show();
            fvc.BringToFront();
        }
示例#10
0
        // GET: contratos/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            contratos contratos = db.contratos.Find(id);

            if (contratos == null)
            {
                return(HttpNotFound());
            }
            return(View(contratos));
        }
示例#11
0
 public ActionResult Edit([Bind(Include = "Con_Id,Sub_Id,PC_Id,TCon_Id,Per_Rut,Con_FechaInicio,Con_FechaFin,Con_Estado")] contratos contratos)
 {
     if (ModelState.IsValid)
     {
         db.Entry(contratos).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Per_Rut = new SelectList(db.personas, "Per_Rut", "Per_Nom", contratos.Per_Rut);
     ViewBag.PC_Id   = new SelectList(db.planillascontratos, "PC_Id", "PC_Nom", contratos.PC_Id);
     ViewBag.Sub_Id  = new SelectList(db.subempresas, "Sub_Id", "Sub_Nom", contratos.Sub_Id);
     ViewBag.TCon_Id = new SelectList(db.tiposcontratos, "TCon_Id", "TCon_Nom", contratos.TCon_Id);
     return(View(contratos));
 }
示例#12
0
        private void  GravaInstalacao(contratos proposta, propostas_produtos_resumo resumo, string NumeroSo, int Contratoid)
        {
            ContratoNrc instalacao = new ContratoNrc();

            instalacao.DataCadastro = DateTime.Now;
            instalacao.ContratoId   = Contratoid;
            instalacao.ProdutoId    = 6;
            instalacao.UsuarioId    = 1;
            instalacao.Valor        = (decimal)proposta._propostas_produtos.instalacao;
            instalacao.NumeroSO     = NumeroSo;

            Mundbr.ContratoNrc.Add(instalacao);

            SalavaMapaVinculado(proposta, resumo, NumeroSo, instalacao.ContratoNrcId);
        }
示例#13
0
        private void GravaIP(contratos proposta, propostas_produtos_resumo resumo, string NumeroSo, int Contratoid)
        {
            ContratoNrc ip = new ContratoNrc();

            ip.DataCadastro = DateTime.Now;
            ip.ContratoId   = Contratoid;
            ip.ProdutoId    = 7;
            ip.UsuarioId    = 1;
            ip.Valor        = (decimal)resumo.dados_ips_mensal;
            ip.NumeroSO     = NumeroSo;
            #region PROP
            List <PropriedadeProduto> listaPropriedadeIP = new List <PropriedadeProduto>();
            var Produtos = Mundbr.Produto.First(x => x.ProdutoId == 7);
            if (Produtos.Propriedades != null)
            {
                string[] prot = Produtos.Propriedades.Split('|');
                foreach (var item in prot)
                {
                    try
                    {
                        int pp = Convert.ToInt32(item);
                        var PropriedadeProduto = Mundbr.PropriedadeProduto.First(x => x.PropriedadeProdutoId == pp);
                        if (PropriedadeProduto.PropriedadeNome.ToUpper() == "QUANTIDADEIP")
                        {
                            PropriedadeProduto.ValorDigitado = resumo.dados_ips.ToString();
                            PropriedadeProduto.NumeroSO      = NumeroSo;
                        }

                        listaPropriedadeIP.Add(PropriedadeProduto);
                    }
                    catch
                    {
                    }
                }
            }
            else
            {
                ip.PropriedadesContrato = "[]";
            }

            #endregion
            ip.PropriedadesContrato = Newtonsoft.Json.JsonConvert.SerializeObject(listaPropriedadeIP);
            Mundbr.ContratoNrc.Add(ip);

            SalavaMapaVinculado(proposta, resumo, NumeroSo, ip.ContratoNrcId);
        }
示例#14
0
        private string RetornaPropriedadeDeContrato(contratos proposta, propostas_produtos_resumo resumo, int produtoId, string NumeroSo)
        {
            try
            {
                List <PropriedadeProduto> listaPropriedade = new List <PropriedadeProduto>();
                var Produto = Mundbr.Produto.First(x => x.ProdutoId == produtoId);

                if (Produto.Propriedades != null)
                {
                    string[] prot = Produto.Propriedades.Split('|');
                    foreach (var item in prot)
                    {
                        try
                        {
                            int pp = Convert.ToInt32(item);
                            var PropriedadeProduto = Mundbr.PropriedadeProduto.First(x => x.PropriedadeProdutoId == pp);
                            PropriedadeProduto.ValorDigitado = "";
                            if (PropriedadeProduto.PropriedadeNome.ToUpper() == "VELOCIDADE")
                            {
                                PropriedadeProduto.ValorDigitado = proposta._propostas_produtos.velocidade == null || proposta._propostas_produtos.velocidade == 0 ? proposta._propostas_produtos._p_servicos.valor.ToString() : proposta._propostas_produtos.velocidade.ToString();
                                PropriedadeProduto.NumeroSO      = NumeroSo;
                            }
                            if (PropriedadeProduto.PropriedadeNome.ToUpper() == "UPLOAD")
                            {
                                PropriedadeProduto.ValorDigitado = proposta._propostas_produtos.upload.ToString();
                                PropriedadeProduto.NumeroSO      = NumeroSo;
                            }
                            if (PropriedadeProduto.PropriedadeNome.ToUpper() == "DOWNLOAD")
                            {
                                PropriedadeProduto.ValorDigitado = proposta._propostas_produtos.download.ToString();
                                PropriedadeProduto.NumeroSO      = NumeroSo;
                            }
                            listaPropriedade.Add(PropriedadeProduto);
                        }
                        catch
                        {
                        }
                    }
                }
                return(Newtonsoft.Json.JsonConvert.SerializeObject(listaPropriedade));
            }
            catch
            {
                return("[]");
            }
        }
示例#15
0
        // GET: contratos/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            contratos contratos = db.contratos.Find(id);

            if (contratos == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Per_Rut = new SelectList(db.personas, "Per_Rut", "Per_Nom", contratos.Per_Rut);
            ViewBag.PC_Id   = new SelectList(db.planillascontratos, "PC_Id", "PC_Nom", contratos.PC_Id);
            ViewBag.Sub_Id  = new SelectList(db.subempresas, "Sub_Id", "Sub_Nom", contratos.Sub_Id);
            ViewBag.TCon_Id = new SelectList(db.tiposcontratos, "TCon_Id", "TCon_Nom", contratos.TCon_Id);
            return(View(contratos));
        }
示例#16
0
        public ActionResult altaContrato(String cliente, String jardin, DateTime inp, String serv, int precio, String fp)
        {
            var date = DateTime.Now;

            contratos cont = new contratos();

            cont.Nombre    = cliente;
            cont.Jardin    = jardin;
            cont.FechaEv   = inp;
            cont.FechaEm   = date;
            cont.Servicios = serv;
            cont.Precio    = precio;
            cont.FormaPago = fp;

            db.contratos.Add(cont);
            db.SaveChanges();
            ViewBag.result = "Record Inserted Successfully!";

            return(RedirectToAction("ExportReport", "Contrato"));
        }
示例#17
0
        public void SalavaMapaVinculado(contratos proposta, propostas_produtos_resumo resumo, string NumeroSo, int Contratoid)
        {
            MapaFaturamento _Mapa = new MapaFaturamento();

            _Mapa.ContratoNrcId       = Contratoid;
            _Mapa.DataCriacao         = DateTime.Now;
            _Mapa.CodigoFiscal        = 0;
            _Mapa.Desconto            = 0;
            _Mapa.MesParcelas         = 1;
            _Mapa.MesValidade         = Convert.ToInt32(proposta._propostas_produtos.prazo);
            _Mapa.PlanoId             = 174;
            _Mapa.RenovacaoAutomatica = Convert.ToBoolean(resumo.renova_auto);
            try
            {
                _Mapa.Vencimento = Convert.ToInt32(dbb.c_vencimentos.First(x => x.id == proposta.vencimento).vencimento);
            }
            catch
            {
                _Mapa.Vencimento = 0;
            }
            Mundbr.MapaFaturamento.Add(_Mapa);
        }
示例#18
0
        public int RetornaCliente(contratos proposta)
        {
            string cnpj = proposta._propostas_produtos.cnpj_cpf.Replace(".", "").Replace("/", "").Replace("-", "");

            if (Mundbr.cliente.Count(x => x.CpfCnpj == cnpj) > 0)
            {
                var cliente = Mundbr.cliente.First(x => x.CpfCnpj == cnpj);
                cliente.InscEstadual  = proposta.iestadual;
                cliente.InscMunicipal = proposta.imunicipal;
                cliente.RazaoSocial   = proposta._propostas_produtos.cliente;
                cliente.Email         = proposta._propostas_produtos.email;
                cliente.Telefone      = proposta._propostas_produtos.telefone;
                Mundbr.cliente.Update(cliente);

                return(cliente.ClienteId);
            }
            else
            {
                Cliente cliente = new Cliente();
                cliente.InscEstadual    = proposta.iestadual;
                cliente.InscMunicipal   = proposta.imunicipal;
                cliente.RazaoSocial     = proposta._propostas_produtos.cliente;
                cliente.Email           = proposta._propostas_produtos.email;
                cliente.Telefone        = proposta._propostas_produtos.telefone;
                cliente.CpfCnpj         = cnpj;
                cliente.TipopessoaId    = cnpj.Length == 14 ? 1 : 2;
                cliente.TipoVipId       = 1;
                cliente.StatusClienteId = 1;
                Mundbr.cliente.Update(cliente);

                return(cliente.ClienteId);
            }


            return(0);
        }
示例#19
0
        public ActionResult AddPersonas(MultiplesClases multiples, personas personas, contratos contratos, int?subemp_id)
        {
            if (ModelState.IsValid)
            {
                multiples.ObjPersonas.Car_Id = personas.Car_Id;
                multiples.ObjPersonas.EC_Id  = personas.EC_Id;
                multiples.ObjPersonas.Nac_Id = personas.Nac_Id;
                multiples.ObjPersonas.Gen_Id = personas.Gen_Id;

                db.personas.Add(multiples.ObjPersonas);
                db.SaveChanges();


                contratos.Per_Rut = multiples.ObjPersonas.Per_Rut;

                contratos.Sub_Id          = Convert.ToInt32(subemp_id);
                contratos.Con_FechaInicio = DateTime.Now.ToShortDateString();


                db.contratos.Add(contratos);
                db.SaveChanges();

                return(RedirectToAction("Index", new { subemp_id }));
            }


            return(View(multiples));
        }
        public ActionResult Create([Bind(Include = "Per_Rut,Per_Nom,Per_ApePat,Per_ApeMat,Per_Dir,Per_Tel,Nac_Id,Gen_Id,EC_Id,Car_Id,Per_Suel,TImp_Id,Per_Des,Desc_Id,THor_Id")] personas personas, contratos contratos, int subemp_id)
        {
            if (ModelState.IsValid)
            {
                db.personas.Add(personas);
                db.SaveChanges();


                contratos.Per_Rut         = personas.Per_Rut;
                contratos.Sub_Id          = subemp_id;
                contratos.Con_FechaInicio = DateTime.Now.ToShortDateString();
                contratos.Con_Estado      = "Espera";

                db.contratos.Add(contratos);
                db.SaveChanges();

                return(RedirectToAction("Index", "Contratos", new { subemp_id }));
            }

            ViewBag.Car_Id  = new SelectList(db.cargos, "Car_Id", "Car_Nom", personas.Car_Id);
            ViewBag.EC_Id   = new SelectList(db.estadosciviles, "EC_Id", "EC_Nom", personas.EC_Id);
            ViewBag.Desc_Id = new SelectList(db.fichadescuentos, "Desc_Id", "Desc_Nom", personas.Desc_Id);
            ViewBag.Gen_Id  = new SelectList(db.generos, "Gen_Id", "Gen_Nom", personas.Gen_Id);
            ViewBag.Nac_Id  = new SelectList(db.nacionalidades, "Nac_Id", "Nac_Nom", personas.Nac_Id);
            ViewBag.THor_Id = new SelectList(db.tiposhorasextras, "THor_Id", "THor_Nom", personas.THor_Id);
            ViewBag.TImp_Id = new SelectList(db.tipoimpuestos, "TImp_Id", "TImp_nom", personas.TImp_Id);
            return(View(personas));
        }
示例#21
0
        private int  ConvertSOParaContrato(contratos so, propostas_produtos_resumo resumo)
        {
            IDbContextTransaction transaction = Mundbr.Database.BeginTransaction();

            try
            {
                #region CONTRATO

                Contrato _Contrato = new Contrato();

                _Contrato.DataCriacao         = DateTime.Now;
                _Contrato.ClienteId           = RetornaCliente(so);
                _Contrato.DataDaAssinatura    = resumo.data_ass_contrato;
                _Contrato.UsuarioId           = 1;
                _Contrato.DataDaContratacao   = resumo.data_ass_contrato;
                _Contrato.RenovacaoAutomatica = Convert.ToBoolean(resumo.renova_auto);
                _Contrato.Consultor           = so._propostas_produtos._propostas.consultor;
                _Contrato.Alias                = so._propostas_produtos.cliente;
                _Contrato.Ativo                = true;
                _Contrato.ProdutoId            = RetornaProduto(so, resumo);
                _Contrato.PropriedadesContrato = RetornaPropriedadeDeContrato(so, resumo, _Contrato.ProdutoId, so.codigo.ToString());
                _Contrato.Valor                = (decimal)so._propostas_produtos.mensalidade;
                _Contrato.ContratoStatusId     = 11;
                _Contrato.NumeroSO             = so.codigo.ToString();
                if (so._propostas_produtos.mensalidade_atual != null || so._propostas_produtos.mensalidade_atual > 0)
                {
                    _Contrato.Valor = (decimal)so._propostas_produtos.mensalidade_atual;
                }
                _Contrato.MesValidade = (int)so._propostas_produtos.prazo;

                Mundbr.Contrato.Add(_Contrato);
                SalavaMapa(so, resumo, so.codigo.ToString(), _Contrato.ContratoId);

                if (resumo.dados_ips > 0)
                {
                    GravaIP(so, resumo, so.codigo.ToString(), _Contrato.ContratoId);
                }
                if (so._propostas_produtos.instalacao > 0)
                {
                    GravaInstalacao(so, resumo, so.codigo.ToString(), _Contrato.ContratoId);
                }
                #endregion

                #region ENDEREÇO

                GravaEndereco(so, _Contrato.ClienteId, _Contrato.ContratoId);

                #endregion

                #region CONTATO

                GravaContatos(resumo, _Contrato.ContratoId, _Contrato.ClienteId, so._propostas_produtos.cliente);

                #endregion


                Mundbr.SaveChanges();
                transaction.Commit();

                return(_Contrato.ContratoId);
            }
            catch (Exception erro)
            {
                transaction.Rollback();
                return(0);
            }
        }
示例#22
0
        private int RetornaProduto(contratos proposta, propostas_produtos_resumo resumo)
        {
            string Prod = proposta._propostas_produtos._p_servicos._p_classes.classe.ToUpper();

            try
            {
                if (Prod.Contains("MUNDINET"))
                {
                    Prod = "MUNDINET";
                }

                if (Prod.Contains("COMBO RESIDENCIAL"))
                {
                    if (resumo.vozcb_tipo_serv == "P1")
                    {
                        Prod = "Combo P1";
                    }

                    if (resumo.vozcb_tipo_serv == "P2")
                    {
                        Prod = "Combo P2";
                    }
                }
                if (Prod.Contains("MUNDIRESIDENCIAL"))
                {
                    if (resumo.vozcb_tipo_serv == "")
                    {
                        Prod = "Mundi Residencial";
                    }
                    if (resumo.vozcb_tipo_serv == null)
                    {
                        Prod = "Mundi Residencial";
                    }
                    if (resumo.vozcb_tipo_serv == "P1")
                    {
                        Prod = "Combo P1";
                    }

                    if (resumo.vozcb_tipo_serv == "P2")
                    {
                        Prod = "Combo P2";
                    }
                }
                if (Prod.Contains("MA SECURE"))
                {
                    Prod = "MundiAccess Secure";
                }
                if (Prod.Contains("MUNDISECURITY"))
                {
                    if (proposta._propostas_produtos._p_servicos.servico.Contains("MSPLT"))
                    {
                        Prod = "MundiSecurity Platinum";
                    }
                    if (proposta._propostas_produtos._p_servicos.servico.Contains("MSLGTSTD"))
                    {
                        Prod = "MundiSecurity Light Standard";
                    }
                    if (proposta._propostas_produtos._p_servicos.servico.Contains("MSGLD"))
                    {
                        Prod = "MundiSecurity Gold";
                    }
                    if (proposta._propostas_produtos._p_servicos.servico.Contains("MSSTD"))
                    {
                        Prod = "MundiSecurity Standard";
                    }
                    if (proposta._propostas_produtos._p_servicos.servico.Contains("MSTSEC"))
                    {
                        Prod = "MundiSecurity TotalSec";
                    }
                }


                int idproduto = Mundbr.Produto.First(x => x.Nome.ToUpper() == Prod).ProdutoId;
                return(idproduto);
            }
            catch
            {
                return(0);
            }
        }
示例#23
0
//**********************************************Consulta Servicios 1******************************************************************************************************
        private String servicios()
        {
            //consulta jardin;
            List <jardin>    jard = db.jardin.SqlQuery("SELECT * FROM jardin").ToList();
            List <contratos> c    = db.contratos.SqlQuery("SELECT * FROM contratos ORDER by Id_Contrato DESC LIMIT 1").ToList();

            var innerJoinQuery =
                from jardin in jard
                join contratos in c on jardin.NomJar equals contratos.Jardin
                select new { contratos = contratos.Jardin, jardin = jardin.Direccion };

            var result = "";

            foreach (var item in innerJoinQuery)
            {
                result = item.contratos + ", " + item.jardin;
            }


            //Consulta Servicios
            contratos cont = new contratos();

            cont = db.contratos.SqlQuery("SELECT * FROM contratos ORDER by Id_Contrato DESC LIMIT 1").FirstOrDefault();

            List <servicios> serv = db.servicios.SqlQuery("SELECT * FROM servicios").ToList();

            var var1 = cont.Servicios;


            String[] var2 = var1.Split(',');



            int i = 0;

            var val1   = "";
            var val2   = "";
            var val3   = "";
            var val4   = "";
            var val5   = "";
            var val6   = "";
            var val7   = "";
            var val8   = "";
            var val9   = "";
            var val10  = "";
            var val11  = "";
            var val12  = "";
            var val13  = "";
            var val14  = "";
            var val15  = "";
            var val16  = "";
            var val17  = "";
            var val18  = "";
            var val19  = "";
            var val20  = "";
            var cont1  = "";
            var cont2  = "";
            var cont3  = "";
            var cont4  = "";
            var cont5  = "";
            var cont6  = "";
            var cont7  = "";
            var cont8  = "";
            var cont9  = "";
            var cont10 = "";
            var cont11 = "";
            var cont12 = "";
            var cont13 = "";
            var cont14 = "";
            var cont15 = "";
            var cont16 = "";
            var cont17 = "";
            var cont18 = "";
            var cont19 = "";
            var cont20 = "";
            //serv
            var serv1  = "";
            var serv2  = "";
            var serv3  = "";
            var serv4  = "";
            var serv5  = "";
            var serv6  = "";
            var serv7  = "";
            var serv8  = "";
            var serv9  = "";
            var serv10 = "";
            var serv11 = "";
            var serv12 = "";
            var serv13 = "";
            var serv14 = "";
            var serv15 = "";
            var serv16 = "";
            var serv17 = "";
            var serv18 = "";
            var serv19 = "";
            var serv20 = "";

            for (i = 0; i < var2.Length; i++)
            {
                var prba = from servicios in serv
                           join contratos in var2[i] on servicios.Servicio equals var2[i]
                           select new { contratos = var2[i], servicios = servicios.Propiedades };



                foreach (var item in prba)
                {
                    if (i == 0)
                    {
                        cont1 = item.contratos;
                        val1  = item.servicios;
                        serv1 = "***" + " " + "Servicio de" + " " + cont1 + ", en" + " " + result + ". " + "\n" + "\n" + "Incluye el siguiente servicio: " + "\n" + val1;
                    }
                    else if (i == 1)
                    {
                        cont2 = item.contratos;
                        val2  = item.servicios;
                        serv2 = "***" + " " + "Servicio de" + " " + cont2 + ", en" + " " + result + ". " + "\n" + "\n" + "Incluye el siguiente servicio: " + "\n" + val2;
                    }
                    else if (i == 2)
                    {
                        cont3 = item.contratos;
                        val3  = item.servicios;
                        serv3 = "***" + " " + "Servicio de" + " " + cont3 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val3;
                    }
                    else if (i == 3)
                    {
                        cont4 = item.contratos;
                        val4  = item.servicios;
                        serv4 = "***" + " " + "Servicio de" + " " + cont4 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val4;
                    }
                    else if (i == 4)
                    {
                        cont5 = item.contratos;
                        val5  = item.servicios;
                        serv5 = "***" + " " + "Servicio de" + " " + cont5 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val5;
                    }
                    else if (i == 5)
                    {
                        cont6 = item.contratos;
                        val6  = item.servicios;
                        serv6 = "***" + " " + "Servicio de" + " " + cont6 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val6;
                    }
                    else if (i == 6)
                    {
                        cont7 = item.contratos;
                        val7  = item.servicios;
                        serv7 = "***" + " " + "Servicio de" + " " + cont7 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val7;
                    }
                    else if (i == 7)
                    {
                        cont8 = item.contratos;
                        val8  = item.servicios;
                        serv8 = "***" + " " + "Servicio de" + " " + cont8 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val8;
                    }
                    else if (i == 8)
                    {
                        cont9 = item.contratos;
                        val9  = item.servicios;
                        serv9 = "***" + " " + "Servicio de" + " " + cont9 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val9;
                    }
                    else if (i == 9)
                    {
                        cont10 = item.contratos;
                        val10  = item.servicios;
                        serv10 = "***" + " " + "Servicio de" + " " + cont10 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val10;
                    }
                    else if (i == 10)
                    {
                        cont11 = item.contratos;
                        val11  = item.servicios;
                        serv11 = "***" + " " + "Servicio de" + " " + cont11 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val11;
                    }
                    else if (i == 11)
                    {
                        cont12 = item.contratos;
                        val12  = item.servicios;
                        serv12 = "***" + " " + "Servicio de" + " " + cont12 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val12;
                    }
                    else if (i == 12)
                    {
                        cont13 = item.contratos;
                        val13  = item.servicios;
                        serv13 = "***" + " " + "Servicio de" + " " + cont13 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val13;
                    }
                    else if (i == 13)
                    {
                        cont14 = item.contratos;
                        val14  = item.servicios;
                        serv14 = "***" + " " + "Servicio de" + " " + cont14 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val14;
                    }
                    else if (i == 14)
                    {
                        cont15 = item.contratos;
                        val15  = item.servicios;
                        serv15 = "***" + " " + "Servicio de" + " " + cont15 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val15;
                    }
                    else if (i == 15)
                    {
                        cont16 = item.contratos;
                        val16  = item.servicios;
                        serv16 = "***" + " " + "Servicio de" + " " + cont16 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val16;
                    }
                    else if (i == 16)
                    {
                        cont17 = item.contratos;
                        val17  = item.servicios;
                        serv17 = "***" + " " + "Servicio de" + " " + cont17 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val17;
                    }
                    else if (i == 17)
                    {
                        cont18 = item.contratos;
                        val18  = item.servicios;
                        serv18 = "***" + " " + "Servicio de" + " " + cont18 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val18;
                    }
                    else if (i == 18)
                    {
                        cont19 = item.contratos;
                        val19  = item.servicios;
                        serv19 = "***" + " " + "Servicio de" + " " + cont19 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val19;
                    }
                    else if (i == 19)
                    {
                        cont20 = item.contratos;
                        val20  = item.servicios;
                        serv20 = "***" + " " + "Servicio de" + " " + cont20 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val20;
                    }
                }
            }

            /*var result2 = val1 + "\n" + "\n" + val2 + "\n" + "\n" + val3 + "\n" + "\n" + val4 + "\n" + "\n" + val5 + "\n" + "\n" + val6 + "\n" + "\n" +
             *            val7 + "\n" + "\n" + val8 + "\n" + "\n" + val9 + "\n" + "\n" + val10 + "\n" + "\n" + val11 + "\n" + "\n" + val12 + "\n" + "\n" +
             *            val13 + "\n" + "\n" + val14 + "\n" + "\n" + val15 + "\n" + "\n" + val16 + "\n" + "\n" + val17 + "\n" + "\n" + val18 + "\n" + "\n" +
             *            val19 + "\n" + "\n" + val20;*/

            var servic = serv1.ToUpper() + "\n" + "\n" + serv2.ToUpper() + "\n" + "\n" + serv3.ToUpper() + "\n" + "\n" + serv4.ToUpper() + "\n" + "\n" + serv5.ToUpper() + "\n" + "\n" + serv6.ToUpper() + "\n" + "\n" +
                         serv7.ToUpper() + "\n" + "\n" + serv8.ToUpper() + "\n" + "\n" + serv9.ToUpper() + "\n" + "\n" + serv10.ToUpper() + "\n" + "\n" + serv11.ToUpper() + "\n" + "\n" + serv12.ToUpper() + "\n" + "\n" +
                         serv13.ToUpper() + "\n" + "\n" + serv14.ToUpper() + "\n" + "\n" + serv15.ToUpper() + "\n" + "\n" + serv16.ToUpper() + "\n" + "\n" + serv17.ToUpper() + "\n" + "\n" + serv18.ToUpper() + "\n" + "\n" +
                         serv19.ToUpper() + "\n" + "\n" + serv20.ToUpper();



            /*
             * var prba = from servicios in serv
             *      join contratos in var2[i] on servicios.Servicio equals var2[i]
             *      select new { servicios = servicios.Propiedades };
             * foreach (var item12 in prba)
             * {
             *
             *   result2 = item12.servicios;
             *
             * }
             * i++;*/



            return(servic);
        }
示例#24
0
        //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++   REIMPRIMIR   REPORTE   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        public ActionResult ReimprimirReport(int id)
        {
            contratos cont = new contratos();

            cont = db.contratos.SqlQuery("SELECT * FROM contratos WHERE Id_Contrato=" + id).FirstOrDefault();


            //****************************************************************************************************************************************************
            //consulta jardin;
            List <jardin>    jard = db.jardin.SqlQuery("SELECT * FROM jardin").ToList();
            List <contratos> c    = db.contratos.SqlQuery("SELECT * FROM contratos where Id_Contrato=" + id).ToList();

            var innerJoinQuery =
                from jardin in jard
                join contratos in c on jardin.NomJar equals contratos.Jardin
                select new { contratos = contratos.Jardin, jardin = jardin.Direccion };

            var result = "";

            foreach (var item in innerJoinQuery)
            {
                result = item.contratos + ", " + item.jardin;
            }


            //Consulta Servicios


            List <servicios> serv = db.servicios.SqlQuery("SELECT * FROM servicios").ToList();

            var var1 = cont.Servicios;


            String[] var2 = var1.Split(',');



            int i = 0;

            var val1   = "";
            var val2   = "";
            var val3   = "";
            var val4   = "";
            var val5   = "";
            var val6   = "";
            var val7   = "";
            var val8   = "";
            var val9   = "";
            var val10  = "";
            var val11  = "";
            var val12  = "";
            var val13  = "";
            var val14  = "";
            var val15  = "";
            var val16  = "";
            var val17  = "";
            var val18  = "";
            var val19  = "";
            var val20  = "";
            var cont1  = "";
            var cont2  = "";
            var cont3  = "";
            var cont4  = "";
            var cont5  = "";
            var cont6  = "";
            var cont7  = "";
            var cont8  = "";
            var cont9  = "";
            var cont10 = "";
            var cont11 = "";
            var cont12 = "";
            var cont13 = "";
            var cont14 = "";
            var cont15 = "";
            var cont16 = "";
            var cont17 = "";
            var cont18 = "";
            var cont19 = "";
            var cont20 = "";
            //serv
            var serv1  = "";
            var serv2  = "";
            var serv3  = "";
            var serv4  = "";
            var serv5  = "";
            var serv6  = "";
            var serv7  = "";
            var serv8  = "";
            var serv9  = "";
            var serv10 = "";
            var serv11 = "";
            var serv12 = "";
            var serv13 = "";
            var serv14 = "";
            var serv15 = "";
            var serv16 = "";
            var serv17 = "";
            var serv18 = "";
            var serv19 = "";
            var serv20 = "";

            for (i = 0; i < var2.Length; i++)
            {
                var prba = from servicios in serv
                           join contratos in var2[i] on servicios.Servicio equals var2[i]
                           select new { contratos = var2[i], servicios = servicios.Propiedades };



                foreach (var item in prba)
                {
                    if (i == 0)
                    {
                        cont1 = item.contratos;
                        val1  = item.servicios;
                        serv1 = "***" + " " + "Servicio de" + " " + cont1 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val1;
                    }
                    else if (i == 1)
                    {
                        cont2 = item.contratos;
                        val2  = item.servicios;
                        serv2 = "***" + " " + "Servicio de" + " " + cont2 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val2;
                    }
                    else if (i == 2)
                    {
                        cont3 = item.contratos;
                        val3  = item.servicios;
                        serv3 = "***" + " " + "Servicio de" + " " + cont3 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val3;
                    }
                    else if (i == 3)
                    {
                        cont4 = item.contratos;
                        val4  = item.servicios;
                        serv4 = "***" + " " + "Servicio de" + " " + cont4 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val4;
                    }
                    else if (i == 4)
                    {
                        cont5 = item.contratos;
                        val5  = item.servicios;
                        serv5 = "***" + " " + "Servicio de" + " " + cont5 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val5;
                    }
                    else if (i == 5)
                    {
                        cont6 = item.contratos;
                        val6  = item.servicios;
                        serv6 = "***" + " " + "Servicio de" + " " + cont6 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val6;
                    }
                    else if (i == 6)
                    {
                        cont7 = item.contratos;
                        val7  = item.servicios;
                        serv7 = "***" + " " + "Servicio de" + " " + cont7 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val7;
                    }
                    else if (i == 7)
                    {
                        cont8 = item.contratos;
                        val8  = item.servicios;
                        serv8 = "***" + " " + "Servicio de" + " " + cont8 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val8;
                    }
                    else if (i == 8)
                    {
                        cont9 = item.contratos;
                        val9  = item.servicios;
                        serv9 = "***" + " " + "Servicio de" + " " + cont9 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val9;
                    }
                    else if (i == 9)
                    {
                        cont10 = item.contratos;
                        val10  = item.servicios;
                        serv10 = "***" + " " + "Servicio de" + " " + cont10 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val10;
                    }
                    else if (i == 10)
                    {
                        cont11 = item.contratos;
                        val11  = item.servicios;
                        serv11 = "***" + " " + "Servicio de" + " " + cont11 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val11;
                    }
                    else if (i == 11)
                    {
                        cont12 = item.contratos;
                        val12  = item.servicios;
                        serv12 = "***" + " " + "Servicio de" + " " + cont12 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val12;
                    }
                    else if (i == 12)
                    {
                        cont13 = item.contratos;
                        val13  = item.servicios;
                        serv13 = "***" + " " + "Servicio de" + " " + cont13 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val13;
                    }
                    else if (i == 13)
                    {
                        cont14 = item.contratos;
                        val14  = item.servicios;
                        serv14 = "***" + " " + "Servicio de" + " " + cont14 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val14;
                    }
                    else if (i == 14)
                    {
                        cont15 = item.contratos;
                        val15  = item.servicios;
                        serv15 = "***" + " " + "Servicio de" + " " + cont15 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val15;
                    }
                    else if (i == 15)
                    {
                        cont16 = item.contratos;
                        val16  = item.servicios;
                        serv16 = "***" + " " + "Servicio de" + " " + cont16 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val16;
                    }
                    else if (i == 16)
                    {
                        cont17 = item.contratos;
                        val17  = item.servicios;
                        serv17 = "***" + " " + "Servicio de" + " " + cont17 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val17;
                    }
                    else if (i == 17)
                    {
                        cont18 = item.contratos;
                        val18  = item.servicios;
                        serv18 = "***" + " " + "Servicio de" + " " + cont18 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val18;
                    }
                    else if (i == 18)
                    {
                        cont19 = item.contratos;
                        val19  = item.servicios;
                        serv19 = "***" + " " + "Servicio de" + " " + cont19 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val19;
                    }
                    else if (i == 19)
                    {
                        cont20 = item.contratos;
                        val20  = item.servicios;
                        serv20 = "***" + " " + "Servicio de" + " " + cont20 + ", en" + " " + result + ". " + "\n" + "Incluye el siguiente servicio: " + "\n" + val20;
                    }
                }
            }

            /*var result2 = val1 + "\n" + "\n" + val2 + "\n" + "\n" + val3 + "\n" + "\n" + val4 + "\n" + "\n" + val5 + "\n" + "\n" + val6 + "\n" + "\n" +
             *            val7 + "\n" + "\n" + val8 + "\n" + "\n" + val9 + "\n" + "\n" + val10 + "\n" + "\n" + val11 + "\n" + "\n" + val12 + "\n" + "\n" +
             *            val13 + "\n" + "\n" + val14 + "\n" + "\n" + val15 + "\n" + "\n" + val16 + "\n" + "\n" + val17 + "\n" + "\n" + val18 + "\n" + "\n" +
             *            val19 + "\n" + "\n" + val20;*/

            var servic = serv1.ToUpper() + "\n" + "\n" + serv2.ToUpper() + "\n" + "\n" + serv3.ToUpper() + "\n" + "\n" + serv4.ToUpper() + "\n" + "\n" + serv5.ToUpper() + "\n" + "\n" + serv6.ToUpper() + "\n" + "\n" +
                         serv7.ToUpper() + "\n" + "\n" + serv8.ToUpper() + "\n" + "\n" + serv9.ToUpper() + "\n" + "\n" + serv10.ToUpper() + "\n" + "\n" + serv11.ToUpper() + "\n" + "\n" + serv12.ToUpper() + "\n" + "\n" +
                         serv13.ToUpper() + "\n" + "\n" + serv14.ToUpper() + "\n" + "\n" + serv15.ToUpper() + "\n" + "\n" + serv16.ToUpper() + "\n" + "\n" + serv17.ToUpper() + "\n" + "\n" + serv18.ToUpper() + "\n" + "\n" +
                         serv19.ToUpper() + "\n" + "\n" + serv20.ToUpper();

            //********************************************************************************************************************************************************************

            DataTable dt = new DataTable("Contratos");

            dt.Columns.Add("IdContrato");
            dt.Columns.Add("NombreCliente");
            dt.Columns.Add("NombreJardin");
            dt.Columns.Add("Fecha");
            dt.Columns.Add("Servicios");
            dt.Columns.Add("Precio");
            dt.Columns.Add("FormaPago");
            dt.Columns.Add("Detalles");
            dt.Columns.Add("Encabezado");
            ReportDocument rd = new ReportDocument();

            rd.Load(Server.MapPath("~/Report/CrystalReport1.rpt"));

            servicios servv   = new servicios();
            var       varServ = cont.Servicios;
            var       prec    = enletras(cont.Precio);

            var Detalles = "";
            //CARGA DE TEXTO AL REPORTE

            /* var reFinal = "Servicio de"+" "+varServ + ", en"+" "+ result +". " ;
             * var Detalles = "Incluye el siguiente servicio: " + "\n" + res;
             * var ejemplo= "Servicio de" + " " + varServ + ", en" + " " + result + ". "+"\n"+"\n"+ "Incluye el siguiente servicio: " + "\n" + res;*/
            //DATOS AL DATASET EN LA PARTE DEL ENCABEZADO

            var Enc = "Contrato de Prestación de Servicios Profesionales de escenario para " + " " + varServ + ", que celebran, por una parte MARÍA TIMARÁN LÓPEZ representante de Remember Box en lo sucesivo el Profesional, y por la otra " + " "
                      + cont.Nombre + " " + "en lo sucesivo el Cliente, Instrumento que se celebra de conformidad con las siguientes Declaraciones y Cláusulas:";


            var Foot = "Por la prestación de los servicios de renta" + " " + cont.Servicios + " " + " el Cliente pagará a el Profesional la cantidad de " + "$" + cont.Precio + " " + "(" +
                       prec + " " + "PESOS 00/100 MN)" + " " + cont.FormaPago + ".";
            // serv = db.servicios.SqlQuery("SELECT * FROM servicios").FirstOrDefault();
            var fech  = cont.FechaEv;
            var day   = String.Format("{0:dd}", fech);
            var month = String.Format("{0:MMMM}", fech);
            var year  = String.Format("{0:yyyy}", fech);

            var footFecha = "El presente contrato entrará en vigor el día de su firma, y concluirá el día " + " " + day + " " + "de" + " " + month + " " + "del" + " " + year + " " + " al concluir su evento.";
            //TERMINA CARGA DE TEXTO AL REPORTE



            /*for (int i = 0; i <= var2.Length-1; i++)
             * {
             *  serv = db.servicios.SqlQuery("SELECT Propiedades FROM servicios where Servicio=" + var2[0].ToString()).FirstOrDefault();
             *
             * }*/

            //dt.Rows.Add(cont.Id_Contrato, cont.Nombre, cont.Jardin, cont.Fecha, cont.Servicios, cont.Precio, cont.FormaPago, servv.Propiedades);
            //dt.Rows.Add(cont.Id_Contrato, cont.Nombre, result, footFecha, servic, cont.Precio, Foot, Detalles, Enc);



            //dt.Rows.Add(cont.Nombre, cont.Jardin,cont.Fecha,cont.Servicios,cont.Precio,cont.FormaPago);
            DataSet ds = new DataSet();

            ds.Tables.Add(dt);

            rd.SetDataSource(ds);

            Response.Buffer = false;
            Response.ClearContent();
            Response.ClearHeaders();
            try
            {
                Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
                stream.Seek(0, SeekOrigin.Begin);
                return(File(stream, "application/pdf", "Contrato.pdf"));
            }
            catch (Exception ex)
            {
                throw;
            }

/*String rutaGuardado = Server.MapPath("~/Contrato.pdf");
 * rd.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, rutaGuardado);
 *
 * //mostrar
 * ProcessStartInfo loPSI = new ProcessStartInfo();
 * Process loProceso = new Process();
 * loPSI.FileName = "";
 * try
 * {
 * loProceso = Process.Start(rutaGuardado);
 * }
 * catch (Exception x)
 * {
 * //MessageBox.Show(Exp.Message, "XXXX", MessageBoxButtons.OK, MessageBoxIcon.Information);
 * }
 * return RedirectToAction("Indice", "Home");*/
        }
示例#25
0
//+++++++++++++++++++++++++++++++++++++++++++++  EXPORTAR REPORTE  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        public ActionResult ExportReport()
        {
            contratos cont = new contratos();

            cont = db.contratos.SqlQuery("SELECT * FROM contratos ORDER by Id_Contrato DESC LIMIT 1").FirstOrDefault();


            //consulta jardin;
            List <jardin>    jard = db.jardin.SqlQuery("SELECT * FROM jardin").ToList();
            List <contratos> c    = db.contratos.SqlQuery("SELECT * FROM contratos ORDER by Id_Contrato DESC LIMIT 1").ToList();

            var innerJoinQuery =
                from jardin in jard
                join contratos in c on jardin.NomJar equals contratos.Jardin
                select new { contratos = contratos.Jardin, jardin = jardin.Direccion };

            var result = "";

            foreach (var item in innerJoinQuery)
            {
                result = item.contratos + ", " + item.jardin;
            }

            var varServ = cont.Servicios;

            var res  = servicios();
            var prec = enletras(cont.Precio);

            var Detalles = "";
            //CARGA DE TEXTO AL REPORTE

            /* var reFinal = "Servicio de"+" "+varServ + ", en"+" "+ result +". " ;
             * var Detalles = "Incluye el siguiente servicio: " + "\n" + res;
             * var ejemplo= "Servicio de" + " " + varServ + ", en" + " " + result + ". "+"\n"+"\n"+ "Incluye el siguiente servicio: " + "\n" + res;*/
            //DATOS AL DATASET EN LA PARTE DEL ENCABEZADO
            TextInfo ti  = CultureInfo.CurrentCulture.TextInfo;
            var      Enc = "Contrato de Prestación de Servicios Profesionales de escenario para " + " " + varServ + ", que celebran, por una parte MARÍA TIMARÁN LÓPEZ representante de Remember Box en lo sucesivo el Profesional, y por la otra " + " "
                           + cont.Nombre + " " + "en lo sucesivo el Cliente, Instrumento que se celebra de conformidad con las siguientes Declaraciones y Cláusulas:";
            var fech  = cont.FechaEv;
            var day   = String.Format("{0:dd}", fech);
            var month = String.Format("{0:MMMM}", fech);
            var year  = String.Format("{0:yyyy}", fech);

            var Foot = "Por la prestación de los servicios de renta" + " " + cont.Servicios + " " + " el Cliente pagará a el Profesional la cantidad de " + "$" + cont.Precio + " " + "(" +
                       prec + " " + "PESOS 00/100 MN)" + " " + cont.FormaPago + ".";
            // serv = db.servicios.SqlQuery("SELECT * FROM servicios").FirstOrDefault();

            var footFecha = "El presente contrato entrará en vigor el día de su firma, y concluirá el día " + "" + day + " " + "de" + " " + month + " " + "del" + " " + year + " " + " al concluir su evento.";
            //TERMINA CARGA DE TEXTO AL REPORTE

            /*for (int i = 0; i < var2.Length-1; i++)
             * {
             *
             *  // var rsd = var2[i];
             *
             *   var prba = from servicios in serv
             *            join contratos in var2[i] on servicios.Servicio equals var2[i]
             *              select new { contratos = var2[i], servicios = servicios.Propiedades };
             *
             *  foreach (var item12 in prba)
             *  {
             *       result2 = item12.servicios + ", " +item12.contratos;
             *
             *  }
             *
             * }*/


            //dataset
            DataTable dt = new DataTable("Contratos");

            dt.Columns.Add("IdContrato");
            dt.Columns.Add("NombreCliente");
            dt.Columns.Add("NombreJardin");
            dt.Columns.Add("Fecha");
            dt.Columns.Add("Servicios");
            dt.Columns.Add("Precio");
            dt.Columns.Add("FormaPago");
            dt.Columns.Add("Detalles");
            dt.Columns.Add("Encabezado");
            ReportDocument rd = new ReportDocument();

            rd.Load(Path.Combine(Server.MapPath("~/Report"), "CrystalReport1.rpt"));



            dt.Rows.Add(cont.Id_Contrato, cont.Nombre, result, footFecha, res, prec, Foot, Detalles, Enc);

            DataSet ds = new DataSet();

            ds.Tables.Add(dt);

            rd.SetDataSource(ds);

            Response.Buffer = false;
            Response.ClearContent();
            Response.ClearHeaders();

            String rutaGuardado = Server.MapPath("~/Contrato.pdf");

            rd.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, rutaGuardado);

            //mostrar
            ProcessStartInfo loPSI     = new ProcessStartInfo();
            Process          loProceso = new Process();

            loPSI.FileName = "";
            try
            {
                loProceso = Process.Start(rutaGuardado);
            }
            catch (Exception x)
            {
                //MessageBox.Show(Exp.Message, "XXXX", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            return(RedirectToAction("Indice", "Home"));
        }