예제 #1
0
        public IActionResult OnGet([FromServices] IWebHostEnvironment env, string name)
        {
            ListProducts = _cache.GetData <List <ProductDTO> >(KEY_CACHE_DISCOUNT);
            int prodId = GetProductId(name);

            FindListImage(0, env.WebRootPath);
            if (ListProducts != null && ListProducts.Count > 0)
            {
                Product = ListProducts.Find(item => item.Id == prodId);
            }
            if (Product == null)
            {
                var productAsset = _productSer.GetListById(new int[] { prodId });
                if (productAsset == null || productAsset?.Count == 0)
                {
                    return(RedirectToPage("/error/" + ErrorType.ProductNotFound));
                }
                var prod = _mapper.Map <ProductDTO>(productAsset.First());
                var ls   = new List <ProductDTO>()
                {
                    prod
                };
                CheckProm(ls);
                Product = ls[0];
            }
            ProductDetail = _productSer.GetDetail(prodId);
            return(Page());
        }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            CocheEN car = new CocheEN();

            CocheEN[] listaCoche = car.ExtraerTipo("Electrico");
            DataTable tabla      = new DataTable();

            tabla.Columns.Add("Imagen");
            tabla.Columns.Add("Marca");
            tabla.Columns.Add("Modelo");
            tabla.Columns.Add("Precio");
            tabla.Columns.Add("Tipo");
            tabla.Columns.Add("Puertas");
            tabla.Columns.Add("Color");
            tabla.Columns.Add("Cambio");

            for (int i = 0; i < listaCoche.Length; i++)
            {
                DataRow row = tabla.NewRow();
                row["Imagen"]  = listaCoche[i].Imagen;
                row["Marca"]   = listaCoche[i].Marca;
                row["Modelo"]  = listaCoche[i].Modelo;
                row["Precio"]  = listaCoche[i].Precio;
                row["Color"]   = listaCoche[i].Color;
                row["Puertas"] = listaCoche[i].Puertas;
                row["Tipo"]    = listaCoche[i].Tipo;
                row["Cambio"]  = listaCoche[i].Cambio;
                tabla.Rows.Add(row);
            }

            ListProducts.DataSource = tabla;
            ListProducts.DataBind();
        }
예제 #3
0
        public async Task <IActionResult> Post([FromServices] ListProducts listProducts, [FromServices] ReadExcelSpreadsheet readExcelSpreadsheet, [FromForm] IFormFile file)
        {
            try
            {
                await readExcelSpreadsheet.Run(file);

                var list = await listProducts.Run();


                var response = new
                {
                    success  = true,
                    products = list
                };

                return(Ok(response));
            }
            catch (System.Exception e)
            {
                var response = new
                {
                    success = false,
                    message = e.Message
                };

                return(BadRequest(response));
            }
        }
        private void GetProductByQuery(HttpContext context, string query, int b, int w, int p = 1)
        {
            string keyCacheNew = $"query-{query}";
            string keyCache    = CookieHelper.GetKeyCache(context);

            if (keyCache == keyCacheNew)
            {
                ListProducts = _cache.GetData <List <ProductDTO> >(keyCache);
            }
            if (ListProducts == null || ListProducts?.Count == 0)
            {
                MapProductDTO(_productSer.FindByQuery(query), ref PageNumber);
                if (ListProducts.Count == 0)
                {
                    return;
                }
                _cache.AddData(keyCacheNew, ListProducts, TimeSpan.FromMinutes(3));
                CookieHelper.AddKeyCache(context, keyCacheNew);
            }
            if (ListProducts?.Count > 0)
            {
                if (b != 0)
                {
                    ListProducts = ListProducts.Where(item => item.BandId == b).ToList();
                }
                if (w != 0)
                {
                    ListProducts = ListProducts.Where(item => item.WireId == w).ToList();
                }
                PageNumber   = CalcPage(ListProducts.Count);
                ListProducts = GetPage(ListProducts, p);
            }
        }
