public IAsyncResult BeginGetProductById(Guid id, AsyncCallback asyncCallBack, object asyncState)
        {
            ProductAsyncResult asyncResult = new ProductAsyncResult();
            asyncResult.AsyncState = asyncState;

            Action asyncProductMaker = () =>
            {
                Models.Product p = new Models.Product()
                {
                    ProductId = id,
                    Sku = "MyTestSku",
                    CreatedOn = DateTime.Now,
                    TimeStamp = id.ToByteArray()
                };

                var goTo = DateTime.Now.AddMilliseconds(300);
                var time = DateTime.Now;
                while (time < goTo)
                {
                    time = DateTime.Now;
                }

                asyncResult.Data = p;
                asyncResult.IsCompleted = true;
                asyncCallBack(asyncResult);
            };

            //Kick the method off asynchronously
            asyncProductMaker.BeginInvoke(null, null);
            return asyncResult;
        }
 public ActionResult ViewProduct(string ID)
 {
     string apiUri = Url.HttpRouteUrl("DefaultApi", new { controller = "Product", ID = ID });
     ViewBag.ApiUrl = new Uri(Request.Url, apiUri).AbsoluteUri.ToString();
     ProductStore.Models.Product model = new Models.Product();
     model.CategoryID = Convert.ToInt32(ID);
     return View(model);
 }
        public IEnumerable<Models.Product> GetAllProducts()
        {
            List<Models.Product> productList;

            ObjectCache cache = MemoryCache.Default;
            productList = (List<Models.Product>)cache.Get("ProductList");

            if (productList == null)
            {
                CacheItemPolicy policy = new CacheItemPolicy();

                //Connection String
                string connectionString = WebConfigurationManager.ConnectionStrings["ProductNodeConnection"].ConnectionString;

                using (var connection = new SqlConnection(connectionString))
                {
                    using (var command = connection.CreateCommand())
                    {
                        connection.Open();
                        command.CommandType = System.Data.CommandType.StoredProcedure;
                        command.CommandText = "dbo.upGetAllProducts";

                        using (var reader = command.ExecuteReader())
                        {
                            if (reader != null && reader.HasRows)
                            {
                                //Initialize a Product
                                Models.Product product = null;
                                //Create a List to hold multiple Products
                                productList = new List<Models.Product>();

                                while (reader.Read())
                                {
                                    //Create and hydrate a new Object
                                    product = new Models.Product();
                                    product.ProductId = Convert.ToInt32(reader["ProductId"]);
                                    product.Name = Convert.ToString(reader["Name"]).Trim();

                                    //Add to List
                                    productList.Add(product);
                                }

                                policy.SlidingExpiration = TimeSpan.FromSeconds(30);
                                cache.Add("ProductList", productList, policy);
                            }
                        }
                    }
                }
            }
            //Return List
            return productList;
        }
示例#4
0
 private static List<Models.Product> MappingProduct(IQueryable<Product> query)
 {
     var result = new List<Models.Product>();
     foreach (var item in query)
     {
         var record = new Models.Product();
         record.Code = item.Code;
         record.Name = item.Name;
         record.Price = item.Price;
         result.Add(record);
     }
     return result;
 }
示例#5
0
        public double Checkout_Process(string input_string)
        {
            string item;
            int? quantity = 0;
            double? price = 0;

            //GROUP PRODUCTS
            IEnumerable<Product_Agrupation> g = Group_Products(input_string);

            //CALL REPOSITORY
            Repositories.BaseService<Models.Product> repo = new Repositories.BaseService<Models.Product>(new DAL.DatabaseContext());
            Models.Product prod = new Models.Product();

            foreach (var i in g)
            {
                //VARS
                item = i.Key.ToString();
                quantity = i.Count;

                //FIND PRODUCT
                try {
                    prod = repo.Find(x => x.item.Equals(item));
                }
                catch (Exception ex)
                {
                    throw ex;
                }

                if (quantity > 0 && prod != null)
                {
                    //CHECK FOR OFFERS APPLICABILITY
                    if (prod.offer_quantity != null)
                    {
                        while (quantity >= prod.offer_quantity && prod.offer_quantity != 0)
                        {
                            price = price + prod.offer_price;
                            quantity = quantity - prod.offer_quantity;
                        }
                    }

                    //NORMAL PRICES
                    price = price + (quantity * prod.price);
                }
            }

            //FINALIZE
            repo = null;

            return price.Value;
        }
示例#6
0
        public Models.Product GetById(Guid id)
        {
            Models.Product p = new Models.Product()
            {
                ProductId = id,
                Sku = "MyTestSku",
                CreatedOn = DateTime.Now,
                TimeStamp = id.ToByteArray()
            };

            var goTo = DateTime.Now.AddMilliseconds(300);
            var time = DateTime.Now;
            while (time < goTo)
            {
                time = DateTime.Now;
            }

            return p;
        }
示例#7
0
        public ActionResult Details(int id, [Bind(Include = "PartId")] int partId)
        {
            Models.Product product = db.Products.Find(id);
            if (product == null)
            {
                return(HttpNotFound());
            }
            Part part = db.Parts.Find(partId);

            if (part != null)
            {
                product.Parts.Add(part);
                db.SaveChanges();
            }
            ViewBag.product      = product;
            ViewBag.productParts = product.Parts.ToList();
            ViewBag.PartId       = new SelectList(db.Parts, "Id", "Code");

            return(View(ViewBag));
        }
 public IHttpActionResult GetProduct(Models.Product p)
 {
     try
     {
         Models.Product product = db.Product.Where(x => x.ProductID == p.ProductID).Select(x => new Models.Product()
         {
             ProductID        = x.ProductID,
             Active           = x.Active,
             ProductComment   = x.ProductComment,
             ProductImgSource = x.ProductImgSource,
             ProductName      = x.ProductName,
             ProductPrice     = x.ProductPrice
         }).FirstOrDefault();
         return(Ok(product));
     }
     catch (Exception e)
     {
         throw new Exception(e.ToString());
     }
 }
示例#9
0
 protected void Button1_Click(object sender, EventArgs e)
 {
     try
     {
         Models.Product product = new Models.Product {
             Name     = txtName.Text,
             Price    = float.Parse(txtPrice.Text),
             Quantity = int.Parse(txtQuantity.Text),
             Photo    = "Image/" + FileUpload1.FileName
         };
         dao.addProduct(product);
         lblMessage.Text      = "Create product completed successully! ";
         GridView1.DataSource = dao.GetProducts();
         GridView1.DataBind();
     }
     catch (Exception ex)
     {
         lblMessage.Text = ex.Message;
     }
 }
 public ActionResult Edit(Models.Product editPro, HttpPostedFileBase file)
 {
     if (Session["accname"] == null)
     {
         Session["accname"] = null;
         return(RedirectToAction("Login", "Account"));
     }
     else
     {
         ViewBag.pdcListEdit  = new SelectList(dbPro.Producers, "pdcID", "pdcName");
         ViewBag.typeListEdit = new SelectList(dbPro.ProductTypes, "typeID", "typeName");
         if (file != null)
         {
             if (file.ContentLength > 0)
             {
                 try
                 {
                     string nameFile = Path.GetFileName(file.FileName);
                     file.SaveAs(Path.Combine(Server.MapPath("/Image"), nameFile));
                     editPro.proPhoto = "/Image/" + nameFile;
                 }
                 catch (Exception)
                 {
                     ViewBag.EditProError = "Không thể chọn ảnh.";
                 }
             }
         }
         editPro.proUpdateDate = DateTime.Now.ToString();
         try
         {
             dbPro.Entry(editPro).State = System.Data.Entity.EntityState.Modified;
             dbPro.SaveChanges();
             ViewBag.EditProError = "Cập nhật sản phẩm thành công.";
         }
         catch (Exception)
         {
             ViewBag.EditProError = "Không thể cập nhật sản phẩm.";
         }
         return(View());
     }
 }
        //SqlDataAdapter da;
        //DataSet ds;

        // get first 10 items from table Product
        public List <Models.Product> GetList10Product()
        {
            List <Models.Product> list = new List <Models.Product>();

            con = new SqlConnection(connectionString);
            string query = @"SELECT TOP (10) [ID]
                           ,[Name]
                         ,[DateImported]
                       ,[Description]
                      ,[TotalSold]
                      ,[TotalLeft]
                         ,[Image]
                      ,[SubCategoryID]
                      ,[MakerID]
                    ,[Price]
                    FROM [PRN292_Project].[dbo].[Product]";

            con.Open();
            SqlCommand    cmd    = new SqlCommand(query, con);
            SqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                Models.Product p = new Models.Product();
                p.SubCategory  = new Models.SubCategory();
                p.ID           = Convert.ToInt32(reader["ID"].ToString());
                p.Name         = reader["Name"].ToString();
                p.DateImported = DateTime.Parse(reader["DateImported"].ToString());
                p.Description  = reader["Description"].ToString();
                p.TotalSold    = Convert.ToInt32(reader["TotalSold"].ToString());
                p.TotalLeft    = Convert.ToInt32(reader["TotalLeft"].ToString());
                p.Image        = reader["Image"].ToString();

                p.SubCategory.ID = Convert.ToInt32(reader["SubCategoryID"].ToString());
                p.MakerID        = Convert.ToInt32(reader["MakerID"].ToString());
                p.Price          = Convert.ToDouble(reader["Price"].ToString());
                list.Add(p);
            }

            return(list);
        }
示例#12
0
        protected override async Task HandleCommand(UpdateProductCommand command)
        {
            Models.Product product = await _readOnlyProductRepository.GetProductAsync(command.ProductId).ConfigureAwait(false);

            if (product == null)
            {
                throw new NotFoundException(new Fault {
                    Reason = "ResourceNotFound", Message = PRODUCT_NOT_FOUND
                });
            }

            bool wasCodeChanged = product.Code != command.Code;

            if (wasCodeChanged)
            {
                var productByCode = await _readOnlyProductRepository.GetProductByCodeAsync(command.Code).ConfigureAwait(false);

                ProductValidator.ValidateProductCode(Faults, productByCode, command.Code);
                if (Faults.Any())
                {
                    var exception = new ValidationException();
                    exception.AddErrors(Faults);
                    throw exception;
                }
            }

            product.LastUpdated = DateTime.Now;
            product.Name        = command.Name;
            product.Code        = command.Code;
            product.Price       = command.Price;

            if (!string.IsNullOrEmpty(command.FileContent) && !string.IsNullOrEmpty(command.FileTitle))
            {
                byte[] imageBytes = Convert.FromBase64String(command.FileContent);

                HandleProductImage(command, product, imageBytes);
                HandleProductImageThumbnail(command, product, imageBytes);
            }

            await _writeOnlyProductRepository.UpdateAsync().ConfigureAwait(false);
        }
        [HttpPost] //指定只有使用POST方法才可進入
        public ActionResult Create(Models.Product postback)
        {
            if (this.ModelState.IsValid) //如果資料驗證成功
            {
                var userName = HttpContext.User.Identity.GetUserName();
                using (Models.CartsEntities db = new Models.CartsEntities())
                {
                    //將回傳資料postback加入至Products

                    var product = new Models.Product()
                    {
                        Name = postback.Name,

                        Price           = postback.Price,
                        CategoryId      = postback.CategoryId,
                        DefaultImageId  = postback.DefaultImageId,
                        DefaultImageURL = postback.DefaultImageURL,
                        Quantity        = postback.Quantity,
                        UserName        = userName,
                        Status          = postback.Status,
                        PublishDate     = postback.PublishDate,
                        Description     = postback.Description
                    };
                    db.Products.Add(product);

                    //儲存異動資料
                    db.SaveChanges();

                    //設定成功訊息
                    TempData["ResultMessage"] = String.Format("商品[{0}]成功建立", postback.Name);

                    //轉導Product/Index頁面
                    return(RedirectToAction("Index"));
                }
            }
            //失敗訊息
            ViewBag.ResultMessage = "資料有誤,請檢查";

            //停留在Create頁面
            return(View(postback));
        }
        public ActionResult Edit(int id, Models.Product data)
        {
            try
            {
                if (!string.IsNullOrEmpty(data.Description))
                {
                    data.Description = Utilities.StringUtility.EscapeXml(System.Web.HttpUtility.HtmlDecode(data.Description));
                }

                return(Json
                       (
                           new
                {
                    Entity = RestfulJsonProccessor.Product.Single(RestfulProduct.Update(id, data, User.Identity.IsAuthenticated ? User.Identity.Name : null), User.Identity.IsAuthenticated ? User.Identity.Name : null)
                },
                           JsonRequestBehavior.AllowGet
                       ));
            }
            catch (RestfulModels.NoAccessException)
            {
                Response.StatusCode = 401;
                return(null);
            }
            catch (RestfulModels.ValidationException e)
            {
                Response.StatusCode = 406;
                return(Json
                       (
                           new
                {
                    ValidationErrors = e
                },
                           JsonRequestBehavior.AllowGet
                       ));
            }
            catch
            {
                Response.StatusCode = 500;
                return(null);
            }
        }
示例#15
0
        public void TestViewMyInit_ShouldSetViewModelProducts()
        {
            var mockedView = new Mock <IProductsListView>();

            mockedView.Setup(v => v.Model).Returns(new ProductListViewModel());

            var viewModel = new ProductDetailsViewModel();

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateProductDetailsViewModel(It.IsAny <int>(), It.IsAny <string>(),
                                                                     It.IsAny <string>(), It.IsAny <decimal>(), It.IsAny <double>(),
                                                                     It.IsAny <string>(), It.IsAny <string>(), It.IsAny <byte[]>()))
            .Returns(viewModel);

            var mockedCategoryService = new Mock <ICategoryService>();

            var category = new Category();
            var product  = new Models.Product {
                Category = category
            };

            var productsResult = new List <Models.Product> {
                product
            };

            var mockedService = new Mock <IProductService>();

            mockedService.Setup(s => s.GetProducts()).Returns(productsResult);

            var presenter =
                new ProductsListPresenter(mockedView.Object, mockedService.Object, mockedFactory.Object, mockedCategoryService.Object);

            mockedView.Raise(v => v.MyInit += null, EventArgs.Empty);

            var expected = new List <ProductDetailsViewModel> {
                viewModel
            };

            CollectionAssert.AreEqual(expected, mockedView.Object.Model.Products);
        }
示例#16
0
 public void show_det_ticket()
 {
     foreach (DataGridViewRow row in dtdocumentos.Rows)
     {
         Models.Product    productos = new Models.Product();
         Models.Dettickets detalles  = new Models.Dettickets();
         using (detalles)
         {
             List <Models.Dettickets> detalle = detalles.getDetalles(Convert.ToInt16(row.Cells["folio"].Value.ToString()));
             foreach (Models.Dettickets item in detalle)
             {
                 using (productos)
                 {
                     List <Models.Product> producto = productos.getProductById(item.Id_producto);
                     dtProductos.Rows.Add(item.Id_producto, item.Cantidad, producto[0].Code1, producto[0].Description, item.Pu, item.Total);
                 }
             }
         }
     }
     Calcula();
 }
示例#17
0
 [HttpPost] //指定只有使用POST方法才可進入
 public ActionResult Create(Models.Product postback)
 {
     if (ModelState.IsValid) //如果資料驗證成功
     {
         using (Models.CartsEntities db = new Models.CartsEntities())
         {
             //將回傳資料postback加入至Products
             db.Products.Add(postback);
             //儲存異動資料
             db.SaveChanges();
             //設定成功訊息
             TempData["ResultMessage"] = String.Format("商品[{0}]成功建立", postback.Name);
             //轉導Product/Index頁面
             return(RedirectToAction("Index"));
         }
     }
     //失敗訊息
     ViewBag.ResultMessage = "資料有誤,請檢查";
     //停留在Create頁面
     return(View(postback));
 }
示例#18
0
        internal Product(Models.Product model)
        {
            _model = model;

            _inAppService     = Mvx.Resolve <Common.IInAppService>();
            _userInteraction  = Mvx.Resolve <IUserInteraction>();
            _productsDatabase = Mvx.Resolve <IProductsDatabase>();
            _basesManager     = new BasesManager(_model.Bases);

            _productsDatabase.ProductAdded     += ProductsDatabaseOnProductAdded;
            _productsDatabase.ProductExpired   += OnProductsDatabaseProductExpired;
            _basesManager.DictBaseStateChanged += BasesManagerOnDictBaseStateChanged;

            _buyCommand    = new Common.Mvvm.Command(BuyCommandImpl);
            _demoCommand   = new Common.Mvvm.Command(DemoCommandImpl, false);
            _launchCommand = new Common.Mvvm.Command(LaunchCommandImpl, false);

            _inAppService.ErrorOccurred += InAppServiceOnErrorOccurred;

            Initialize();
        }
示例#19
0
        private void CartPage_Load(object sender, EventArgs e)
        {
            var cartProducts = Cart.GetProducts();

            //fill products of carts to ui
            for (int i = 0; i < cartProducts.Count; i++)
            {
                Models.Product p = cartProducts[i];

                var wrapperControl = new CartLineControl();
                wrapperControl.Tag               = i;
                wrapperControl.ProductPrice      = p.Price.ToString("{0} EUR");
                wrapperControl.ProductName       = p.Name;
                wrapperControl.OnProductRemoved += (s, ee) =>
                {
                    productlList.Controls.Remove(wrapperControl);
                };

                productlList.Controls.Add(wrapperControl);
            }
        }
示例#20
0
        public IHttpActionResult GetProductProperties(Models.Product p)
        {
            try
            {
                int id = p.ProductID;
                List <Models.Property> list = db.Property.Where(x => x.ProductID == id && x.Active == true)
                                              .Select(x => new Models.Property()
                {
                    ProductID      = p.ProductID,
                    PropertyID     = x.PropertyID,
                    PropertyDetail = x.PropertyDetail,
                    PropertyName   = x.PropertyName
                }).ToList();

                return(Ok(list));
            }
            catch (Exception e)
            {
                throw new Exception(e.ToString());
            }
        }
示例#21
0
        public ActionResult ProductCreate(ViewModels.ProductCreateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            using (var db = new Models.CategoryDb())
            {
                var pro = new Models.Product

                {
                    Name        = model.Name,
                    Description = model.Description,
                    Price       = model.Price,
                    Category    = db.Categories.First(c => c.CategoryId == model.CategoryId)
                };
                db.Products.Add(pro);
                db.SaveChanges();
            }
            return(RedirectToAction("Index", new { id = model.CategoryId }));
        }
示例#22
0
 private void carga_productos()
 {
     dtProductos.Rows.Clear();
     Models.prov_prod costo     = new Models.prov_prod();
     Models.Product   productos = new Models.Product();
     using (costo)
     {
         using (productos)
         {
             List <Models.prov_prod> cot = costo.get_costobyproveedor(Convert.ToInt32(id));
             if (cot.Count > 0)
             {
                 foreach (Models.prov_prod item in cot)
                 {
                     List <Models.Product> producto = productos.getProductById(item.Id_producto);
                     dtProductos.Rows.Add(item.Id, producto[0].Id, producto[0].Description);
                 }
             }
         }
     }
 }
示例#23
0
        public ActionResult Index()
        {
            ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
            pnet.Models.Portal oportal = new Models.Portal();
            oportal.ID = 1;
            oportal.Name = "conmeno";
            //oportal.Products.Add(new Models.Product(1, "product1"));
            //oportal.Products.Add(new Models.Product(2, "product1"));
            //oportal.Products.Add(new Models.Product(3, "product2"));

            Models.Product oproduct = new Models.Product();
            oproduct.ID = 32;
            oproduct.Name = "phuong";

            string temp = "";

            temp = pnet.Models.Utility.Serialize(oproduct, true);

            ViewBag.hehe = temp;
            return View();
        }
示例#24
0
        public IActionResult Post([FromBody] Models.Product product)
        {
            if (product == null)
            {
                return(BadRequest());
            }
            var prod = this._mapper.Map <Entities.Product>(product);

            prod.CreatedIP = "1.1.1.1";

            var result = this._productsRepository.Insert(prod);

            if (result != null)
            {
                return(Created("api/products", result.Id));
            }
            else
            {
                return(BadRequest("Failed to create product."));
            }
        }
示例#25
0
        public InventoryActions(Models.Product product) : this()
        {
            _product = product;

            txtProductQuantity.Text = product.Quantity.HasValue ? product.Quantity.Value.ToString() : "0";
            txtProductBarCode.Text  = product.BarCode;
            txtProductName.Text     = product.Name;

            txtProductId.Text         = product.Id.ToString();
            txtProductCreateTime.Text = product.CreateTime.ToString("dd/MM/yyyy");
            txtProductCreatedBy.Text  = product.Account ? .Name ?? "";

            if (product.ExpiredTime.HasValue)
            {
                dateExpiredTime.EditValue = product.ExpiredTime;
            }
            else
            {
                dateExpiredTime.Clear();
            }
        }
示例#26
0
        public JsonResult AddProduct(Class.Product New_Product)
        {
            Models.Product Product = new Models.Product()
            {
                CategID  = New_Product.CategID,
                ProdName = New_Product.ProdName,
                Price    = New_Product.Price,
                Stock    = New_Product.Stock
            };
            try
            {
                db.Product.Add(Product);
                db.SaveChanges();

                return(Json(new { isError = "F", message = "Successfully Saved." }));
            }
            catch (Exception ex)
            {
                return(Json(new { isError = "T", message = "Could not insert data." }));
            }
        }
示例#27
0
        public void AddProduct(int orderId, Models.Product p)
        {
            if (!_dbContext.Oproduct.Any(s => s.Name == p.Name))
            {
                var product = new Models.Product();

                product.Name  = p.Name;
                product.Price = (float)p.Price;

                _dbContext.Add(Mapping.MapO(product));
                _dbContext.SaveChanges();

                var newProduct = _dbContext.Oproduct.Last();

                AddOrderItems(orderId, newProduct.Id);
            }
            else
            {
                AddOrderItems(orderId, _dbContext.Oproduct.First(s => s.Name == p.Name).Id);
            }
        }
示例#28
0
 public ActionResult CreateProduct(ViewModels.ProductCreateViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return(View(model));
     }
     using (var db = new Models.DBModel())
     {
         var product = new Models.Product
         {
             id          = model.id,
             name        = model.name,
             description = model.description,
             price       = model.price,
             categoryId  = model.categoryId
         };
         db.Products.Add(product);
         db.SaveChanges();
     }
     return(RedirectToAction("Index"));
 }
示例#29
0
        public async Task CreateProductAsync_DuplicateProductId_ThrowException()
        {
            //Arrange
            var product = new Models.Product()
            {
                Id          = "7fb87db7-4c8d-4e19-905d-0d3fb88fb6a4",
                Name        = "Test Product",
                Description = "This is test product"
            };

            _repository.Setup(x => x.CreateAsync(product)).ThrowsAsync(new Exception());

            //Act
            var productService = new ProductService(_logger.Object,
                                                    _repository.Object,
                                                    _httpContextAccessor.Object,
                                                    _optimisticLockingResolver.Object);

            //Assert
            Assert.ThrowsAsync <Exception>(async() => await productService.CreateProductAsync(product));
        }
示例#30
0
        public void updateProduct(Models.Product product)
        {
            product.timeStamp = DateTime.Now.Date;
            var oldProduct = db.products
                             .Where(x => x.productID == product.productID)
                             .SingleOrDefault();

            oldProduct.description = product.description;
            oldProduct.price       = product.price;
            oldProduct.name        = product.name;
            oldProduct.timeStamp   = product.timeStamp;

            try {
                db.SaveChanges();
            }
            catch (Exception ex) {
                httpCtx.Trace.Warn("Database write Error", "Error updating a product", ex);
            }

            routeDiffs(new[] {
                new {
                    op   = "update",
                    data = new {
                        customers = new Models.Customer[0],
                        orders    = new Models.Order[0],
                        blobs     = new Models.Blob[0],
                        products  = new Models.Product[] {
                            new Models.Product {
                                name        = oldProduct.name,
                                productID   = oldProduct.productID,
                                description = oldProduct.description,
                                price       = oldProduct.price,
                                timeStamp   = oldProduct.timeStamp,
                                fileIDs     = oldProduct.files.Select(y => y.blobID).ToArray()
                            }
                        }
                    }
                }
            });
        }
示例#31
0
        private void sugerido()
        {
            string       foliados = "";
            DialogResult dialogo  = MessageBox.Show("¿Desea cargar el sugerido?", "Sugerido", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogo == DialogResult.Yes)
            {
                dtProductos.Rows.Clear();
                Models.det_devolution det_devo_clie = new Models.det_devolution();
                Models.Product        productos     = new Models.Product();
                using (det_devo_clie)
                {
                    List <Models.det_devolution> devo   = det_devo_clie.get_detallebyproveedor(Convert.ToInt32(txtId_proveedor.Text));
                    List <Models.det_devolution> listas = det_devo_clie.get_no_enviados();
                    if (devo.Count > 0)
                    {
                        foreach (Models.det_devolution alfa in listas)
                        {
                            if (foliados == "")
                            {
                                foliados = alfa.Id.ToString();
                            }
                            else
                            {
                                foliados = foliados + "," + alfa.Id.ToString();
                            }
                        }
                        foreach (Models.det_devolution item in devo)
                        {
                            using (productos)
                            {
                                List <Models.Product> producto = productos.getProductById(item.Id_producto);
                                dtProductos.Rows.Add(item.Id_producto, item.Cantidad, producto[0].Code1, producto[0].Description, producto[0].Unit, producto[0].Cost, (producto[0].Cost * item.Cantidad), foliados);
                            }
                        }
                    }
                }
                calcula();
            }
        }
示例#32
0
 public ActionResult SaveProduct(string CategoryID, string ProductID, string ProductName, string ProductPrice, string ProposedPrice, string ProductDescription, string ProductImageURL, string CategoryName)
 {
     getUserName();
     Models.CatalogData cData   = new Models.CatalogData();
     Models.Product     product = cData.UpdateProduct(CategoryID, ProductID, ProductName, ProductDescription, ProductImageURL);
     if (!string.IsNullOrEmpty(ProposedPrice))
     {
         string appUrl = string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~"));
         if (appUrl.EndsWith(":444/"))
         {
             appUrl = appUrl.Replace(":444/", "/");
         }
         var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);
         using (var appContext = spContext.CreateUserClientContextForSPAppWeb())
         {
             if (appContext != null)
             {
                 Web appWeb = appContext.Web;
                 appContext.Load(appWeb);
                 List proposalList = appWeb.Lists.GetByTitle("Proposals");
                 appContext.Load(proposalList);
                 appContext.ExecuteQuery();
                 ListItemCreationInformation itemInfo = new ListItemCreationInformation();
                 ListItem newProposal = proposalList.AddItem(itemInfo);
                 newProposal["Title"]          = ProductName + ": New Price Change Proposal";
                 newProposal["ProductID"]      = ProductID;
                 newProposal["ProductName"]    = ProductName;
                 newProposal["ExistingPrice"]  = ProductPrice;
                 newProposal["ProposedPrice"]  = ProposedPrice;
                 newProposal["ProposedBy"]     = ViewBag.UserName;
                 newProposal["Status"]         = "Pending";
                 newProposal["ApproversAlias"] = ownersGroupAlias;
                 newProposal["AppURL"]         = appUrl;
                 newProposal.Update();
                 appContext.ExecuteQuery();
             }
         }
     }
     return(RedirectToAction("CategoryDetails", "Home", new { CategoryID = CategoryID, CategoryName = CategoryName, SPHostUrl = SharePointContext.GetSPHostUrl(HttpContext.Request).AbsoluteUri }));
 }
示例#33
0
        /// <summary>
        /// Initializes a new instance for the <see cref="DetailPageViewModel" /> class.
        /// </summary>
        public DetailPageViewModel(Models.Product product, INavigation Navigation)
        {
            this.ProductDetail = product;
            this.Navigation    = Navigation;
            if (this.ProductDetail.Reviews == null || this.ProductDetail.Reviews.Count == 0)
            {
                this.IsReviewVisible = true;
            }
            else
            {
                foreach (var review in this.ProductDetail.Reviews)
                {
                    this.productRating += review.Rating;
                }
            }

            if (this.productRating > 0)
            {
                this.ProductDetail.OverallRating = product.OverallRating;
            }

            for (int i = 0; i < ProductDetail.SizeVariants.Count; i++)
            {
                if (ProductDetail.SizeVariants[i] == ProductDetail.Bicikl.VelicinaOkvira.Naziv)
                {
                    SelectedSizeIndex = i;
                    break;
                }
            }

            this.AddFavouriteCommand = new Command(this.AddFavouriteClicked);
            this.BuyNowCommand       = new Command(this.BuyNowClicked);
            this.AddToCartCommand    = new Command(this.AddToCartClicked);
            this.ShareCommand        = new Command(this.ShareClicked);
            this.VariantCommand      = new Command(async() => await this.VariantClicked());
            this.ItemSelectedCommand = new Command(this.ItemSelected);
            this.CartItemCommand     = new Command(this.CartClicked);
            this.LoadMoreCommand     = new Command(this.LoadMoreClicked);
            this.BackButtonCommand   = new Command(async() => await BackButtonClicked());
        }
示例#34
0
        public ActionResult AddProduct(ViewModel viewModel)
        {
            try
            {
                Models.Product product = new Models.Product();
                product.Comment     = viewModel.Comment;
                product.Customer    = viewModel.Customer;
                product.Number      = viewModel.Number;
                product.ProductDesc = viewModel.ProductDesc;
                product.ProductName = viewModel.ProductName;

                string fileName  = Path.GetFileNameWithoutExtension(viewModel.file.FileName);
                string extension = Path.GetExtension(viewModel.file.FileName);
                fileName = fileName + " " + DateTime.Now.ToString("yymmssfff") + extension;
                viewModel.CustomerImage = "~/Content/image/product/customer/" + fileName;
                fileName = Path.Combine(Server.MapPath("~/Content/image/product/customer/"), fileName);
                viewModel.file.SaveAs(fileName);
                product.Image = viewModel.CustomerImage;

                string fileName2  = Path.GetFileNameWithoutExtension(viewModel.file2.FileName);
                string extension2 = Path.GetExtension(viewModel.file2.FileName);
                fileName2 = fileName2 + " " + DateTime.Now.ToString("yymmssfff") + extension2;
                viewModel.ProductImage = "~/Content/image/product/product/" + fileName2;
                fileName2 = Path.Combine(Server.MapPath("~/Content/image/product/product/"), fileName2);
                viewModel.file.SaveAs(fileName2);
                product.ProductImage = viewModel.ProductImage;

                db.Product.Add(product);
                db.SaveChanges();
                ModelState.Clear();
                ViewData["ID"] = product.Id;

                return(RedirectToAction("ProductMember"));
            }
            catch (Exception ex)
            {
                ViewData["message"] = ex.Message;
                return(RedirectToAction("Error"));
            }
        }
示例#35
0
        private void txtDescripcion_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.F2)
            {
                Buscar_producto busca = new Buscar_producto();
                busca.ShowDialog();

                Models.Product producto = new Models.Product();
                using (producto)
                {
                    List <Models.Product> result = producto.getProductById(intercambios.Id_producto);
                    foreach (Models.Product item in result)
                    {
                        id                  = item.Id.ToString();
                        txtCodigo.Text      = item.Code1;
                        txtDescripcion.Text = item.Description;
                        txtCosto.Text       = item.Cost.ToString();
                    }
                }



                button1.Focus();
            }
            if (e.KeyCode == Keys.Enter)
            {
                if (txtCodigo.Text != "" && txtDescripcion.Text != "")
                {
                    button1.Focus();
                }
                if (txtDescripcion.Text == "")
                {
                    txtDescripcion.Focus();
                }
                else if (txtCodigo.Text == "")
                {
                    txtCodigo.Focus();
                }
            }
        }
示例#36
0
        public IActionResult GetProduct([FromRoute][Required] int productId)
        {
            Models.Product product = (from p in _context.Product
                                      from pm in _context.ProductModel.Where(pm => pm.ProductModelId == p.ProductModelId).DefaultIfEmpty()
                                      from ps in _context.ProductSubcategory.Where(ps => ps.ProductSubcategoryId == p.ProductSubcategoryId).DefaultIfEmpty()
                                      from pc in _context.ProductCategory.Where(pc => pc.ProductCategoryId == ps.ProductCategoryId).DefaultIfEmpty()
                                      from ppp in _context.ProductProductPhoto.Where(ppp => ppp.ProductId == p.ProductId).DefaultIfEmpty()
                                      from pp in _context.ProductPhoto.Where(pp => pp.ProductPhotoId == ppp.ProductPhotoId).DefaultIfEmpty()
                                      where p.ProductId == productId
                                      select new Models.Product
            {
                ProductId = p.ProductId,
                Name = p.Name,
                ProductNumber = p.ProductNumber,
                Color = p.Color,
                StandardCost = (double)p.StandardCost,
                ListPrice = (double)p.ListPrice,
                Size = p.Size,
                Weight = p.Weight != null ? (decimal)p.Weight : 0,
                ProductLine = p.ProductLine,
                Class = p.Class,
                Style = p.Style,
                Model = (pm != null) ? _mapper.Map <Models.ProductModel>(pm) : null,
                SubCategory = (ps != null) ? _mapper.Map <Models.ProductSubCategory>(new Models.ProductSubCategory
                {
                    Name = ps.Name,
                    Category = (pc != null) ? _mapper.Map <Models.ProductCategory>(pc) : null,
                    ProductSubCategoryID = ps.ProductSubcategoryId
                }) : null,
                Photo = (pp != null) ? _mapper.Map <Models.ProductPhoto>(pp) : null,
                Review = _mapper.Map <List <Models.ProductReview> >(_context.ProductReview.Where(x => x.ProductId == p.ProductId).ToList())
            }).FirstOrDefault();

            if (product == null)
            {
                return(NotFound());
            }

            return(new ObjectResult(product));
        }
示例#37
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Product = await _context.Product.FirstOrDefaultAsync(m => m.ProductId == id);

            if (Product == null)
            {
                return(NotFound());
            }

            ViewData["ProductCategoryId"] = new SelectList(_context.ProductCategory, "ProductCategoryId", "Name");
            ViewData["Properties"]        = _context.ProductProperty;

            IList <ProductPropertyValue> ValuesList = new List <ProductPropertyValue>();

            var values = _context.ProductPropertyValue.Include(a => a.ProductProperty);

            for (int i = 0; i < values.Count(); i++)
            {
                ProductPropertyValue value = values.ToList()[i];

                var map = await _context.ProductPropertyMap
                          .FindAsync(Product.ProductId, value.ProductPropertyValueId);

                if (map != null)
                {
                    value.isSelected = true;
                }

                ValuesList.Add(value);
            }

            ViewData["Values"] = ValuesList;

            return(Page());
        }
示例#38
0
        public ActionResult ProductShow(int id)
        {
            Product product = new Models.Product();
            product = db.Products.Find(id);

            User user = db.Users.Find(CurrentUser.ID);
            ViewBag.User = user;

            ViewBag.Product = new vProduct(product);
            return View();
        }
        public void ImportProducts()
        {
            var products = this.MongoDataManager.GetCollectionAsList<MongoModels.Product>("products");

            foreach (var product in products)
            {
                var type = this.Db.Set<Models.FurnitureType>()
                    .First(x => x.Name == product.FurnitureType.Name);

                var room = this.Db.Set<Models.Room>()
                    .First(x => x.Name == product.Room.Name);

                var series = this.Db.Set<Models.Series>()
                    .First(x => x.Name == product.Series.Name);

                var productEntity = new Models.Product
                {
                    FurnitureType = type,
                    Room = room,
                    Series = series,
                    ProductionExpense = product.Price,
                    ProductionTime = product.ManufacturingLeadTime,
                    Weight = product.Weight,
                    CatalogNumber = product.Series.Name.Substring(0, 1) + this.nextFreeCatalogNumber
                };

                this.nextFreeCatalogNumber++;

                this.Db.Set<Models.Product>().AddOrUpdate(x => x.CatalogNumber, productEntity);
            }

            this.Db.SaveChanges();
        }
示例#40
0
        public Models.Product newProduct()
        {
            Models.Product product = new Models.Product();
            var newProd = new Data.Product {
                name = product.name,
                description = product.description,
                price = product.price,
                timeStamp = product.timeStamp
            };

            db.products.Add(newProd);
            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                httpCtx.Trace.Warn("Database write Error", "Cannot create a new product", ex);
                return new Models.Product();
            }
            product.productID = newProd.productID;
            routeDiffs(new[]{
                new {
                    op = "add",
                    data = new {
                        orders = new Models.Order[0],
                        customers = new Models.Customer[0],
                        blobs = new Models.Blob[0],
                        products = new Models.Product[] {
                            product
                        }

                    }
                }
            });

            return product;
        }