public ActionResult Create(FormCollection collection)
 {
     try
     {
         // TODO: Add insert logic here
         DireccionPersona          persona = new DireccionPersona();
         DireccionPersonaComponent direccionPersonaComponent = new DireccionPersonaComponent();
         persona.persona.Id             = int.Parse(collection.Get("persona.Id"));
         persona.direccion.direccion    = collection.Get("direccion.direccion");
         persona.direccion.numero       = int.Parse(collection.Get("direccion.numero"));
         persona.direccion.piso         = int.Parse(collection.Get("direccion.piso"));
         persona.direccion.departamento = collection.Get("direccion.departamento");
         persona.direccion.localidad    = collection.Get("direccion.localidad");
         persona.direccion.codigoPostal = int.Parse(collection.Get("direccion.codigoPostal"));
         persona.direccion.provincia    = collection.Get("direccion.provincia");
         if (direccionPersonaComponent.Create(persona) is null)
         {
             return(RedirectToAction("ErrorPage", new { id = persona.persona.Id }));
         }
         else
         {
             return(RedirectToAction("Index", new { id = persona.persona.Id }));
         }
     }
     catch (Exception e)
     {
         return(View());
     }
 }
        //
        // GET: /DireccionPersona/Create
        public ActionResult Create(int id)
        {
            DireccionPersona persona          = new DireccionPersona();
            PersonaComponent personaComponent = new PersonaComponent();

            persona.persona = personaComponent.ReadBy(id);

            return(View(persona));
        }
        //
        // GET: /DireccionPersona/Details/5
        public ActionResult ErroPage(int id)
        {
            DireccionPersona persona = new DireccionPersona();

            persona.persona.Id = id;



            return(View(persona));
        }
        //
        // GET: /DireccionPersona/
        public ActionResult Index(int id)
        {
            DireccionPersona          persona          = new DireccionPersona();
            DireccionPersonaComponent direccionPersona = new DireccionPersonaComponent();
            PersonaComponent          personaComponent = new PersonaComponent();

            persona.direccionPersona = direccionPersona.ReadByPersona(id);
            persona.persona          = personaComponent.ReadBy(id);
            return(View(persona));
        }
        //
        // GET: /DireccionPersona/Delete/5
        public ActionResult Delete(int id, int dni)
        {
            DireccionPersona persona          = new DireccionPersona();
            PersonaComponent personaComponent = new PersonaComponent();

            persona.persona = personaComponent.ReadBy(dni);
            DireccionComponent direccion = new DireccionComponent();

            persona.direccion = direccion.ReadBy(id);
            return(View(persona));
        }
        public Persona Create(Persona entity)
        {
            if (Verificar(entity))
            {
                //agregar Usuario

                Usuarios          usuarios          = new Usuarios();
                UsuariosComponent usuariosComponent = new UsuariosComponent();
                usuarios          = entity.usuarios;
                usuarios.Email    = entity.email;
                usuarios.UserName = entity.email;
                usuariosComponent.Crear(usuarios);
                //Crear persona
                PersonaDAC personaDAC = new PersonaDAC();
                Persona    persona    = new Persona();
                entity.usuarios = usuariosComponent.ReadByEmail(entity.email);
                persona         = personaDAC.Create(entity);


                //Agrega tipo Persona
                TipoPersonaPersonaComponent tipoPersonaPersonaComponent = new TipoPersonaPersonaComponent();
                TipoPersonaPersona          tipoPersonaPersona          = new TipoPersonaPersona();
                tipoPersonaPersona.persona.Id     = entity.Id;
                tipoPersonaPersona.tipoPersona.Id = entity.tipoPersona.Id;
                tipoPersonaPersonaComponent.Create(tipoPersonaPersona);



                //Agrega Direccion
                DireccionComponent direccionComponent = new DireccionComponent();
                direccionComponent.Create(entity.Direccion);

                //Asiganar direccion al usuario
                DireccionPersona direccionPersona = new DireccionPersona();
                direccionPersona.direccion  = direccionComponent.ReadBy(entity.Direccion);
                direccionPersona.persona.Id = entity.Id;
                DireccionPersonaComponent direccion = new DireccionPersonaComponent();
                direccion.Create(direccionPersona);



                return(persona);
            }
            else
            {
                return(null);
            }
        }
        public ActionResult Delete(FormCollection collection)
        {
            try
            {
                // TODO: Add delete logic here
                DireccionPersona          direccion        = new DireccionPersona();
                DireccionPersonaComponent direccionPersona = new DireccionPersonaComponent();

                direccion.persona.Id = int.Parse(collection.Get("persona.Id"));

                direccion.direccion.Id = int.Parse(collection.Get("direccion.Id"));
                direccionPersona.Delete(direccion.persona.Id, direccion.direccion.Id);
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }