public FrmAbonarPaquete() { Model = ServiceLocator.Instance.Resolve <PaqueteViewModel>(); InitializeComponent(); this.IniciarBinding(); this.GridPaquete.GroupCaptionTextFormat = "{Key} - ({ItemsCount})"; }
// GET: Paquetes/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var paquete = await _paqueteBusiness.ObtenerPaquetePorId(id.Value); if (paquete == null) { return(NotFound()); } PaqueteViewModel paqueteViewModel = new PaqueteViewModel { CodigoMIA = paquete.CodigoMIA, Peso = paquete.Peso, NombreImagen = paquete.NombreImagen, Estado = paquete.Estado, GuiaColombia = paquete.GuiaColombia, ValorAPAgar = paquete.ValorAPAgar, ClienteId = paquete.ClienteId, TransportadoraId = paquete.TransportadoraId, TipoMercanciaId = paquete.TipoMercanciaId }; ViewData["listaClientes"] = new SelectList(await _paqueteBusiness.ObtenerListaClientes(), "ClienteId", "Nombre"); ViewData["listaTransportadoras"] = new SelectList(await _paqueteBusiness.ObtenerListaTransportadora(), "TransportadoraId", "Nombre"); ViewData["listaTipomercancias"] = new SelectList(await _paqueteBusiness.ObtenerListaTipoMercancia(), "TipoMercanciaId", "Nombre"); return(View(paqueteViewModel)); }
//[ValidateAntiForgeryToken] public async Task <IActionResult> Edit(PaqueteViewModel paqueteViewModel) { if (paqueteViewModel.ClienteId != 0 && paqueteViewModel.Peso != 0 && paqueteViewModel.Imagen != null) { Paquete paquete = new Paquete(); if (paqueteViewModel.Imagen != null) { string wwwRootPath = _hostEnvironment.WebRootPath; //borramos la foto anterior string imagenAnterior = null; if (paqueteViewModel.NombreImagen != null) { imagenAnterior = Path.Combine(wwwRootPath, "image", paqueteViewModel.NombreImagen); } if (System.IO.File.Exists(imagenAnterior)) { System.IO.File.Delete(imagenAnterior); } string nombreImagen = Path.GetFileNameWithoutExtension(paqueteViewModel.Imagen.FileName); string extension = Path.GetExtension(paqueteViewModel.Imagen.FileName); paqueteViewModel.NombreImagen = nombreImagen = nombreImagen + DateTime.Now.ToString("yymmssfff") + extension; string path = Path.Combine(wwwRootPath + "/image/" + nombreImagen); using (var fileStream = new FileStream(path, FileMode.Create)) { await paqueteViewModel.Imagen.CopyToAsync(fileStream); } paquete.NombreImagen = paqueteViewModel.NombreImagen; } else { paquete.NombreImagen = paqueteViewModel.NombreImagen; } paquete.CodigoMIA = paqueteViewModel.CodigoMIA; paquete.Peso = paqueteViewModel.Peso; paquete.Estado = paqueteViewModel.Estado; paquete.GuiaColombia = paqueteViewModel.GuiaColombia; paquete.ValorAPAgar = paqueteViewModel.ValorAPAgar; paquete.ClienteId = paqueteViewModel.ClienteId; paquete.TransportadoraId = paqueteViewModel.TransportadoraId; paquete.TipoMercanciaId = paqueteViewModel.TipoMercanciaId; try { await _paqueteBusiness.EditarPaquete(paquete); return(Json(new { data = "ok" })); } catch (Exception) { return(Json(new { data = "error" })); } } return(Json(new { data = "ok" })); }
public FrmPagarPaquete(AbonoPaquete item, PaqueteViewModel model) { InitializeComponent(); Model = model; IniciarBinding(); paquete = new AbonoPaquete(); paquete = item; }
public FrmSeleccionarPago(PaqueteViewModel model) { InitializeComponent(); Model = ServiceLocator.Instance.Resolve <VentasViewModel>(); Model.ModelPaquete = model; Model.Total = model.Total; Model.GetAllAsync(); IniciarBinding(); EsAbono = true; }
public ActionResult Eliminar(PaqueteViewModel model) { var paquete = _paqueteServicio.Get(model.Id); if (paquete == null) { return(View("_notFound")); } _paqueteServicio.Delete(paquete.Id); return(Redirect(Url.Action("Index"))); }
public static Paquete Map(this PaqueteViewModel model, Paquete paquete = null) { if (paquete == null) { paquete = new Paquete(); } paquete.Nombre = model.Nombre; paquete.FechaFin = model.FechaFin; paquete.FechaInicio = model.FechaInicio; paquete.Descripcion = model.Descripcion; paquete.Destacado = model.Destacado; paquete.Foto = model.Foto; paquete.LugaresDisponibles = model.LugaresDisponibles; paquete.PrecioPorPersona = model.PrecioPorPersona; return(paquete); }
//[ValidateAntiForgeryToken] public async Task <IActionResult> Create(PaqueteViewModel paqueteViewModel) { if (paqueteViewModel.ClienteId != 0 && paqueteViewModel.Peso != 0 && paqueteViewModel.Imagen != null) { string wwwRootPath = _hostEnvironment.WebRootPath; string nombreImagen = Path.GetFileNameWithoutExtension(paqueteViewModel.Imagen.FileName); string extension = Path.GetExtension(paqueteViewModel.Imagen.FileName); nombreImagen = nombreImagen + DateTime.Now.ToString("yymmssfff") + extension; Paquete paquete = new Paquete { CodigoMIA = "", Peso = paqueteViewModel.Peso, NombreImagen = nombreImagen, Estado = paqueteViewModel.Estado, GuiaColombia = paqueteViewModel.GuiaColombia, ValorAPAgar = paqueteViewModel.ValorAPAgar, ClienteId = paqueteViewModel.ClienteId, TransportadoraId = paqueteViewModel.TransportadoraId, TipoMercanciaId = paqueteViewModel.TipoMercanciaId }; string path = Path.Combine(wwwRootPath + "/image/" + nombreImagen); using (var fileStream = new FileStream(path, FileMode.Create)) { await paqueteViewModel.Imagen.CopyToAsync(fileStream); } try { await _paqueteBusiness.GuardarPaquete(paquete); return(Json(new { data = "ok" })); } catch (Exception) { return(Json(new { data = "error" })); } } return(Json(new { data = "error" })); /* * return View(paquete);*/ }
public async Task <ICollection <AnuncioViewModel> > ObtenerAnunciosVencidos(int id) { return(await Task.Run(() => { using (var _dbContext = new MercampoEntities()) { Startup.OpenDatabaseConnection(_dbContext); if (_dbContext.Database.Connection.State != ConnectionState.Open) { return null; } List <AnuncioViewModel> lista = new List <AnuncioViewModel>(); var anuncios = _dbContext.Anuncios.Where(a => a.activo == false && a.idUsuario == id && (EstadoAnuncio)a.estado == EstadoAnuncio.Vencido); foreach (var item in anuncios) { var imagenPrincipal = item.Fotos_Anuncio.Where(foto => foto.principal == true).FirstOrDefault()?.ruta ?? string.Empty; var paquete = _dbContext.Paquetes.Where(p => p.id == item.idPaquete).FirstOrDefault(); PaqueteViewModel paqueteViewModel = null; if (paquete != null) { paqueteViewModel = new PaqueteViewModel(paquete.id, paquete.nombre, paquete.meses); } var beneficios = _dbContext.Anuncio_Beneficio.Where(b => b.idAnuncio == item.id); List <BeneficioViewModel> listaBeneficios = new List <BeneficioViewModel>(); foreach (var beneficio in beneficios) { listaBeneficios.Add(new BeneficioViewModel(beneficio.idBeneficio, beneficio.Beneficio.descripcion, beneficio.Beneficio.precio)); } lista.Add(new AnuncioViewModel(item.id, item.titulo, item.estado, null, imagenPrincipal, paqueteViewModel, listaBeneficios)); } _dbContext.Database.Connection.Close(); return lista; } })); }
public ActionResult Crear(PaqueteViewModel model, HttpPostedFileBase file) { if (file == null) { ModelState.AddModelError("Foto", "Debe seleccionar una foto para el paquete"); } if (ModelState.IsValid) { if (file != null) { model.Foto = ManageFile(file); } _paqueteServicio.Create(model.Map()); return(Redirect(Url.Action("Index", new { paquete = $"Paquete {model.Nombre} creado con exito" }))); } return(View(model)); }
public ActionResult Editar(PaqueteViewModel model, HttpPostedFileBase file) { var paquete = _paqueteServicio.Get(model.Id); if (paquete == null) { return(View("_notFound")); } if (ModelState.IsValid) { if (file != null) { model.Foto = ManageFile(file); } _paqueteServicio.Update(model.Map(paquete)); return(Redirect(Url.Action("Index", new { paquete = $"Paquete {model.Nombre} modificado con exito" }))); } return(View(model)); }
public FrmPaquete() { InitializeComponent(); Model = ServiceLocator.Instance.Resolve <PaqueteViewModel>(); Model.IdUsuarioL = CurrentSession.IdCuentaUsuario; }
public async Task <ICollection <AnuncioViewModel> > ObtenerAnunciosActivos(int id) { return(await Task.Run(() => { using (var _dbContext = new MercampoEntities()) { Startup.OpenDatabaseConnection(_dbContext); if (_dbContext.Database.Connection.State != ConnectionState.Open) { return null; } List <AnuncioViewModel> lista = new List <AnuncioViewModel>(); var anuncios = _dbContext.Anuncios.Where(a => ((EstadoAnuncio)a.estado != EstadoAnuncio.Vencido && a.idUsuario == id) || ((EstadoAnuncio)a.estado == EstadoAnuncio.Vacio && a.idUsuario == id)); foreach (var item in anuncios) { if (!item.activo && item.estado == (int)EstadoAnuncio.Aprobado) { continue; } var paquete = _dbContext.Paquetes.Where(p => p.id == item.idPaquete).FirstOrDefault(); PaqueteViewModel paqueteViewModel = null; if (paquete != null) { paqueteViewModel = new PaqueteViewModel(paquete.id, paquete.nombre, paquete.meses); } var beneficios = _dbContext.Anuncio_Beneficio.Where(b => b.idAnuncio == item.id); List <BeneficioViewModel> listaBeneficios = new List <BeneficioViewModel>(); foreach (var beneficio in beneficios) { listaBeneficios.Add(new BeneficioViewModel(beneficio.idBeneficio, beneficio.Beneficio.descripcion, beneficio.Beneficio.precio)); } if ((EstadoAnuncio)item.estado == EstadoAnuncio.Vacio) { lista.Add(new AnuncioViewModel(item.id, (EstadoAnuncio)item.estado, paqueteViewModel, listaBeneficios)); continue; } int tiempoRestante = (item.fecha_fin.Value - DateTime.Now).Days; var duracion = (item.fecha_fin.Value - item.fecha_inicio.Value).Days; var porcentajeDuracion = (int)((tiempoRestante * 100.0) / duracion); if (porcentajeDuracion < 0) { porcentajeDuracion = 0; } var imagenPrincipal = item.Fotos_Anuncio.Where(foto => foto.principal == true).FirstOrDefault()?.ruta ?? string.Empty; lista.Add(new AnuncioViewModel(item.id, item.titulo, item.estado, porcentajeDuracion, imagenPrincipal, paqueteViewModel, listaBeneficios)); } _dbContext.Database.Connection.Close(); var fixedOrder = new List <EstadoAnuncio>() { EstadoAnuncio.NoAprobado, EstadoAnuncio.Vacio, EstadoAnuncio.PendientePorAprobar, EstadoAnuncio.Aprobado }; List <AnuncioViewModel> listaOrdenada = lista.OrderBy(a => fixedOrder.IndexOf(a.Estado)).ThenBy(a => a.TiempoRestante).ToList(); return listaOrdenada; } })); }
public async Task <ActionResult> DetallesAnuncio(int?id) { if (Startup.GetAplicacionUsuariosManager().VerificarPortalSesion() == LoginStatus.Incorrecto) { return(RedirectToAction("Index", "Home")); } if (id == null) { return(HttpNotFound("Parámetro inválido se espera un id de un anuncio")); } HttpNotFoundResult result = null; AnuncioDetallesViewModel model = null; await Task.Run(() => { using (var _dbContext = new MercampoEntities()) { Startup.OpenDatabaseConnection(_dbContext); if (_dbContext.Database.Connection.State != ConnectionState.Open) { result = HttpNotFound("Error en la base de datos"); } else { var anuncio = _dbContext.Anuncios.Where(a => a.id == id).FirstOrDefault(); if (anuncio == null) { result = HttpNotFound("No se encontro el anuncio con el id solicitado"); } else { var tiempoRestante = (anuncio.fecha_fin.Value - DateTime.Now).Days; var imagenPrincipal = anuncio.Fotos_Anuncio.Where(foto => foto.principal == true).FirstOrDefault()?.ruta ?? string.Empty; var paquete = _dbContext.Paquetes.Where(p => p.id == anuncio.idPaquete).FirstOrDefault(); PaqueteViewModel paqueteViewModel = null; if (paquete != null) { paqueteViewModel = new PaqueteViewModel(paquete.id, paquete.nombre, paquete.meses); } var beneficios = _dbContext.Anuncio_Beneficio.Where(b => b.idAnuncio == anuncio.id); List <BeneficioViewModel> listaBeneficios = new List <BeneficioViewModel>(); foreach (var beneficio in beneficios) { listaBeneficios.Add(new BeneficioViewModel(beneficio.idBeneficio, beneficio.Beneficio.descripcion, beneficio.Beneficio.precio)); } var anuncioModel = new AnuncioViewModel(anuncio.id, anuncio.titulo, anuncio.estado, tiempoRestante, imagenPrincipal, paqueteViewModel, listaBeneficios); var rutaVideo = _dbContext.Videos_Anuncio.Where(v => v.idAnuncio == id).FirstOrDefault()?.ruta; List <FotoViewModel> fotos = new List <FotoViewModel>(); foreach (var foto in anuncio.Fotos_Anuncio) { fotos.Add(new FotoViewModel(foto.principal, foto.ruta)); } model = new AnuncioDetallesViewModel(anuncioModel, anuncio.precio, anuncio.descripcion, anuncio.Subcategoria.Categoria.nombre, anuncio.Subcategoria.nombre, anuncio.Estado1.Pai.nombre, anuncio.Estado1.nombre, fotos, anuncio.fecha_inicio, anuncio.fecha_fin, rutaVideo, anuncio.razonRechazo); } } } }); if (result != null) { return(result); } return(View(model)); }