public ActionResult Create([Bind(Include = "id_evento,id_categoria,nombre,descripcion,fecha_evento,hora_desde,hora_hasta,duracion,precio,invitados,estado,fecha_creado")] EventoModels evento_) { DateTime hd = DateTime.Parse(evento_.hora_desde); DateTime hh = DateTime.Parse(evento_.hora_hasta); int duracion = int.Parse((hh - hd).TotalHours.ToString()); if (ModelState.IsValid) { Evento ev = new Evento(); ev.id_evento = Guid.NewGuid(); ev.id_categoria = evento_.id_categoria; ev.nombre = evento_.nombre; ev.descripcion = evento_.descripcion; ev.fecha_evento = evento_.fecha_evento; ev.hora_desde = evento_.hora_desde; ev.hora_hasta = evento_.hora_hasta; ev.precio = evento_.precio; ev.duracion = duracion; ev.invitados = evento_.invitados; ev.fecha_creado = DateTime.Now; db.Evento.Add(ev); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.id_categoria = new SelectList(db.CategoriaCurso, "id_categoria", "nombre", evento_.id_categoria); return(View(evento_)); }
// GET: Evento/Create public ActionResult Create() { EventoModels ev = new EventoModels(); ev.fecha_evento = DateTime.Today; ev.hora_desde_string = "8:00 a. m."; ev.hora_hasta_string = "8:00 a. m."; ViewBag.id_categoria = new SelectList(db.CategoriaCurso, "id_categoria", "nombre").OrderBy(o => o.Text); return(View(ev)); }
public ActionResult AddInvitado(EventoModels evento_) { if (!string.IsNullOrEmpty(evento_.invitados)) { //validamos los emails bool emailerror = false; foreach (var i in evento_.invitados.Split(',')) { if (!IsValidEmail(i.Trim())) { emailerror = true; break; } } if (emailerror != true) { List <Invitado> liv = new List <Invitado>(); Evento ev = db.Evento.Where(r => r.id_evento == evento_.id_evento).SingleOrDefault(); foreach (var i in evento_.invitados.Split(',')) { Invitado iv = new Invitado(); iv.id_invitado = Guid.NewGuid(); iv.email = i; iv.id_evento = evento_.id_evento; iv.asistio = false; iv.codigo_asistencia = Guid.NewGuid(); iv.ip = string.Empty; liv.Add(iv); } if (liv.Count() != 0) { db.Invitado.AddRange(liv); db.SaveChanges(); } foreach (var e in liv) { //DESPUES DE CREAR EL EVENTO SE ENVIAN LAS INVITACIONES SendInvitation(e.email, ev.nombre, ev.fecha_evento, ev.descripcion, ev.id_evento.ToString(), ev.hora_desde.ToShortTimeString(), ev.hora_hasta.ToShortTimeString(), e); } } else { //si algun email esta mal formateado evento_.ShowError = true; evento_.Clean = false; evento_.type = TypeError.warning; evento_.title = Titles.Atención; evento_.ErrorMessage = rm.GetString("mail_error"); } } return(RedirectToAction("Edit", new { id = evento_.id_evento })); }
// GET: Evento/Edit/5 public ActionResult Edit(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Evento evento = db.Evento.Find(id); EventoModels em = new EventoModels(); em.id_evento = id.Value; em.id_categoria = evento.id_categoria; em.nombre = evento.nombre; em.descripcion = evento.descripcion; em.fecha_evento = evento.fecha_evento; em.hora_desde = evento.hora_desde; em.hora_hasta = evento.hora_hasta; //em.invitados = evento.invitados; em.estado = evento.estado; em.precio = evento.precio.ToString(); em.hora_desde_string = evento.hora_desde.ToShortTimeString(); em.hora_hasta_string = evento.hora_hasta.ToShortTimeString(); em.lista_invitados = evento.Invitado.Select(i => new BasicModel { id = i.id_invitado, value = i.email }).ToList(); if (evento == null) { return(HttpNotFound()); } ViewBag.id_categoria = new SelectList(db.CategoriaCurso, "id_categoria", "nombre", evento.id_categoria); return(View(em)); }
public EdificiosController(ApplicationDbContext context) { _context = context; claseEdificio = new EdificioModels(context); claselistaevento = new EventoModels(context); }
public ActionResult Create([Bind(Include = "id_evento,id_categoria,nombre,descripcion,fecha_evento,hora_desde,hora_hasta,duracion,precio,invitados,estado,fecha_creado")] EventoModels evento_) { try { DateTime hd = evento_.hora_desde; DateTime hh = evento_.hora_hasta; decimal duracion = decimal.Parse((hh - hd).TotalHours.ToString()); evento_.hora_desde_string = evento_.hora_desde.ToShortTimeString(); evento_.hora_hasta_string = evento_.hora_hasta.ToShortTimeString(); if (ModelState.IsValid) { //validamos los emails bool emailerror = false; foreach (var i in evento_.invitados.Split(',')) { if (!IsValidEmail(i.Trim())) { emailerror = true; break; } } if (hh > hd) { evento_.fecha_evento = evento_.fecha_evento.AddHours(1); List <Evento> lev = db.Evento.Where(e => e.fecha_evento == evento_.fecha_evento && e.estado == true && ((e.hora_desde.Hour <hd.Hour && e.hora_hasta.Hour> hd.Hour) || (e.hora_desde.Hour <hh.Hour && e.hora_hasta.Hour> hh.Hour) || (e.hora_desde.Hour >= hd.Hour && e.hora_hasta.Hour <= hh.Hour)) ).ToList(); if (lev.Count() == 0) { if (emailerror != true) { if ((duracion % 1) == 0) { //si llega hasta aqui es que no hay validaciones fallidas Evento ev = new Evento(); ev.id_evento = Guid.NewGuid(); ev.id_categoria = evento_.id_categoria; ev.nombre = evento_.nombre; ev.descripcion = evento_.descripcion; ev.fecha_evento = evento_.fecha_evento; ev.hora_desde = hd; ev.hora_hasta = hh; ev.precio = double.Parse(evento_.precio); ev.duracion = int.Parse(duracion.ToString()); ev.invitados = evento_.invitados; ev.estado = evento_.estado; ev.fecha_creado = DateTime.Now; db.Evento.Add(ev); List <Invitado> liv = new List <Invitado>(); foreach (var i in evento_.invitados.Split(',')) { Invitado iv = new Invitado(); iv.id_invitado = Guid.NewGuid(); iv.email = i; iv.id_evento = ev.id_evento; iv.asistio = false; iv.codigo_asistencia = Guid.NewGuid(); iv.ip = string.Empty; liv.Add(iv); } if (liv.Count() != 0) { db.Invitado.AddRange(liv); } db.SaveChanges(); foreach (var e in liv) { //DESPUES DE CREAR EL EVENTO SE ENVIAN LAS INVITACIONES SendInvitation(e.email, ev.nombre, ev.fecha_evento, ev.descripcion, ev.id_evento.ToString(), ev.hora_desde.ToShortTimeString(), ev.hora_hasta.ToShortTimeString(), e); } evento_.hora_desde_string = "8:00 a. m."; evento_.hora_hasta_string = "8:00 a. m."; ev.fecha_evento = DateTime.Today; evento_.ShowError = true; evento_.Clean = true; evento_.type = TypeError.success; evento_.title = Titles.Exito; evento_.ErrorMessage = rm.GetString("save"); } else { //si algun email esta mal formateado evento_.ShowError = true; evento_.Clean = false; evento_.type = TypeError.warning; evento_.title = Titles.Atención; evento_.ErrorMessage = rm.GetString("horas_Completas"); } } else { //si algun email esta mal formateado evento_.ShowError = true; evento_.Clean = false; evento_.type = TypeError.warning; evento_.title = Titles.Atención; evento_.ErrorMessage = rm.GetString("mail_error"); } } else { //si no coincide ninguna fecha con horas evento_.ShowError = true; evento_.Clean = false; evento_.type = TypeError.error; evento_.title = Titles.Error; evento_.ErrorMessage = rm.GetString("horario_error"); } } else { //si las horas son iguales o la hora desde es mayor que la hora hasta evento_.ShowError = true; evento_.Clean = false; evento_.type = TypeError.error; evento_.title = Titles.Error; evento_.ErrorMessage = rm.GetString("hora_error"); } } } catch (Exception ex) { evento_.ShowError = true; evento_.type = TypeError.error; evento_.ErrorMessage = ex.Message; } ViewBag.id_categoria = new SelectList(db.CategoriaCurso, "id_categoria", "nombre", evento_.id_categoria); return(View(evento_)); }
public ActionResult Edit([Bind(Include = "id_evento,id_categoria,nombre,descripcion,fecha_evento,hora_desde,hora_hasta,duracion,precio,estado,fecha_creado")] EventoModels evento_) { try { DateTime hd = evento_.hora_desde; DateTime hh = evento_.hora_hasta; decimal duracion = decimal.Parse((hh - hd).TotalHours.ToString()); evento_.hora_desde_string = evento_.hora_desde.ToShortTimeString(); evento_.hora_hasta_string = evento_.hora_hasta.ToShortTimeString(); //evento_.invitados = "*****@*****.**"; if (ModelState.IsValid) { if (hh > hd) { evento_.fecha_evento = evento_.fecha_evento.AddHours(1); List <Evento> lev = db.Evento.Where(e => e.id_evento != evento_.id_evento && e.fecha_evento == evento_.fecha_evento && e.estado == true && ((e.hora_desde.Hour <hd.Hour && e.hora_hasta.Hour> hd.Hour) || (e.hora_desde.Hour <hh.Hour && e.hora_hasta.Hour> hh.Hour) || (e.hora_desde.Hour >= hd.Hour && e.hora_hasta.Hour <= hh.Hour)) ).ToList(); if (lev.Count() == 0) { if ((duracion % 1) == 0) { //si llega hasta aqui es que no hay validaciones fallidas Evento ev = db.Evento.Where(t => t.id_evento == evento_.id_evento).SingleOrDefault(); ev.id_categoria = evento_.id_categoria; ev.nombre = evento_.nombre; ev.descripcion = evento_.descripcion; ev.fecha_evento = evento_.fecha_evento; ev.hora_desde = hd; ev.hora_hasta = hh; ev.precio = double.Parse(evento_.precio); ev.duracion = int.Parse(duracion.ToString()); ev.estado = evento_.estado; db.SaveChanges(); //evento_.hora_desde_string = ""; //evento_.hora_hasta_string = ""; evento_.ShowError = true; evento_.Clean = false; evento_.type = TypeError.success; evento_.title = Titles.Exito; evento_.ErrorMessage = rm.GetString("edit"); } else { //si algun email esta mal formateado evento_.ShowError = true; evento_.Clean = false; evento_.type = TypeError.warning; evento_.title = Titles.Atención; evento_.ErrorMessage = rm.GetString("horas_Completas"); } } else { //si no coincide ninguna fecha con horas evento_.ShowError = true; evento_.Clean = false; evento_.type = TypeError.error; evento_.title = Titles.Error; evento_.ErrorMessage = rm.GetString("horario_error"); } } else { //si las horas son iguales o la hora desde es mayor que la hora hasta evento_.ShowError = true; evento_.Clean = false; evento_.type = TypeError.error; evento_.title = Titles.Error; evento_.ErrorMessage = rm.GetString("hora_error"); } } } catch (Exception ex) { evento_.ShowError = true; evento_.type = TypeError.error; evento_.ErrorMessage = ex.Message; } ViewBag.id_categoria = new SelectList(db.CategoriaCurso, "id_categoria", "nombre", evento_.id_categoria); evento_.lista_invitados = db.Invitado.Where(t => t.id_evento == evento_.id_evento).Select(i => new BasicModel { id = i.id_invitado, value = i.email }).ToList(); return(View(evento_)); }
public EventosController(ApplicationDbContext context) { _context = context; claseEvento = new EventoModels(context); }