public ActionResult Create([Bind(Include = "id,nombre,apellidos,direccionPostal,codigoPostal,localidad,provincia,pais,telefono1,telefono2,email,fechaNacimiento,fechaAlta,Sede,Perfiles")] voluntario model) { if (ModelState.IsValid) { //Get id of sede_name var sedes = db.sedes_delegaciones.SingleOrDefault(i => i.nombre == model.Sede); //Convert date var fecha = Convert.ToDateTime(model.fechaNacimiento); //Profile id is 1 for Voluntarios //Transform voluntario class in voluntarios class to allow insert, updating, deleting //Insert a new volunteer through voluntarios table var voluntariosNuevo = new voluntarios(0, model.nombre, model.apellidos, model.direccionPostal, model.codigoPostal, model.localidad, model.provincia, model.pais, model.telefono1, model.telefono2, model.email, fecha, model.fechaAlta, sedes.id); db.voluntarios.Add(voluntariosNuevo); db.SaveChanges(); //Insert the relationship many to many in personas_perfiles var perPerfilNew = new personas_perfiles(0, voluntariosNuevo.id, 1); db.persona_perfil.Add(perPerfilNew); db.SaveChanges(); TempData["Acierto"] = "El voluntario/a " + model.nombre + " " + model.apellidos + " ha sido añadido/a correctamente al sistema."; return(RedirectToAction("Index")); } return(View(model)); }
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")); }
public ActionResult DeleteConfirmed(int id) { //Para vistas usar Single or default // Get voluntarios item voluntarios voluntario = db.voluntarios.SingleOrDefault(m => m.id == id); //Also needed to delete from personas_perfiles personas_perfiles per = db.persona_perfil.SingleOrDefault(m => m.idPersona == id && m.idPerfil == 1); db.persona_perfil.Remove(per); db.SaveChanges(); TempData["Acierto"] = "El voluntario/a " + voluntario.nombre + " " + voluntario.apellidos + " ha sido eliminada del sistema correctamente."; return(RedirectToAction("Index")); }
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)); }
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")); }
public ActionResult Create(DonacionesViewModel modelo) { //modelo.donacion.colaboradores = new colaboradores(db.persona.Where(x => x.id == modelo.donacion.idColaborador).First(); if (ModelState.IsValid) { // Se crea la donación en la base de datos. db.donaciones.Add(modelo.donacion); db.SaveChanges(); // Añadir al colaborador en la tabla de colaboradores. /*persona.colaboradores.Add(colaborador); * persona.colaboradores.First().CIF_NIF = modelo.NIF; * persona.colaboradores.First().CuentaBancaria = modelo.cuentaBancaria; * db.Entry(persona).State = EntityState.Modified; * * db.SaveChanges();*/ using (var context = new GestorONGDContext()) { var persona = context.persona.Find(modelo.donacion.idColaborador); var colaborador = new colaboradores(persona, modelo.NIF, modelo.cuentaBancaria); personas_perfiles per_perfiles = new personas_perfiles() { idPersona = modelo.donacion.idColaborador, idPerfil = 2 //personas = colaborador }; /*persona.colaboradores = new HashSet<colaboradores>(); * persona.colaboradores.Add(colaborador);*/ /*var colaborador = new colaboradores() * { * CIF_NIF = modelo.NIF, * CuentaBancaria = modelo.cuentaBancaria * };*/ context.colaboradores.Add(colaborador); context.SaveChanges(); colaborador.idColaborador = modelo.donacion.idColaborador; context.Entry(colaborador).State = EntityState.Modified; context.persona.Remove(persona); context.persona_perfil.Add(per_perfiles); context.SaveChanges(); } //db.Entry(persona).State = EntityState.Detached; /*var existingcolaborador = db.colaboradores.Where(x => x.id == modelo.donacion.idColaborador).FirstOrDefault(); * existingcolaborador.idColaborador = modelo.donacion.idColaborador; * existingcolaborador.CIF_NIF = modelo.NIF; * existingcolaborador.CuentaBancaria = modelo.cuentaBancaria; * db.Entry(existingcolaborador).State = EntityState.Modified; * * // Añadir la relación entre personas y perfiles en la tabla personas_perfiles * var personas_perfiles = new personas_perfiles(0, modelo.donacion.idColaborador, 2); * db.persona_perfil.Add(personas_perfiles); * db.SaveChanges();*/ //TempData["Acierto"] = "La donación creada por el colaborador " + persona.nombre + " " + persona.apellidos + " con un valor de " + modelo.donacion.cantidad + "€ ha sido realizada correctamente"; return(RedirectToAction("Index")); } else { var errors = ModelState.SelectMany(x => x.Value.Errors.Select(z => z.Exception)); Console.Write(errors.ToString()); } // Se listan las personas que no son colaboradores existentes en el sistema puesto que sólo se puede hacer una única donación por usuario. var colaboradores = getColaboradoresSelectList(); ViewBag.idColaborador = colaboradores; ViewBag.idPeriodicidad = new SelectList(db.periodicidades, "id", "nombre", modelo.donacion.idPeriodicidad); return(View(modelo)); }