Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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>"));
            }
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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" }));
            }
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        public ActionResult Details(int id)
        {
            TiendaVirtualDTO tiendaVirtualDTO = _bl.ObtenerTienda(id);

            if (tiendaVirtualDTO == null)
            {
                return(HttpNotFound());
            }
            return(View(tiendaVirtualDTO));
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        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;
            }
        }
Esempio n. 9
0
 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());
     }
 }
Esempio n. 10
0
        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;
            }
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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));
        }
Esempio n. 14
0
 public void ActualizarCSS(TiendaVirtualDTO tiendaDTO)
 {
     _dal.ActualizarCSS(tiendaDTO);
 }