예제 #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["Usuario"] == null)
            {
                Response.Write("<script>window.alert('Debes estar registrado para poder acceder');</script>");
                Response.Redirect("../Pages/Home.aspx");
            }
            else
            {
                ClienteEN cli = new ClienteEN();
                cli = cli.sacarCliente(Session["Usuario"].ToString());
                CestaEN cesta = new CestaEN();
                cesta.SacarCesta(cli.nifCliente);
                DataTable tabla = new DataTable();
                tabla.Columns.Add("Matricula");
                tabla.Columns.Add("Imagen");
                tabla.Columns.Add("Marca");
                tabla.Columns.Add("Modelo");
                tabla.Columns.Add("Precio");
                precio.Text = "Precio total: " + cesta.Precio + " €";
                for (int i = 0; i < cesta.Coches.Count; i++)
                {
                    DataRow row = tabla.NewRow();
                    row["Matricula"] = cesta.Coches[i].Matricula;
                    row["Imagen"]    = cesta.Coches[i].Imagen;
                    row["Marca"]     = cesta.Coches[i].Marca;
                    row["Modelo"]    = cesta.Coches[i].Modelo;
                    row["Precio"]    = cesta.Coches[i].Precio;
                    tabla.Rows.Add(row);
                }

                ListProducts.DataSource = tabla;
                ListProducts.DataBind();
            }
        }
예제 #6
0
        private List <ProductInCart> FindProductInCart(string arProdId)
        {
            var listCartItem = JsonSerializer.Deserialize <List <CartDTO> >(arProdId);

            int[] productIds = listCartItem.Select(item => item.ProductId).ToArray();
            if (productIds.Length == 0)
            {
                return(null);
            }
            MapProductDTO(_productSer.GetListById(productIds));
            var listProductCart = new List <ProductInCart>();

            foreach (var item in listCartItem)
            {
                var product = ListProducts.Find(p => p.Id == item.ProductId);
                listProductCart.Add(new ProductInCart()
                {
                    ProductId      = item.ProductId,
                    ProductName    = $"{product.Name} {product.BandName} {product.WireName}",
                    ProductImage   = product.Image,
                    Quantity       = item.Quantity,
                    Price          = product.Price,
                    PricePromotion = (product.Discount % 1 == 0) ?
                                     (product.Price - product.Discount) :
                                     (product.Price - (product.Price * product.Discount))
                });
            }
            return(listProductCart);
        }
예제 #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string     dni = Request.QueryString["dni"];
            EmpleadoEN em  = new EmpleadoEN();

            EmpleadoEN Empleado = em.SacarEmpleado(dni);

            DataTable tabla = new DataTable();

            tabla.Columns.Add("Dni");
            tabla.Columns.Add("Nombre");
            tabla.Columns.Add("Apellidos");
            tabla.Columns.Add("Direccion");
            tabla.Columns.Add("NumContacto");
            tabla.Columns.Add("Email");
            tabla.Columns.Add("Usuario");
            tabla.Columns.Add("Pass");


            DataRow row = tabla.NewRow();

            row["Dni"]         = Empleado.Dni;
            row["Nombre"]      = Empleado.Nombre;
            row["Apellidos"]   = Empleado.Apellidos;
            row["Direccion"]   = Empleado.Direccion;
            row["NumContacto"] = Empleado.NumContacto;
            row["Email"]       = Empleado.Email;
            row["Usuario"]     = Empleado.Usuario;
            row["Pass"]        = Empleado.Pass;
            tabla.Rows.Add(row);


            ListProducts.DataSource = tabla;
            ListProducts.DataBind();
        }
