private void ReloadEditProduct(ProductDetailViewModel productDetailViewModel)
        {
            ProductItemViewModel product = null;

            switch (ProductFilters.Instance.ProductType)
            {
            case ProductType.WillBeExpired:
                product = viewModel.WillBeExpiredProducts.FirstOrDefault(x => x.Id == productDetailViewModel.Id);
                break;

            case ProductType.None:
                product = viewModel.Products.FirstOrDefault(x => x.Id == productDetailViewModel.Id);
                break;

            default:
                break;
            }
            if (product != null)
            {
                product.Area       = productDetailViewModel.Area;
                product.RentPrice  = productDetailViewModel.RentPrice;
                product.SalePrice  = productDetailViewModel.SalePrice;
                product.RentUnit   = productDetailViewModel.SelectedRentUnit.Name;
                product.SaleUnit   = productDetailViewModel.SelectedSaleUnit.Name;
                product.RentUnitId = productDetailViewModel.SelectedRentUnit.Id;
                product.SaleUnitId = productDetailViewModel.SelectedSaleUnit.Id;
                product.IsHot      = productDetailViewModel.IsHot ?? false;
                product.OwnerInfo  = new OwnerInfoViewModel
                {
                    Name   = productDetailViewModel.OwnerName,
                    Mobile = productDetailViewModel.Mobile
                };
                product.UpdatedDate = DateTime.Now;
            }
        }
        public JsonResult Index(int page = 1, int rows = 10, string filterValue = "")
        {
            ContractListCondition condition = new ContractListCondition()
            {
                IsEnable    = true,
                ListInclude = ContractListInclude.SaleContractOnly | ContractListInclude.WithAggregations
                              | ContractListInclude.WithoutContractStatusAuditNoPass | ContractListInclude.WithoutContractStatusNotAudited
                              | ContractListInclude.WithProductStock | ContractListInclude.WithSaleCompensation,
                Rows       = rows,
                Page       = page,
                OrderField = ContractOrderField.CTIME_ASC,
                UserName   = HttpContext.User.Identity.Name
            };

            //FIXED 销售合同待发货列表
            //不管现货期货,只要SaleProductItem状态是未发货即可
            ProductItemViewModel viewModels = ContractManager.Instance.GetIndexListProductItemsForShipment(
                HttpContext.GetOwinContext(), db, condition);

            if (viewModels != null && viewModels.IsEnable == true)
            {
                int count = 0;
                if (viewModels.Aggregations != null && viewModels.Aggregations.IsEnable.GetValueOrDefault())
                {
                    count = viewModels.Aggregations.Count.GetValueOrDefault();
                }

                return(Json(new { total = count, rows = viewModels.SaleProductItems }));
            }

            return(Json(this.GetModelStateErrors(ModelState)));
        }
        async void Handle_SelectionChanged(object sender, Syncfusion.ListView.XForms.ItemSelectionChangedEventArgs e)
        {
            ProductItemViewModel product = null;

            switch (ProductFilters.Instance.ProductType)
            {
            case ProductType.Deleted:
                product = (ProductItemViewModel)deletedProduct.SelectedItem;
                break;

            case ProductType.Expired:
                product = (ProductItemViewModel)expiredProduct.SelectedItem;
                break;

            case ProductType.WillBeExpired:
                product = (ProductItemViewModel)onExpiringProduct.SelectedItem;
                break;

            default:
                product = (ProductItemViewModel)productList.SelectedItem;
                break;
            }
            ProductFilters.Instance.IsLoadPreviousPosition = true;
            await Navigation.PushAsync(new ProductViewPage(product));
        }
Exemplo n.º 4
0
        private IProductDTO getProductDTO(ProductItemViewModel productMaster, bool creatingProduct)
        {
            IProductDTO product = (IProductDTO)DTOFactory.Instance.Create(DTOType.Product);

            try
            {
                product.ProductId   = 1;
                product.Name        = "Pay TTm";// productMaster.Title.Trim();
                product.Content     = productMaster.Content.Trim();
                product.ContentText = productMaster.ContentText;
                if (creatingProduct)
                {
                    //product.CreatedBy = this.LoggedInUserID;
                }

                /*   else
                 * {
                 *     help.ModifiedBy = this.LoggedInUserID;
                 *     if (!string.IsNullOrEmpty(helpMaster.HelpCode))
                 *        help.HelpCode = helpMaster.HelpCode.Trim();
                 * } */
            }
            catch (Exception ex)
            {
                //ExceptionManager.HandleException(ex);
            }
            return(product);//
        }
