public IHttpActionResult PostBanquete(Banquete banquete) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Banquete.Add(banquete); try { db.SaveChanges(); } catch (DbUpdateException) { if (BanqueteExists(banquete.idBanquete)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = banquete.idBanquete }, banquete)); }
public ActionResult Create([Bind(Include = BIND_FIELDS)] Banquete banquete, string listServiciosSeleccionados) { //Se deserializa la lista de compras en un objeto JavaScriptSerializer js = new JavaScriptSerializer(); List <ServiciosEnReservacion> serviciosSeleccionados = js.Deserialize <List <ServiciosEnReservacion> >(listServiciosSeleccionados); //Se registran los servicios relacionados si existen if (serviciosSeleccionados != null && serviciosSeleccionados.Count > 0) { banquete.serviciosContratados = serviciosSeleccionados; } if (ModelState.IsValid) { banquete.fechaReservacion = DateTime.Now; db.Banquetes.Add(banquete); db.SaveChanges(); return(RedirectToAction("Details", "Clientes", new { id = banquete.clienteID })); } //Si llega hasta aca, hubo un problema y se muestra la forma de nuevo Banquete newRes = prepararVista(banquete.clienteID); banquete.cliente = newRes.cliente; ViewBag.failPostBack = true; return(View("Form_Banquete", banquete)); }
public IHttpActionResult PutBanquete(int id, Banquete banquete) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != banquete.idBanquete) { return(BadRequest()); } db.Entry(banquete).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!BanqueteExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetBanquete(int id) { Banquete banquete = db.Banquete.Find(id); if (banquete == null) { return(NotFound()); } return(Ok(banquete)); }
private Banquete prepararVista(int clienteID = 0) { Banquete newReservacion = new Banquete(); Cliente cliente = db.clientes.Find(clienteID); newReservacion.clienteID = clienteID; newReservacion.cliente = cliente; ViewBag.servicios = db.Servicios.Where(s => s.tipoDeEvento == Evento.TipoEvento.BANQUETE || s.tipoDeEvento == Evento.TipoEvento.CUALQUIERA).ToList(); return(newReservacion); }
// GET: Banquetes/Create public ActionResult Create(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Banquete ban = prepararVista(id.Value); return(View("Form_Banquete", ban)); }
public JsonResult checarConflictos(Banquete banquete) { //Se encuentran las reservaciones en conflicto List <Banquete> resFiltradas = banquete.reservacionesQueColisionan(db).ToList(); //Se prepara la informacion para ser respondida como vista en JSON var resultado = (from res in resFiltradas select new Banquete.VMBanquete(res)).ToList(); var vmReservacionComprobada = new Banquete.VMBanquete(banquete); return(Json(resultado, JsonRequestBehavior.AllowGet)); }
public IHttpActionResult DeleteBanquete(int id) { Banquete banquete = db.Banquete.Find(id); if (banquete == null) { return(NotFound()); } db.Banquete.Remove(banquete); db.SaveChanges(); return(Ok(banquete)); }
// GET: Banquetes/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Banquete banquete = db.Banquetes.Find(id); if (banquete == null) { return(HttpNotFound()); } prepararVista(); return(View("Form_Banquete", banquete)); }
public FileResult descargarContrato(int?id, TipoDeContrato tipoContrato) { Evento evento = db.eventos.Find(id); String rutaContrato = evento.ContratoPath; //Se hace una copia una instancia de contrato para ser modificada basada en una plantilla String nuevoContrato = Server.MapPath("~/App_Data/ContratoEnBlanco.docx"); byte[] fileBytesContrato = System.IO.File.ReadAllBytes(Server.MapPath(rutaContrato)); System.IO.File.WriteAllBytes(nuevoContrato, fileBytesContrato); var doc = DocX.Load(nuevoContrato); if (evento.tipoDeEvento == TipoEvento.RESERVACION) //Si el evento es una reservacion de salon por arrendamiento { Reservacion res = ((Reservacion)evento); //Se cargan los datos desde el registro de reservacion Reservacion.VMDataContractReservacion dataContracts = new Reservacion.VMDataContractReservacion(res); if (tipoContrato == TipoDeContrato.KIDS)//CONTRATO VENTURA KIDS { res.fillContratoA(dataContracts, ref doc); } else if (tipoContrato == TipoDeContrato.ARRENDAMIENTO)//CONTRATO MODIFICADO { res.fillContratoB(dataContracts, ref doc); } } else if (evento.tipoDeEvento == TipoEvento.BANQUETE) { Banquete res = ((Banquete)evento); res.fillContratoA(ref doc); //Contrato para banquetes } doc.Save(); //Guardar documento en servidor //Descargar documento byte[] fileBytesNuevoContrato = System.IO.File.ReadAllBytes(nuevoContrato); string nombreArchivoDescargado = evento.nombreTipoContrato.Replace(' ', '_').ToUpperInvariant() + "_" + evento.cliente.nombreCompleto.ToUpperInvariant(); nombreArchivoDescargado = Regex.Replace(nombreArchivoDescargado, @"[^a-zA-z0-9 ]+", "") + ".docx"; return(File(fileBytesNuevoContrato, System.Net.Mime.MediaTypeNames.Application.Octet, nombreArchivoDescargado)); }
public ActionResult Edit([Bind(Include = BIND_FIELDS)] Banquete banquete, string listServiciosSeleccionados) { int numRegs = 0; if (ModelState.IsValid) { JavaScriptSerializer js = new JavaScriptSerializer(); //Se eliminan la seleccion de servicios hecha anteriormente var serviciosEliminar = db.ServiciosEnReservaciones .Where(ser => ser.eventoID == banquete.eventoID); db.ServiciosEnReservaciones.RemoveRange(serviciosEliminar); numRegs = db.SaveChanges(); //Se guardan cambios //Se deserializa la lista de servicios seleccionados y sesiones modificadas List <ServiciosEnReservacion> serviciosSeleccionados = js.Deserialize <List <ServiciosEnReservacion> >(listServiciosSeleccionados); if (serviciosSeleccionados != null && serviciosSeleccionados.Count() > 0) { //Se asocia nuevamente los servicios con el evento serviciosSeleccionados.ForEach(ser => { ser.eventoID = banquete.eventoID; db.Entry(ser).State = EntityState.Added; }); } db.Entry(banquete).State = EntityState.Modified; numRegs = db.SaveChanges(); if (numRegs > 0) //Si la operacion fue satisfactoria, a los detalles del eventos { return(RedirectToAction("Details", "Eventos", new { id = banquete.eventoID })); } } //Si llega aqui, es que hubo un error, se muestra nuevamente la forma Banquete newRes = prepararVista(banquete.clienteID); banquete.cliente = newRes.cliente; return(View("Form_Banquete", banquete)); }