public ActionResult DeleteConfirmed(int id)
        {
            // Se elimina la donación
            donaciones donaciones = db.donaciones.Find(id);

            db.donaciones.Remove(donaciones);
            // Se elimina al colaborador de la tabla personas_perfiles
            personas_perfiles per = db.persona_perfil.Where(m => m.idPersona == donaciones.idColaborador && m.idPerfil == 2).SingleOrDefault();

            db.persona_perfil.Remove(per);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // GET: Donaciones/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            donaciones donacion = db.donaciones.Find(id);
            // Se recuperan los datos del colaborador
            vistaColaboradores colaborador = db.vistaColaboradores.SingleOrDefault(x => x.id == donacion.idColaborador);
            // Se crea el viewmodel a partir de los datos anteriores
            DonacionesViewModel modelo = new DonacionesViewModel(donacion, colaborador.CuentaBancaria, colaborador.CIF_NIF);

            if (donacion == null)
            {
                return(HttpNotFound());
            }
            return(View(modelo));
        }
Exemple #3
0
        public ActionResult Create([Bind(Include = "id,nombre,apellidos,direccionPostal,codigoPostal,localidad,provincia,pais,telefono1,telefono2,email,fechaNacimiento,CIF_NIF,CuentaBancaria,Perfiles,cantidad,fechaAlta,Periodicidad")] vistaColaboradores modelo)
        {
            if (ModelState.IsValid)
            {
                //Se convierten los campos de tipo fecha
                var fechaNacimiento = Convert.ToDateTime(modelo.fechaNacimiento);
                var fechaAlta       = Convert.ToDateTime(modelo.fechaAlta);

                //Se genera el colaborador
                var nuevoColaborador = new colaboradores(0, modelo.nombre, modelo.apellidos, modelo.direccionPostal, modelo.codigoPostal, modelo.localidad, modelo.provincia, modelo.pais, modelo.telefono1, modelo.telefono2,
                                                         modelo.email, fechaNacimiento, modelo.CIF_NIF, modelo.CuentaBancaria);
                db.colaboradores.Add(nuevoColaborador);
                db.SaveChanges();

                //Insert the relationship many to many in personas_perfiles
                var perPerfilNew = new personas_perfiles(0, nuevoColaborador.id, 2);
                db.persona_perfil.Add(perPerfilNew);
                db.SaveChanges();

                //Insert Donation
                int idPeriodicidad;
                int.TryParse(modelo.Periodicidad, out idPeriodicidad);
                var donacion = new donaciones(0, modelo.cantidad, fechaAlta, nuevoColaborador.id, idPeriodicidad);
                db.donaciones.Add(donacion);
                db.SaveChanges();

                //Se envía mensaje de acierto
                TempData["Acierto"] = "El colaborador/a " + modelo.nombre + " " + modelo.apellidos + " ha sido añadido/a correctamente al sistema.";

                return(RedirectToAction("Index"));
            }
            //Se cargan las periodicidades en el campo y se realiza un select box
            var listPeriodicidades = db.periodicidades.ToList().Select(x => new SelectListItem
            {
                Text  = x.nombre,
                Value = x.id.ToString()
            });

            ViewBag.Periodicidades = listPeriodicidades;
            return(View(modelo));
        }
        // GET: Donaciones/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            donaciones donacion = db.donaciones.Find(id);
            // Se recuperan los datos del colaborador
            vistaColaboradores colaborador = db.vistaColaboradores.SingleOrDefault(x => x.id == donacion.idColaborador);
            // Se crea el viewmodel a partir de los datos anteriores
            DonacionesViewModel modelo = new DonacionesViewModel(donacion, colaborador.CuentaBancaria, colaborador.CIF_NIF);

            if (donacion == null)
            {
                return(HttpNotFound());
            }
            // Se cargan los desplegables con datos
            ViewBag.colaborador    = colaborador.nombre + " " + colaborador.apellidos;
            ViewBag.idPeriodicidad = new SelectList(db.periodicidades, "id", "nombre", donacion.idPeriodicidad);
            return(View(modelo));
        }
Exemple #5
0
        public ActionResult DeleteConfirmed(int id)
        {
            // Se eliminan los datos del colaborador
            colaboradores colaborador = db.colaboradores.SingleOrDefault(m => m.id == id);

            //Also needed to delete from personas_perfiles when is colaborator (2)
            personas_perfiles per = db.persona_perfil.Where(m => m.idPersona == id && m.idPerfil == 2).SingleOrDefault();

            db.persona_perfil.Remove(per);
            db.SaveChanges();

            // Delete donations made from this colaborator
            donaciones donacion = db.donaciones.SingleOrDefault(m => m.idColaborador == id);

            db.donaciones.Remove(donacion);
            db.SaveChanges();

            TempData["Acierto"] = "El colaborador/a " + colaborador.nombre + " " + colaborador.apellidos + " ha sido eliminada del sistema correctamente.";

            return(RedirectToAction("Index"));
        }
 /// <summary>
 /// Constructor con parámetros.
 /// </summary>
 /// <param name="donacion">Objeto de la clase donaciones para guardar los datos de la donación.</param>
 /// <param name="cuentaBancaria">String para almacenar el número de cuenta bancaria de la donación.</param>
 /// <param name="NIF">String para almacenar el NIF/CIF del colaborador.</param>
 public DonacionesViewModel(donaciones donacion, string cuentaBancaria, string NIF)
 {
     this.donacion       = donacion;
     this.cuentaBancaria = cuentaBancaria;
     this.NIF            = NIF;
 }