public void ActualizarTiendas(TiendaVirtualDTO tiendaDTO) { try { var tienda = db.TiendaVirtual.FirstOrDefault(r => r.TiendaVitualId == tiendaDTO.TiendaVitualId); if (tienda != null) { tienda.Nombre = tiendaDTO.Nombre; tienda.Dominio = tiendaDTO.Dominio; //tienda.StringConection = tiendaDTO.StringConection; tienda.Logo = tiendaDTO.Logo; //tienda.Estado = tienda.Estado; //tienda.Css = tiendaDTO.Css; tienda.Descripcion = tiendaDTO.Descripcion; //tienda.ListaImagenes = tiendaDTO.ListaImagenes; //Mapper.Map(tiendaDTO, tienda); //Mapper.Map(tiendaDTO.ListaImagenes, tienda.Imagenes); db.SaveChanges(); } } catch (Exception ex) { throw ex; } }
public ActionResult DeleteImage(string Name, string Uri, int id) { TiendaVirtualDTO tienda = _bl.ObtenerTienda(id); Uri uri = new Uri(Uri); string filename = Path.GetFileName(uri.LocalPath); CloudBlobContainer blobContainer = _bss.GetContainerTienda(tienda.Dominio); CloudBlockBlob blob = blobContainer.GetBlockBlobReference(filename); bool ok = _bl.EliminarImagenTienda(tienda.TiendaVitualId, Name); if (ok) { blob.Delete(); ViewBag.mensaje = "Prueba"; ViewBag.tipo = "Prueba"; return(Content("<script language='javascript' type='text/javascript'>mensaje('Tienda Virtual', 'Solo se permite crear una tienda virtual por usuario', 'error');</script>")); } else { ViewBag.mensaje = ""; ViewBag.tipo = ""; return(Content("<script language='javascript' type='text/javascript'>mensaje('Tienda Virtual', 'Solo se permite crear una tienda virtual por usuario', 'error');</script>")); } }
public ActionResult Upload(int id, string mensaje, string tipo) { TiendaVirtualDTO tienda = _bl.ObtenerTienda(id); //CloudBlobContainer blobContainer = _bss.GetContainerTienda(tienda.Dominio); //List<string> blobs = new List<string>(); //foreach (var blob in blobContainer.ListBlobs()) //{ // blobs.Add(blob.Uri.ToString()); //} if (mensaje == null) { mensaje = ""; } if (tipo == null) { tipo = ""; } ViewBag.Imagenes = _bl.ObtenerImagenes(id); ViewBag.mensaje = mensaje; ViewBag.tipo = tipo; return(View(tienda)); }
public ActionResult Upload(TiendaVirtualDTO tienda, HttpPostedFileBase image) { TiendaVirtualDTO tiendaDTO = _bl.ObtenerTienda(tienda.TiendaVitualId); if (image.ContentLength < 2097152) { var nombreFoto = tienda.Dominio + Guid.NewGuid().ToString() + "_portada"; CloudBlobContainer blobContainer = _bss.GetContainerTienda(tienda.Dominio); CloudBlockBlob blob = blobContainer.GetBlockBlobReference(nombreFoto); ImagenesDTO imagen = new ImagenesDTO(); imagen.TiendaId = tiendaDTO.TiendaVitualId; imagen.Nombre = nombreFoto; imagen.UrlImagenMediana = blob.Uri.ToString(); _bl.AgregarImagenTienda(imagen); blob.UploadFromStream(image.InputStream); return(RedirectToAction("Upload", "TiendaVirtual", new { id = tiendaDTO.TiendaVitualId, mensaje = "Se agrego la imagen correctamente", tipo = "success" })); } else { return(RedirectToAction("Upload", "TiendaVirtual", new { id = tiendaDTO.TiendaVitualId, mensaje = "Tamaño maximo 2 MB", tipo = "warning" })); } }
public Correo correoSinOfertas(string tenant, Subasta subasta) { Correo correo = new Correo(); try { TiendaVirtualDTO tienda = datos_tienda(tenant); System.Diagnostics.Debug.WriteLine("Entro correoVendedor DAL"); _idal = new DALUsuario(); Usuario vendedor = _idal.GetUsuario(tenant, subasta.id_Vendedor); //Subasta subasta = ObtenerSubasta(tenant, idSubasta); correo.destinatario = vendedor.email; correo.asunto = "Lo sentimos " + vendedor.nick + ". El articulo finalizo sin ofertas "; correo.mensaje = "Articulo : " + subasta.titulo + " .Precio base " + subasta.precio_Base + " .Fecha : " + DateTime.Now.ToString() + System.Environment.NewLine + " Sitio " + tenant + "chebay.com"; System.Diagnostics.Debug.WriteLine("Salgo correoVendedor DAL "); } catch (Exception) { throw; } return(correo); }
public ActionResult Details(int id) { TiendaVirtualDTO tiendaVirtualDTO = _bl.ObtenerTienda(id); if (tiendaVirtualDTO == null) { return(HttpNotFound()); } return(View(tiendaVirtualDTO)); }
public ActionResult Edit([Bind(Include = "TiendaVitualId,Nombre,Dominio,Descripcion,Logo,Fecha_creacion,Estado,Css,StringConection")] TiendaVirtualDTO tiendaVirtualDTO, HttpPostedFileBase logo) { if (ModelState.IsValid) { CloudBlobContainer blobContainer = _bss.GetContainerTienda(tiendaVirtualDTO.Dominio); if (logo != null) { if (logo.ContentLength > 0) { //Elminar foto anterior //TiendaVirtualDTO old = _bl.ObtenerTienda(tiendaVirtualDTO.TiendaVitualId); //CloudBlockBlob blobOld = blobContainer.GetBlockBlobReference("Nombreblob"); //blobOld.Delete(); var nombreFoto = tiendaVirtualDTO.Dominio + Guid.NewGuid().ToString() + "_logo"; CloudBlockBlob blob = blobContainer.GetBlockBlobReference(nombreFoto); blob.UploadFromStream(logo.InputStream); tiendaVirtualDTO.Logo = blob.Uri.ToString(); } } else { TiendaVirtualDTO old = _bl.ObtenerTienda(tiendaVirtualDTO.TiendaVitualId); tiendaVirtualDTO.Logo = old.Logo; } //string strMappath = "~/imagenes/"; //// guardar imagen //if (logo != null) //{ // //var nombreFoto = juego.Nombre + "_" + Guid.NewGuid().ToString() + "_" + Path.GetFileName(foto.FileName); // var nombreFoto = tiendaVirtualDTO.Nombre + Guid.NewGuid().ToString() + Path.GetExtension(logo.FileName); // var rutaFoto = Path.Combine(Server.MapPath(strMappath), nombreFoto); // logo.SaveAs(rutaFoto); // tiendaVirtualDTO.Logo = strMappath + nombreFoto; //} //else //{ // tiendaVirtualDTO.Logo = "~/Imagenes/tiendadefault.png"; //} _bl.ActualizarTiendas(tiendaVirtualDTO); return(RedirectToAction("Index")); } return(View(tiendaVirtualDTO)); }
public void AgregarTienda(TiendaVirtualDTO tiendaDTO) { try { //var tienda = Mapper.Map<TiendaVirtual>(tiendaDTO); //tiendaDTO.ListaImagenes = Mapper.Map<ICollection<Imagenes>>(tiendaDTO.ListaImagenes); db.TiendaVirtual.Add(tiendaDTO); db.SaveChanges(); } catch (Exception ex) { throw ex; } }
public void AgregarTienda(TiendaVirtualDTO tiendaDTO) { try { _dal.AgregarTienda(tiendaDTO); _tenant.AgregarTenant(tiendaDTO.Dominio.ToString()); _tenant.AgregarHost(tiendaDTO.Dominio.ToString()); //Console.WriteLine("Paso crear Tenant"); } catch (Exception e) { Console.WriteLine("Error al crear Tenant", e.ToString()); } }
public void ActualizarCSS(TiendaVirtualDTO tiendaDTO) { try { var tienda = db.TiendaVirtual.FirstOrDefault(r => r.TiendaVitualId == tiendaDTO.TiendaVitualId); if (tienda != null) { tienda.Css = tiendaDTO.Css; tienda.ListaImagenes = tiendaDTO.ListaImagenes; //Mapper.Map(tiendaDTO, tienda); //Mapper.Map(tiendaDTO.ListaImagenes, tienda.Imagenes); db.SaveChanges(); } } catch (Exception ex) { throw ex; } }
public TiendaVirtualDTO datos_tienda(string tenant) { TiendaVirtualDTO tienda = null; try { IDALTiendaVirtual _itienda = new DALTiendaVirtualEF(); List <TiendaVirtualDTO> tiendas = _itienda.ObtenerTiendas(); foreach (var item in tiendas) { if (item.Dominio.Equals(tenant)) { tienda = (TiendaVirtualDTO)item; } } } catch (Exception) { throw; } return(tienda); }
public override List <Subasta> getRecomendaciones(int tenantId, int idUsuario, List <TprodXCant> tipoProd, int cantRetorno) { IBLUsuario usuIBL = new BLUsuario(); IBLTipoProducto tprodIBL = new BLTipoProducto(); IBLSubasta subIBL = new BLSubasta(); IBLTiendaVirtual tienda = new BLTiendaVirtual(); Random rnd = new Random(); List <Subasta> subastasRecomendadas = new List <Subasta>(); List <Subasta> subastasRecomendadasAux = new List <Subasta>(); TiendaVirtualDTO tenant = tienda.ObtenerTienda(tenantId); if (tipoProd.Count > 0) { int totalDeNFavoritos = 0; foreach (var auxTotal in tipoProd) { totalDeNFavoritos = totalDeNFavoritos + auxTotal.cantidad; } foreach (var item in tipoProd) { int calculo = item.cantidad * cantRetorno / totalDeNFavoritos;//calcula el "porcentaje" de ese tipo de producto en la lista subastasRecomendadasAux = subIBL.ObtenerSubastasByTipoProducto(tenant.Dominio, item.idTProd); if (subastasRecomendadasAux.Count > 0) { for (int i = 0; i < calculo; i++) { if (subastasRecomendadasAux.Count == 1) { subastasRecomendadas.Add(subastasRecomendadasAux.ElementAt(rnd.Next(subastasRecomendadasAux.Count)));//obtiene subastas de forma ramdom } else { subastasRecomendadas.Add(subastasRecomendadasAux.ElementAt(rnd.Next(subastasRecomendadasAux.Count - 1)));//obtiene subastas de forma ramdom } } } } } if (subastasRecomendadas.Count == 0)//obtener recomendaciones genericas { var usuario = usuIBL.GetUsuario(tenant.Dominio, idUsuario); if (usuario != null) { char[] delimiterChars = { ';' }; string preferencias = usuario.preferencias; string[] categoriasPreferentes = preferencias.Split(delimiterChars); int calculo = cantRetorno / categoriasPreferentes.Length; IBLCategoria catIBL = new BLCategoria(); List <TipoProductoDTO> listTipoProd = new List <TipoProductoDTO>(); List <Subasta> listSubastas = new List <Subasta>(); foreach (string c in categoriasPreferentes) { var categoria = catIBL.ObtenerCategoriaByNombre(tenantId, c); // listTipoProd = tprodIBL.ObtenerTipoPorCategoria(categoria.CategoriaId); // foreach (var tProd in listTipoProd) //{ listSubastas = subIBL.ObtenerSubastasActivasxCategoria(tenant.Dominio, categoria.CategoriaId); foreach (var sub in listSubastas) { subastasRecomendadasAux.Add(sub); } } if (subastasRecomendadasAux.Count > 0) { for (int i = 0; i < calculo; i++) { if (subastasRecomendadasAux.Count == 1) { subastasRecomendadas.Add(subastasRecomendadasAux.ElementAt(rnd.Next(subastasRecomendadasAux.Count))); //obtiene subastas de forma ramdom } else { subastasRecomendadas.Add(subastasRecomendadasAux.ElementAt(rnd.Next(subastasRecomendadasAux.Count - 1))); //obtiene subastas de forma ramdom } } } subastasRecomendadasAux = null; } } if (subastasRecomendadas.Count == 0) { List <Subasta> listSubastas = subIBL.ObtenerSubastasActivas(tenant.Dominio); if (listSubastas.Count > 0) { for (int i = 0; i < cantRetorno; i++) { if (listSubastas.Count == 1) { subastasRecomendadas.Add(listSubastas.ElementAt(rnd.Next(listSubastas.Count))); //obtiene subastas de forma ramdom } else { subastasRecomendadas.Add(listSubastas.ElementAt(rnd.Next(listSubastas.Count - 1))); //obtiene subastas de forma ramdom } } } } return(subastasRecomendadas); }
public ActionResult Create([Bind(Include = "TiendaVitualId,Nombre,Dominio,Descripcion,Logo,Fecha_creacion,Estado,Css,StringConection")] TiendaVirtualDTO tiendaVirtualDTO, HttpPostedFileBase logo) { tiendaVirtualDTO.UsuarioId = User.Identity.GetUserId(); var num = _bl.ObtenerTiendaDelUsuario(tiendaVirtualDTO.UsuarioId).Count(); if (num < 1) { if (ModelState.IsValid) { var dominio_temp = tiendaVirtualDTO.Dominio.ToLower(); var dominio = ""; try { dominio = Regex.Replace(dominio_temp, @"\s+", ""); tiendaVirtualDTO.Dominio = dominio; } catch (Exception e) { throw e; } CloudBlobContainer blobContainer = _bss.GetContainerTienda(tiendaVirtualDTO.Dominio); if (logo != null) { if (logo.ContentLength > 0) { var nombreFoto = tiendaVirtualDTO.Dominio + Guid.NewGuid().ToString() + "_logo"; CloudBlockBlob blob = blobContainer.GetBlockBlobReference(nombreFoto); blob.UploadFromStream(logo.InputStream); tiendaVirtualDTO.Logo = blob.Uri.ToString(); } } else { var path = Server.MapPath(@"~/Imagenes/tiendadefault.png"); var nombreFoto = tiendaVirtualDTO.Dominio + Guid.NewGuid().ToString() + "_logo"; //byte[] imgDefault = System.IO.File.ReadAllBytes(path); FileStream fs = new FileStream(path, FileMode.Create); CloudBlockBlob blob = blobContainer.GetBlockBlobReference(nombreFoto); blob.UploadFromStream(fs); tiendaVirtualDTO.Logo = blob.Uri.ToString(); } ////string strMappath = "~/imagenes/" + tiendaVirtualDTO.Nombre; //string strMappath = "~/imagenes/"; //try //{ // if (logo != null) // { // //var nombreFoto = juego.Nombre + "_" + Guid.NewGuid().ToString() + "_" + Path.GetFileName(foto.FileName); // var nombreFoto = tiendaVirtualDTO.Nombre + Guid.NewGuid().ToString() + Path.GetExtension(logo.FileName); // var rutaFoto = Path.Combine(Server.MapPath(strMappath), nombreFoto); // logo.SaveAs(rutaFoto); // tiendaVirtualDTO.Logo = strMappath + nombreFoto; // } // else // { // tiendaVirtualDTO.Logo = "~/Imagenes/tiendadefault.png"; // } //} //catch (Exception e) //{ // Console.WriteLine("The process failed: {0}", e.ToString()); //} var fileContents = System.IO.File.ReadAllText(Server.MapPath(@"~/Content/Site.css")); //Controlo que el dominio sea en minuscula // tiendaVirtualDTO.Dominio = dominio; tiendaVirtualDTO.Css = fileContents.ToString(); tiendaVirtualDTO.Fecha_creacion = System.DateTime.Now; tiendaVirtualDTO.Estado = true; tiendaVirtualDTO.StringConection = "StringConection"; _bl.AgregarTienda(tiendaVirtualDTO); // IIS AGREGO SITIO //127.0.0.1:80:sitio.chebay.com //ServerManager iisManager = new ServerManager(); //iisManager.Sites.Add(dominio, "http", "127.0.0.1:80:"+dominio+".chebay.com", "C:\\inetpub\\wwwroot\\Site"); //iisManager.CommitChanges(); //ServerManager manager = new ServerManager(); try { IHosts _hosts = new Hosts(); _hosts.AgregarSitio(dominio); // Add this site. /*Site hrSite = manager.Sites.Add(name, "http", "*:80:", path); * // The site will need to be started manually. * hrSite.ServerAutoStart = false; * manager.CommitChanges(); * Console.WriteLine("Site " + name + " added to ApplicationHost.config file.");*/ /*ServerManager serverMgr = new ServerManager(); * string strWebsitename = dominio; // abc * string strApplicationPool = dominio.ToUpper(); // set your deafultpool :4.0 in IIS * string strhostname = dominio+".chebay.com"; //abc.com * string stripaddress = "127.0.0.1";// ip address * string bindinginfo = stripaddress + ":80:" + strhostname;*/ //check if website name already exists in IIS //ServerManager serverMgr = new ServerManager(); //Site mySite = serverMgr.Sites.Add(dominio.ToUpper(), "C:\\inetpub\\wwwroot\\Site", 80); //serverMgr.ApplicationPools.Add("DefaultAppPool"); //mySite.ApplicationDefaults.ApplicationPoolName = "DefaultAppPool"; //mySite.TraceFailedRequestsLogging.Enabled = true; //mySite.TraceFailedRequestsLogging.Directory = "C:\\inetpub\\wwwroot\\site"; //serverMgr.CommitChanges(); /* Site mySite = serverMgr.Sites.Add(strWebsitename.ToString(), "http", bindinginfo, "C:\\inetpub\\wwwroot"); * mySite.ApplicationDefaults.ApplicationPoolName = strApplicationPool; * mySite.TraceFailedRequestsLogging.Enabled = true; * mySite.TraceFailedRequestsLogging.Directory = "C:\\inetpub\\wwwroot\\Site"; * serverMgr.CommitChanges();*/ //lblmsg.Text = "New website " + strWebsitename + " added sucessfully"; //lblmsg.ForeColor = System.Drawing.Color.Green; } catch (Exception e) { throw e; } // IIS AGREGO SITIO return(RedirectToAction("Index")); } } else { return(RedirectToAction("Index")); } return(View(tiendaVirtualDTO)); }
public void ActualizarCSS(TiendaVirtualDTO tiendaDTO) { _dal.ActualizarCSS(tiendaDTO); }