示例#1
0
        public ActionResult Detalles(int id)
        {
            try
            {
                ViewBag.Escala  = new SelectList(_escala.ListarEscalas(), "IdEscala", "Descripcion");
                ViewBag.Salario = new SelectList(_salario.ListarSalario(), "IdSalario", "Descripcion");

                DetalleMeta metaMostrar = _repositorio.DetallarMeta(id);

                return(View(metaMostrar));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", "Ocurrió un error: " + ex.Message);
                return(View());
            }
        }
示例#2
0
        public DetalleMeta DetallarMeta(int id)
        {
            using (var dbc = new SPC_BD())
            {
                var resultado = (from metaDetallar in dbc.Meta
                                 join mCredito in dbc.MetaCredito on metaDetallar.IdMeta equals mCredito.Meta
                                 join mCDP in dbc.MetaCDP on metaDetallar.IdMeta equals mCDP.Meta
                                 where metaDetallar.IdMeta == id
                                 select new
                {
                    metaDetallar.Descripcion,
                    metaDetallar.Escala,
                    metaDetallar.Salario,
                    mCredito.MetaColocacion,
                    idp_cred = mCredito.ValorIDP,
                    mCDP.Metacdp,
                    idp_cdp = mCDP.ValorIDP,
                }).First();

                var resultadoProds = (from metaDetallar in dbc.Meta
                                      join mProductos in dbc.MetaTipoProducto on metaDetallar.IdMeta equals mProductos.Meta
                                      join mProdDetalle in dbc.MetaTipoProductoDetalle on mProductos.IdMetaTipoProducto equals mProdDetalle.MetaTipoProducto
                                      join tipoProductos in dbc.TipoProducto on mProdDetalle.TipoProducto equals tipoProductos.IdTipoProducto
                                      where metaDetallar.IdMeta == id
                                      orderby mProductos.IdMetaTipoProducto
                                      select new
                {
                    mProductos.IdMetaTipoProducto,
                    mProductos.MetaCantidad,
                    mProductos.ValorIDP,
                    tipoProductos.Descripcion
                }).ToList();

                DetalleMeta metaEnviar = new DetalleMeta()
                {
                    Descripcion       = resultado.Descripcion,
                    Escala            = resultado.Escala,
                    Salario           = resultado.Salario,
                    ColocacionCredito = resultado.MetaColocacion,
                    IDP_Credito       = resultado.idp_cred,
                    ColocacionCDP     = resultado.Metacdp,
                    IDP_CDP           = resultado.idp_cdp
                };

                List <DetalleMetaTipoProducto> ListaMetaSTP = new List <DetalleMetaTipoProducto>();

                int idAnterior = -1;
                foreach (var x in resultadoProds)
                {
                    if (x.IdMetaTipoProducto != idAnterior)
                    {
                        DetalleMetaTipoProducto mtp_detalle = new DetalleMetaTipoProducto()
                        {
                            Id_MTP         = x.IdMetaTipoProducto,
                            Cantidad       = x.MetaCantidad,
                            IDP_TProductos = x.ValorIDP,
                        };
                        mtp_detalle.ListaTipoProductos = new List <string>();
                        ListaMetaSTP.Add(mtp_detalle);
                    }
                    idAnterior = x.IdMetaTipoProducto;
                }

                foreach (var res in resultadoProds)
                {
                    var dmtp = ListaMetaSTP.Find(x => x.Id_MTP == res.IdMetaTipoProducto);
                    dmtp.ListaTipoProductos.Add(res.Descripcion);
                }

                metaEnviar.TipoProductos = ListaMetaSTP;
                return(metaEnviar);
            }
        }