public ActionResult DeleteConfirmed(int id)
        {
            DatosSolicitudPagina datosSolicitud = db.DatosSolicitudPaginas.Find(id);

            db.DatosSolicitudPaginas.Remove(datosSolicitud);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "DatosSolicitudID,DatosSolicitudNombre,PaginaID,PaginaNombre")] DatosSolicitudPagina datosSolicitud)
 {
     if (ModelState.IsValid)
     {
         db.Entry(datosSolicitud).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(datosSolicitud));
 }
        // GET: DatosSolicitudPaginas/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DatosSolicitudPagina datosSolicitud = db.DatosSolicitudPaginas.Find(id);

            if (datosSolicitud == null)
            {
                return(HttpNotFound());
            }
            return(View(datosSolicitud));
        }
        public ActionResult Create([Bind(Include = "DatosSolicitudID,DatosSolicitudNombre,PaginaID,PaginaNombre")] DatosSolicitudPagina datosSolicitud)
        {
            if (ModelState.IsValid)
            {
                //******************************************************************************************************************************************
                //ESTOS 2 PATRONES ME PERMITEN CREAR OBJETOS COMPLEJOS PARA LABURARLOS EN TIEMPO DE EJECUCION Y PEGAR SOBRE LA BD
                //patron template o strategy para crear una VENTA
                //******************************************************************************************************************************************

                //------------------------------------------------------------------------------------------------------------------------------------------
                //--CREACIÓN DEL OBJETO COMPLEJO "SOLICITUD" PASO 1--
                //Patrón Builder: CREA la PARTE1 del objeto complejo y este objeto queda disponible para crear sus siguientes partes
                //------------------------------------------------------------------------------------------------------------------------------------------

                //Es el objeto complejo que estoy creando que me sirve de auxiliar para ir creando la VENTA paso a paso
                DocumentoBuilder solicitudBuilder;

                //Es la clase que usando el objeto complejo concreto, ejecuta el método con los pasos creación
                DirectorDocumento directorSolicitud = new DirectorDocumento();

                // Construyo el documento complejo que necesite (SOLICITUD con sus paginas u ORDEN con sus paginas) vacío
                solicitudBuilder = new SolicitudBuilder(datosSolicitud);
                directorSolicitud.Construir(solicitudBuilder);

                //Cargo el VIEWMODEL a renderizar en la vista
                //ConstructorDocumento.Documento.partes

                //solicitudBuilder.Documento.paginas

                //creo una SOLICITUD nueva
                //Solicitud nuevaSolicitud = new Solicitud();



                //Creo una VENTA nueva
                //Venta nuevaVenta = new Venta();
                //nuevaVenta.VentaID = documentoBuilder.IdDocumento;
                //nuevaVenta.VentaTitulo = "Venta para documento numero: " + solicitudBuilder.IdDocumento;



                //creo una ORDEN nueva (NO DESARROLLADO)
                //Orden nuevaOrden = new Orden();

                //cargo la solicitud nueva
                //PATRONES...
                // Recorre el Dictionary para cada par de valores dentro del objeto complejo creado
                //foreach (KeyValuePair<string, Pagina> parte_par in documentoBuilder.Documento.partes)
                //{

                //    if (parte_par.Key == "cabecera")
                //    {
                //        //paginas de cabecera
                //        foreach (Pagina paginaCabecera in parte_par.Value.Paginas)
                //        {
                //            //Cargo la pagina datos solicitud del objeto complejo SolicitudBuilder
                //            Type type = paginaCabecera.GetType();

                //            //En cada caso debería desarrollar la funcionalidad de negocio (PATRON TEMPLATE METOD?)
                //            if (type.Equals(typeof(DatosSolicitudPagina)))
                //            {
                //                nuevaSolicitud.SolicitudPaginas.Add(new DatosSolicitudPagina { PaginaID = paginaCabecera.PaginaID, PaginaNombre = paginaCabecera.PaginaNombre, DatosSolicitudTitulo = "Pagina Datos Solicitud" });
                //            }

                //            if (type.Equals(typeof(CuentaBancariaDepositoPagina)))
                //            {
                //                nuevaSolicitud.SolicitudPaginas.Add(new CuentaBancariaDepositoPagina { PaginaID = paginaCabecera.PaginaID, PaginaNombre = paginaCabecera.PaginaNombre });
                //            }

                //            if (type.Equals(typeof(PagosRealizadosPagina)))
                //            {
                //                nuevaSolicitud.SolicitudPaginas.Add(new PagosRealizadosPagina { PaginaID = paginaCabecera.PaginaID, PaginaNombre = paginaCabecera.PaginaNombre });
                //            }

                //            if (type.Equals(typeof(DatosUnidadPagina)))
                //            {
                //                nuevaSolicitud.SolicitudPaginas.Add(new DatosUnidadPagina { PaginaID = paginaCabecera.PaginaID, PaginaNombre = paginaCabecera.PaginaNombre });
                //            }

                //        }
                //    }
                //    else if (parte_par.Key == "detalle")
                //    {
                //        //paginas de detalle
                //        foreach (Pagina paginaDetalle in parte_par.Value.Paginas)
                //        {
                //            //Cargo la pagina datos solicitud del objeto complejo SolicitudBuilder
                //            Type type = paginaDetalle.GetType();

                //            //En cada caso debería desarrollar la funcionalidad de negocio (PATRON TEMPLATE METOD?)
                //            if (type.Equals(typeof(HojaProspectoPagina)))
                //            {
                //                nuevaSolicitud.SolicitudPaginas.Add(new HojaProspectoPagina { PaginaID = paginaDetalle.PaginaID, PaginaNombre = paginaDetalle.PaginaNombre });
                //            }

                //            if (type.Equals(typeof(PropuestaComercialPagina)))
                //            {
                //                nuevaSolicitud.SolicitudPaginas.Add(new PropuestaComercialPagina { PaginaID = paginaDetalle.PaginaID, PaginaNombre = paginaDetalle.PaginaNombre });
                //            }

                //            if (type.Equals(typeof(LegajoPersonaPagina)))
                //            {
                //                nuevaSolicitud.SolicitudPaginas.Add(new LegajoPersonaPagina { PaginaID = paginaDetalle.PaginaID, PaginaNombre = paginaDetalle.PaginaNombre });
                //            }
                //        }
                //    }

                //}


                //Asigno la Orden a la venta: ID
                //nuevaVenta.OrdenID = documentoBuilder.IdDocumento;
                //nuevaVenta.VentaOrden = nuevaOrden;
                //ALTA DE VENTA EN DB
                //db.Ventas.Add(nuevaVenta);
                //db.SaveChanges();
                //******************************************************************************************************************************************

                db.DatosSolicitudPaginas.Add(datosSolicitud);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(datosSolicitud));
        }