예제 #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            BonificacionesEN em = new BonificacionesEN();

            BonificacionesEN[] listaBonificacion = em.MostrarBonificaciones();

            DataTable tabla = new DataTable();

            tabla.Columns.Add("IdBonificacion");
            tabla.Columns.Add("Descripcion");
            tabla.Columns.Add("CantidadBonificacion");
            tabla.Columns.Add("Franja");

            for (int i = 0; i < listaBonificacion.Length; i++)
            {
                DataRow row = tabla.NewRow();
                row["IdBonificacion"]       = listaBonificacion[i].IdBonificacion;
                row["Descripcion"]          = listaBonificacion[i].Descripcion;
                row["CantidadBonificacion"] = listaBonificacion[i].CantidadBonificacion;
                row["Franja"] = listaBonificacion[i].Franja;
                tabla.Rows.Add(row);
            }

            ListProducts.DataSource = tabla;
            ListProducts.DataBind();
        }
예제 #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            EmpleadoEN em = new EmpleadoEN();

            EmpleadoEN[] listaEmpleado = em.MostrarEmpleados();

            DataTable tabla = new DataTable();

            tabla.Columns.Add("Dni");
            tabla.Columns.Add("Nombre");
            tabla.Columns.Add("Apellidos");
            tabla.Columns.Add("Direccion");
            tabla.Columns.Add("NumContacto");
            tabla.Columns.Add("Email");
            tabla.Columns.Add("Usuario");
            tabla.Columns.Add("Pass");

            for (int i = 0; i < listaEmpleado.Length; i++)
            {
                DataRow row = tabla.NewRow();
                row["Dni"]         = listaEmpleado[i].Dni;
                row["Nombre"]      = listaEmpleado[i].Nombre;
                row["Apellidos"]   = listaEmpleado[i].Apellidos;
                row["Direccion"]   = listaEmpleado[i].Direccion;
                row["NumContacto"] = listaEmpleado[i].NumContacto;
                row["Email"]       = listaEmpleado[i].Email;
                row["Usuario"]     = listaEmpleado[i].Usuario;
                row["Pass"]        = listaEmpleado[i].Pass;
                tabla.Rows.Add(row);
            }


            ListProducts.DataSource = tabla;
            ListProducts.DataBind();
        }
예제 #10
0
        private void GetSubGroup()
        {
            List <string> tempList = ListProducts.Select(x => x.ProductGroup).OrderBy(x => x).ToList();

            tempList = tempList.Distinct().ToList();
            SubGroup = tempList.Where(s => s.Substring(0, 2).Contains(SelectedMainGroup)).ToList();
            SubGroup = SubGroup.Select(x => x.Substring(3)).ToList();
            NotifyPropertyChanged("");
        }
        public IActionResult Get(string id)
        {
            ListProducts listProducts = new ListProducts {
                ProductId = new Guid(id)
            };
            var result     = _broker.Execute <IEnumerable <ProductProxy> >(listProducts);
            var resultList = new List <ProductProxy>(result);

            return(Ok(resultList[0]));
            //return Ok(new ListProductsResponse { Products = result });
        }
예제 #12
0
        private void EditProduct()
        {
            var element = ListProducts.SelectedItems[0];

            if (element == null)
            {
                return;
            }

            Presenter.EditProduct(int.Parse(element.Tag.ToString()));
            ListProducts.Select();
        }
예제 #13
0
        private void btnDell_Click(object sender, EventArgs e)
        {
            var element = ListProducts.SelectedItems[0];

            if (element == null)
            {
                return;
            }

            Presenter.DeleteProduct(int.Parse(element.Tag.ToString()));
            ListProducts.Select();
        }
 private void ReloadProducts(List <Product> products)
 {
     ListProducts.Clear();
     foreach (var product in products)
     {
         ListProducts.Add(new ProductItemViewModel
         {
             Name      = product.Name,
             ProductId = product.ProductId,
             Value     = product.Value,
         });
     }
 }