Exemplo n.º 5
0
        public async Task <ActionResult> Delete(ProductItemViewModel productItem)
        {
            try
            {
                // TODO: Add delete logic here
                var combos = await _comboProductService.GetAllByProductItemIdAsync(productItem.Id);

                foreach (var combo in combos)
                {
                    if (await _comboService.GetComboMealAsync(combo.ComboId) != null)
                    {
                        await _comboService.DeleteComboMealAsync(combo.ComboId);
                    }
                }
                var deletedProduct = await _productItemService.DeleteProductItemAsync(productItem.Id);

                if (deletedProduct != null)
                {
                    TempData["Message"] = "Product deleted successfully";
                    return(RedirectToAction(nameof(Index)));
                }
                return(View());
            }
            catch
            {
                return(View());
            }
        }
Exemplo n.º 6
0
        public ProductItem ViewModelToEntity(ProductItemViewModel productViewModel)
        {
            var productItem = new ProductItem(productViewModel.Id, productViewModel.Modelo, productViewModel.Value);

            productItem.SetProduct(new Product(productViewModel.IdProduct.GetValueOrDefault(), null));
            return(productItem);
        }
Exemplo n.º 7
0
        public ProductDetailPage(ProductItemViewModel productItemViewModel = null, bool isFromProductPage = true)
        {
            try
            {
                InitializeComponent();
                map.PinDragEnd += Map_PinDragEnd;
            }
            catch (Exception ex)
            {
            }

            viewModel                      = new ProductDetailViewModel();
            _isFromProductPage             = isFromProductPage;
            BindingContext                 = viewModel;
            dialogService                  = new DialogService();
            viewModel.ProductItemViewModel = productItemViewModel;
            if (productItemViewModel != null)
            {
                viewModel.AllowEditProductCode = false;
                viewModel.AllowEditHouseNumber = false;
                viewModel.AllowEditOwnerNumber = false;
                viewModel.AllowEditTown        = false;
                if (productItemViewModel.CreatorId != App.AccountInfo.Id)
                {
                    viewModel.ShowOwnerName = false;
                }
            }
        }
Exemplo n.º 8
0
        public async Task <IActionResult> AddItemCart(ProductItemViewModel item)
        {
            if (!_user.IsAuthenticated())
            {
                return(RedirectToAction("Login", "Identity"));
            }

            var product = await _catalogService.GetById(item.ProductId);

            ValidateCart(product, item.Quantity);

            if (!ValidOperation())
            {
                return(View("Index", await _cartService.GetCart()));
            }

            item.Name  = product.Name;
            item.Value = product.Value;
            item.Image = product.Image;

            var response = await _cartService.AddItemCart(item);

            if (HasErrorsResponse(response))
            {
                return(View("Index", await _cartService.GetCart()));
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 9
0
        //[Route("seo/Coupons/{permalink}")]
        public ActionResult Index(string seoParam)
        {
            /* var blogDAC = new BlogDAC();
             * List<BlogDTO> blogs = new List<BlogDTO>();
             * BlogViewModels blogModels = new BlogViewModels();
             * blogModels.Blogs = new List<BlogViewModel>();
             * blogs = blogDAC.ReadAllBlogs();
             * foreach (var blogDto in blogs)
             * {
             *   var blogModel = new BlogViewModel();
             *   blogModel.Description = blogDto.Description;
             *   blogModels.Blogs.Add(blogModel);
             * }*/
            var seoTitle = Request.RawUrl.Replace("/Coupons/", "");

            var productDAC       = new ProductDAC();
            var productDto       = productDAC.ReadProductBySeoTitle(seoTitle);
            var productItemModel = new ProductItemViewModel();

            productItemModel.Description = productDto.Description;
            productItemModel.Name        = productDto.Name;
            productItemModel.SeoTitle    = productDto.SeoTitle;
            productItemModel.ImageURL    = productDto.ImageURL;

            if (seoTitle.IsNullOrWhiteSpace() || productItemModel.SeoTitle.IsNullOrWhiteSpace() || seoTitle == "Index")
            {
                return(RedirectToAction("FourOhFour", "Other"));
            }


            return(View(productItemModel));
        }
Exemplo n.º 10
0
        public HttpResponseMessage SaveProduct(ProductItemViewModel vm)
        {
            var productExist = _productList.FirstOrDefault(p => p.ProductCode == vm.ProductCode);

            if (productExist == null)
            {
                _productList.Add(new Product
                {
                    ProductCode = vm.ProductCode,
                    ProductName = vm.ProductName,
                    Description = vm.Description,
                    Category    = vm.Category,
                    Cost        = vm.Cost,
                    Price       = vm.Price,
                    ReleaseDate = vm.Available,
                    Tags        = vm.Tags
                });
            }
            else
            {
                productExist.ProductCode = vm.ProductCode;
                productExist.ProductName = vm.ProductName;
                productExist.Description = vm.Description;
                productExist.Category    = vm.Category;
                productExist.Cost        = vm.Cost;
                productExist.Price       = vm.Price;
                productExist.ReleaseDate = vm.Available;
                productExist.Tags        = vm.Tags;
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
Exemplo n.º 11
0
        public ActionResult Index(string permalink)
        {
            /* var blogDAC = new BlogDAC();
             * List<BlogDTO> blogs = new List<BlogDTO>();
             * BlogViewModels blogModels = new BlogViewModels();
             * blogModels.Blogs = new List<BlogViewModel>();
             * blogs = blogDAC.ReadAllBlogs();
             * foreach (var blogDto in blogs)
             * {
             *   var blogModel = new BlogViewModel();
             *   blogModel.Description = blogDto.Description;
             *   blogModels.Blogs.Add(blogModel);
             * }*/

            var productDAC = new ProductDAC();
            List <IProductDTO> products   = new List <IProductDTO>();
            ProductViewModel   blogModels = new ProductViewModel();

            blogModels.Products = new List <ProductItemViewModel>();
            products            = productDAC.ReadAllProducts();
            foreach (var blogDto in products)
            {
                var blogModel = new ProductItemViewModel();
                blogModel.Description = blogDto.Description;
                blogModel.Name        = blogDto.Name;
                blogModel.SeoTitle    = blogDto.SeoTitle;
                blogModel.ImageURL    = blogDto.ImageURL;

                blogModels.Products.Add(blogModel);
            }


            return(View(blogModels));
        }
Exemplo n.º 12
0
        // VIOLACIÓN DEL PATRON DE ARQUITECTURA
        // EL API NO DEVUELVE UNA RESPUESTA ADECUADA
        // LA COMUNICACIÓN DEBE SER UNICAMENTE ENTRE EL MODELO Y EL HELPER
        // CORREGIR
        // PRIORIDAD: **
        //---------------

        public static ProductLocal ToProductLocal(ProductItemViewModel product)
        {
            return(new ProductLocal
            {
                Title = product.Title,
                Body = product.Body
            });
        }
Exemplo n.º 13
0
 public ProductItemView(Product product = null)
 {
     InitializeComponent();
     BindingContext = viewModel = new ProductItemViewModel(product)
     {
         Navigation = Navigation
     };
     btnDelete.IsEnabled = (product != null);
 }
Exemplo n.º 14
0
        public ProductItemViewModel BuildProductItem(GenericProduct product)
        {
            var viewModel = new ProductItemViewModel(product);

            PopulatePrices(product, viewModel);
            PopulateImage(product, viewModel);

            return(viewModel);
        }
Exemplo n.º 15
0
        // GET: Admin/ProductItem/Create
        public async Task <ActionResult> Create()
        {
            var model = new ProductItemViewModel
            {
                Items    = await db.Items.ToListAsync(),
                Products = await db.Products.ToListAsync()
            };

            return(View(model));
        }
Exemplo n.º 16
0
        public ActionResult <int> Post([FromBody] ProductItemViewModel value)
        {
            ProductItem item = new ProductItem();

            item.Name       = value.Name;
            item.CategoryId = value.CategoryId;
            item.Price      = value.Price;
            item.Image      = value.Image;
            return(_db.AddProductItem(item));
        }
Exemplo n.º 17
0
        private ProductItemViewModel GetProductItemModel(Product p)
        {
            var itemModel = new ProductItemViewModel(p);

            itemModel.Stock = db.Stocks.Any(s => s.ProductId == p.Id)
                ? db.Stocks
                              .Where(s => s.ProductId == p.Id)
                              .Sum(s => s.StockQuantity)
                : 0;
            return(itemModel);
        }
Exemplo n.º 18
0
        public ActionResult <bool> Put(int id, [FromBody] ProductItemViewModel value)
        {
            ProductItem item = new ProductItem();

            item.Id         = id;
            item.Name       = value.Name;
            item.CategoryId = value.CategoryId;
            item.Price      = value.Price;
            item.Image      = value.Image;
            return(_db.UpdateProductItem(item));
        }
Exemplo n.º 19
0
        public ActionResult Delete(ProductItemViewModel model)
        {
            var product = _context.Products.SingleOrDefault(p => p.Id == model.Id);

            if (product != null)
            {
                _context.Products.Remove(product);
                _context.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(model));
        }
        public ProductItemViewModelTest()
        {
            productVM = new ProductItemViewModel(

                new ProductModel()
            {
                _id          = 1,
                _productName = "DummyTofu",
                _price       = 15.0f,
                _category    = "Food"
            });
        }
Exemplo n.º 21
0
        public async Task <ResponseResult> AddItemCart(ProductItemViewModel item)
        {
            var product = GetContent(item);

            var response = await _httpClient.PostAsync("/cart/", product);

            if (!HandleErrorsResponse(response))
            {
                return(await DeserializerObjectResponse <ResponseResult>(response));
            }

            return(ReturnOk());
        }
Exemplo n.º 22
0
        public async Task <ResponseResult> UpdateCartItem(Guid productId, ProductItemViewModel item)
        {
            var product = GetContent(item);

            var response = await _httpClient.PutAsync($"/cart/{item.ProductId}", product);

            if (!HandleErrorsResponse(response))
            {
                return(await DeserializerObjectResponse <ResponseResult>(response));
            }

            return(ReturnOk());
        }
Exemplo n.º 23
0
        private ProductItemViewModel GetProductItemModel(Product p)
        {
            var itemModel      = new ProductItemViewModel(p);
            var invoiceDetails = db.InvoiceDetails.Where(id => id.ProductId == p.Id && id.Invoice.InvoiceStatusId == 2);
            var stocks         = db.Stocks.Where(s => s.ProductId == p.Id);
            var stock          = !stocks.Any() ? 0 : stocks.Sum(s => s.StockQuantity);
            var inHold         = !invoiceDetails.Any() ? 0 : invoiceDetails.Sum(id => id.Quantity);

            itemModel.Stock = db.Stocks.Any(s => s.ProductId == p.Id)
                ? stock - inHold
                : 0;
            return(itemModel);
        }
Exemplo n.º 24
0
        public async Task <IActionResult> AddToBasket(ProductItemViewModel productDetails)
        {
            if (productDetails?.Id == null)
            {
                return(RedirectToAction("Index", "Products"));
            }

            BasketIndexViewModel basketViewModel = await GetCurrentUserBasket();

            BasketAddItemResponse response = await _basketService.AddItemToBasket(basketViewModel.Id, productDetails.Id, productDetails.Price, 1);

            return(RedirectToAction("Index"));
        }
        public JsonResult Index(int page = 1, int rows = 10, string filterValue = "")
        {
            IOwinContext          owinContext = HttpContext.GetOwinContext();
            ContractListCondition condition   = new ContractListCondition()
            {
                IsEnable    = true,
                OrderField  = ContractOrderField.CONTRACT_KEY_ASC,
                OrderType   = 1,
                Page        = 1,
                Rows        = 10,
                ListInclude = //条件:只返回采购+不包含未审核通过或者未经审核
                              //+带有港口代理+内地物流+香港物流+采购索赔信息
                              //需要返回Count
                              ContractListInclude.OrderContractOnly
                              | ContractListInclude.WithoutContractStatusAuditNoPass
                              | ContractListInclude.WithoutContractStatusNotAudited
                              | ContractListInclude.WithHarborAgent
                              | ContractListInclude.WithHongkongLogistics
                              | ContractListInclude.WithMainlandLogistics
                              | ContractListInclude.WithOrderCompensation
                              | ContractListInclude.WithAggregations,
                UserName = HttpContext.User.Identity.Name
            };
            //ContractManager.Instance.GetIndexListOrderContract(owinContext, db, condition);
            ProductItemViewModel viewModels = ContractManager.Instance
                                              .GetIndexListProductItemsNonStock(
                owinContext, db, condition, null);//不管是否“已经收货”都可以入仓

            if (viewModels == null || viewModels.IsEnable == false)
            {
                return(Json(
                           new
                {
                    total = 0,
                    rows = new List <ProductItemInfo>(),
                    errormessage = viewModels.ErrorMessage,
                }));
            }

            int count = 0;

            if (viewModels.Aggregations.IsEnable.GetValueOrDefault() && viewModels.Aggregations.Count.HasValue)
            {
                count = viewModels.Aggregations.Count.Value;
            }

            return(Json(new { total = count, rows = viewModels.ContractItems }));

            ////FIXED 获取待入库商品列表
            //return null;
        }
Exemplo n.º 26
0
 public ProductViewPage(ProductItemViewModel productItemViewModel)
 {
     InitializeComponent();
     viewModel      = new ProductViewViewModel();
     BindingContext = viewModel;
     viewModel.ProductItemViewModel = productItemViewModel;
     if (productItemViewModel != null)
     {
         if (productItemViewModel.CreatorId != App.AccountInfo.Id)
         {
             viewModel.ShowOwnerName = false;
         }
     }
 }
        private static IHtmlContent BuyButton(this IHtmlHelper htmlHelper, ProductItemViewModel model, string cssClass, bool?isBuyButton)
        {
            var canBuy       = model.ShowBuyButton && (isBuyButton.HasValue && isBuyButton.Value || model.UseVariantUrl) && model.IsInStock;
            var buyButtonTag = new TagBuilder("buy-button");
            var label        = canBuy || (isBuyButton.HasValue && isBuyButton.Value) ? "product.buy".AsWebsiteText() : "product.show".AsWebsiteText();

            cssClass = $"button {(canBuy || (isBuyButton.HasValue && isBuyButton.Value) ? "buy-button" : "show-button")} {cssClass ?? string.Empty}".Trim();
            if (model.ShowBuyButton)
            {
                if (canBuy)
                {
                    var enabled = !string.IsNullOrEmpty(model.Url) && model.Price.HasPrice && model.IsInStock;
                    if (enabled)
                    {
                        var quantityFieldId = model.ShowQuantityField ? $"{model.QuantityFieldId}" : string.Empty;
                        buyButtonTag.Attributes.Add("data-article-number", model.Id);
                        buyButtonTag.Attributes.Add("data-quantity-field-id", quantityFieldId);
                    }
                    else
                    {
                        cssClass += " disabled";
                    }
                }
                else
                {
                    if (isBuyButton.HasValue && isBuyButton.Value)
                    {
                        cssClass += " disabled";
                    }
                    else
                    {
                        buyButtonTag.Attributes.Add("data-href", model.Url);
                    }
                }
            }
            else if (string.IsNullOrEmpty(model.Url))
            {
                cssClass += " disabled";
            }

            if (!string.IsNullOrWhiteSpace(cssClass))
            {
                buyButtonTag.Attributes.Add("data-css-class", cssClass);
            }
            buyButtonTag.InnerHtml.AppendHtml($"<span><a class='{cssClass}'>{label}</a></span>");
            buyButtonTag.Attributes.Add("data-label", label);

            return(buyButtonTag);
        }
Exemplo n.º 28
0
        private ProductItemViewModel GetProductItemModel(Product p)
        {
            var itemModel = new ProductItemViewModel(p);

            itemModel.Stock = db.Stocks.Any(s => s.ProductId == p.Id)
                ? db.Stocks
                              .Where(s => s.ProductId == p.Id)
                              .Sum(s => s.StockQuantity)
                : 0;
            if (p.CategoryId != null)
            {
                itemModel.CategoryName = db.Categories.FirstOrDefault(c => c.Id == p.CategoryId).Name;
            }
            return(itemModel);
        }
Exemplo n.º 29
0
        public List <ProductItemViewModel> GetListViewProduct(int num)
        {
            List <ProductItemViewModel> LstItemNewProduct = new List <ProductItemViewModel>();//lấy  san xem nhieu
            List <Product> tmpn = this.GetlstProduct().Where(s => s.StateId == (int)EnumCore.StateType.cho_phep)
                                  .OrderByDescending(s => s.ViewCount).Take(num).ToList();

            foreach (Product item in tmpn)
            {
                ProductItemViewModel tmp2 = new ProductItemViewModel();
                tmp2.ObiProduct = item;
                tmp2.Obicate    = item.ObjCatelogry;
                LstItemNewProduct.Add(tmp2);
            }
            return(LstItemNewProduct);
        }
Exemplo n.º 30
0
        public List <ProductItemViewModel> GetListDayProduct(int num)
        {
            List <ProductItemViewModel> LstItemNewProduct = new List <ProductItemViewModel>();//lấy  san pham danh mục hoat dong
            List <Product> tmpn = this.GetlstProduct().Where(s => s.CategoryId == 11882)
                                  .OrderByDescending(s => s.CrtdDT).Take(num).ToList();

            foreach (Product item in tmpn)
            {
                ProductItemViewModel tmp2 = new ProductItemViewModel();
                tmp2.ObiProduct = item;
                tmp2.Obicate    = item.ObjCatelogry;
                LstItemNewProduct.Add(tmp2);
            }
            return(LstItemNewProduct);
        }