예제 #15
0
        private void btedit_Click(object sender, EventArgs e)
        {
            if (gvproducts.SelectedRows.Count == 0)
            {
                MessageBox.Show("Tidak ada barang yang akan diubah");
            }
            else
            {
                var selectedRowId = (int)gvproducts.SelectedRows[0].Cells["id"].Value;
                //var id = Convert.ToInt32(gvproducts.Rows[gvproducts.CurrentCell.RowIndex].Cells["id"].Value);
                var product = ListProducts.FirstOrDefault(x => x.prodid == selectedRowId);
                if (product != null)
                {
                    var form = new ManageProduct();
                    form.Editmode    = true;
                    form.ProductData = product;
                    form.userdata    = userdata;
                    form.ShowDialog();

                    LoadData();

                    foreach (DataGridViewRow row in gvproducts.Rows)
                    {
                        if (((int)row.Cells["id"].Value) == selectedRowId)
                        {
                            gvproducts.Rows[row.Index].Selected = true;
                            break;
                        }
                    }

                    //var updatedProduct = ListProducts.FirstOrDefault(x => x.prodid == selectedRowId);
                    //var brand = ListBrands.FirstOrDefault(x => x.brandid == updatedProduct.brandid);
                    //var prodcat = ListCategories.FirstOrDefault(x => x.catid == updatedProduct.prodcat);
                    //var produnit = ListUnits.FirstOrDefault(x => x.unitid == updatedProduct.produnit);

                    //var currennindex = gvproducts.CurrentCell.RowIndex;

                    //gvproducts.Rows.RemoveAt(currennindex);
                    //gvproducts.Rows.Insert(currennindex,
                    //    updatedProduct.prodid,
                    //    prodcat != null ? prodcat.name : " - ",
                    //    brand != null ? brand.name : " - ",
                    //    updatedProduct.prodcode,
                    //    updatedProduct.name,
                    //    produnit != null ? produnit.unitcode : " - ",
                    //     Utils.ToRupiah(updatedProduct.purchaseprice),
                    //    updatedProduct.barcodeno,
                    //    updatedProduct.stocks);
                }
            }
        }
예제 #16
0
        private async void DeleteProduct(int?obj)
        {
            try
            {
                dc = new DialogContent()
                {
                    Content = "Bạn muốn xóa sản phẩm này ?", Tilte = "Thông Báo"
                };
                var dialogYS = new DialogYesNo()
                {
                    DataContext = dc
                };
                var result = (bool)await DialogHost.Show(dialogYS, DialogHostId);

                if (result)
                {
                    if (obj != null)
                    {
                        if (await product_Repo.Remove((int)obj))
                        {
                            ListProducts.Remove(ListProducts.SingleOrDefault(t => t.ProductID == (int)obj));
                            dc = new DialogContent()
                            {
                                Content = "Xóa Thành Công", Tilte = "Thông Báo"
                            };
                            dialog = new DialogOk()
                            {
                                DataContext = dc
                            };
                            await DialogHost.Show(dialog, DialogHostId);
                        }
                        else
                        {
                            dc = new DialogContent()
                            {
                                Content = "Xóa Thất Bại", Tilte = "Thông Báo"
                            };
                            dialog = new DialogOk()
                            {
                                DataContext = dc
                            };
                            await DialogHost.Show(dialog, DialogHostId);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
예제 #17
0
        public HttpResponse All()
        {
            if (!this.IsUserLoggedIn())
            {
                return(this.Redirect("/Users/Login"));
            }

            var viewModel = new ListProducts
            {
                Products = productService.GetAllProducts().ToList()
            };

            return(this.View(viewModel));
        }
예제 #18
0
        /// <summary>
        /// Um simples request para recuperar produtos e ao mesmo tempo marcar o que o cliente tem como favoritos
        /// </summary>
        /// <param name="pagination"></param>
        /// <param name="idCliente"></param>
        /// <returns></returns>
        public async Task <List <Produto> > GetProdutos(int pagination, string idCliente)
        {
            //primeiramente recupero os produtos da lista de favoritos
            var           produtosFavoritosCliente = _clientesService.GetProdutosByClienteId(idCliente);
            List <string> ids = produtosFavoritosCliente.Select(_ => _.IdProduto).ToList();

            String         ret    = string.Empty;
            List <Produto> result = new List <Produto>();

            try
            {
                ListProducts   list    = null;
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://challenge-api.luizalabs.com/api/product/?page=" + pagination.ToString());
                using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
                    using (Stream stream = response.GetResponseStream())
                        using (StreamReader reader = new StreamReader(stream))
                        {
                            ret = await reader.ReadToEndAsync();

                            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(ListProducts));
                            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(ret));
                            list = (ListProducts)serializer.ReadObject(ms);
                        }

                if (list != null && list.products != null && list.products.Count > 0)
                {
                    foreach (var item in list.products)
                    {
                        Produto p = new Produto();
                        p.IdProduto = item.id;
                        p.Imagem    = item.image;
                        p.Preco     = item.price;
                        p.Titulo    = item.title;

                        //se o produto da lista da magalu estiver na lista de favoritos do cliente, setar favorito = true
                        p.IsFavorito = ids.Contains(p.IdProduto);
                        result.Add(p);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(result);
        }
예제 #19
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string  matricula = Request.QueryString["matricula"];
            CocheEN car       = new CocheEN();

            CocheEN Coche = car.SacarCar(matricula);

            DataTable tabla = new DataTable();

            tabla.Columns.Add("Matricula");
            tabla.Columns.Add("Marca");
            tabla.Columns.Add("Modelo");
            tabla.Columns.Add("Precio");
            tabla.Columns.Add("Puertas");
            tabla.Columns.Add("Motor");
            tabla.Columns.Add("Km");
            tabla.Columns.Add("Anyo");
            tabla.Columns.Add("Tipo");
            tabla.Columns.Add("Plazas");
            tabla.Columns.Add("Cambio");
            tabla.Columns.Add("Color");
            tabla.Columns.Add("Imagen");


            DataRow row = tabla.NewRow();

            row["Matricula"] = Coche.Matricula;
            row["Marca"]     = Coche.Marca;
            row["Modelo"]    = Coche.Modelo;
            row["Precio"]    = Coche.Precio;
            row["Puertas"]   = Coche.Puertas;
            row["Motor"]     = Coche.Motor;
            row["Km"]        = Coche.Km;
            row["Anyo"]      = Coche.Anyo;
            row["Tipo"]      = Coche.Tipo;
            row["Plazas"]    = Coche.Plazas;
            row["Cambio"]    = Coche.Cambio;
            row["Color"]     = Coche.Color;
            row["Imagen"]    = Coche.Imagen;
            tabla.Rows.Add(row);


            ListProducts.DataSource = tabla;
            ListProducts.DataBind();
        }
예제 #20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            CocheEN coc = new CocheEN();

            CocheEN[] listaCoches = coc.MostrarCoches();

            DataTable tabla = new DataTable();

            tabla.Columns.Add("Matricula");
            tabla.Columns.Add("Marca");
            tabla.Columns.Add("Modelo");
            tabla.Columns.Add("Precio");
            tabla.Columns.Add("Puertas");
            tabla.Columns.Add("Motor");
            tabla.Columns.Add("Km");
            tabla.Columns.Add("Anyo");
            tabla.Columns.Add("Tipo");
            tabla.Columns.Add("Plazas");
            tabla.Columns.Add("Cambio");
            tabla.Columns.Add("Color");
            tabla.Columns.Add("Imagen");

            for (int i = 0; i < listaCoches.Length; i++)
            {
                DataRow row = tabla.NewRow();
                row["Matricula"] = listaCoches[i].Matricula;
                row["Marca"]     = listaCoches[i].Marca;
                row["Modelo"]    = listaCoches[i].Modelo;
                row["Puertas"]   = listaCoches[i].Puertas;
                row["Motor"]     = listaCoches[i].Motor;
                row["Km"]        = listaCoches[i].Km;
                row["Anyo"]      = listaCoches[i].Anyo;
                row["Tipo"]      = listaCoches[i].Tipo;
                row["Plazas"]    = listaCoches[i].Plazas;
                row["Cambio"]    = listaCoches[i].Cambio;
                row["Color"]     = listaCoches[i].Color;
                row["Imagen"]    = listaCoches[i].Imagen;
                tabla.Rows.Add(row);
            }


            ListProducts.DataSource = tabla;
            ListProducts.DataBind();
        }
예제 #21
0
        private ListProducts FindProduct(SearchProductRequest request)
        {
            var total           = 0;
            var ds              = _productDa.SearchProduct(request, ref total);
            var lstGroupProduct = CBO.Fill2ListFromDataSet <Products>(ds, typeof(Products));
            var totalPage       = Math.Ceiling(((decimal)total / ConfigInfo.RecordOnPage));
            var paging          = HtmlControllHelpers.WritePaging(totalPage, request.CurrentPage, total, ConfigInfo.RecordOnPage,
                                                                  "nhóm sản phẩm");
            var listGroupProducts = new ListProducts()
            {
                Start       = request.Start,
                Collection  = lstGroupProduct,
                Paging      = paging,
                TotalRecord = total,
                TotalPage   = totalPage,
                CurrentPage = request.CurrentPage
            };

            return(listGroupProducts);
        }
예제 #22
0
        public async void SearchProducts_TextChanged(object sender, TextChangedEventArgs e)
        {
            HttpClient client   = new HttpClient();
            var        response = await client.GetStringAsync(Constantes.Base + "/api/productoss/Getproductos");

            var verprodu       = JsonConvert.DeserializeObject <List <productos> >(response);
            var newproductList = verprodu.Where(i => i.nomproducto.Contains(e.NewTextValue));

            ListProducts.ItemsSource = newproductList;


            ListProducts.BeginRefresh();

            //if (string.IsNullOrWhiteSpace(e.NewTextValue))
            //ListProducts.ItemsSource = verprodu;
            //else
            //ListProducts.ItemsSource = verprodu.Where(i => i.nomproducto.Contains(e.NewTextValue));

            ListProducts.EndRefresh();
        }
예제 #23
0
 private void GetProductDiscount(HttpContext context, int b, int w, int p = 1)
 {
     if (_lsProm?.Count == 0)
     {
         return;
     }
     GetProductDiscount(KEY_CACHE_DISCOUNT);
     //
     if (ListProducts.Count > 0)
     {
         CookieHelper.AddKeyCache(context, KEY_CACHE_DISCOUNT);
         if (b != 0)
         {
             ListProducts = ListProducts.Where(item => item.BandId == b).ToList();
         }
         if (w != 0)
         {
             ListProducts = ListProducts.Where(item => item.WireId == w).ToList();
         }
         PageNumber   = CalcPage(ListProducts.Count);
         ListProducts = GetPage(ListProducts, p);
     }
 }
예제 #24
0
 private void btnNew_Click(object sender, EventArgs e)
 {
     Presenter.CreateProduct();
     ListProducts.Select();
 }
 public Products()
 {
     InitializeComponent();
     ltPct = new ListProducts();
     this.OpenForms(ltPct);
 }
예제 #26
0
 /// <summary>
 /// Pases selected category from one user control to another
 /// </summary>
 /// <param name="categoryID">ID of the selected category</param>
 protected void PassSelCategoryHandlerMethod(string categoryID)
 {
     ListProducts.CategoryID = categoryID;
     ListProducts.UpdateProductList();
 }
예제 #27
0
 private void GetProductGroups()
 {
     MainGroup = ListProducts.Select(x => x.ProductGroup.Substring(0, 2)).OrderBy(x => x).ToList();
     MainGroup = MainGroup.Distinct().ToList();
 }