public Basket AddUpdateBasket(string user, string productId, int quantity) { CatalogRepository catalogRepository = new CatalogRepository(); Basket basket = baskets.FirstOrDefault(item => item.User == user); if (basket == null) { throw new Exception("Basket not available"); } Catalog.Models.ProductQty product = basket.Products.FirstOrDefault(p => p.ProductId == productId); if (product == null) { Catalog.Models.Catalog catalog = catalogRepository.GetCatalogs(productId); ProductQty p = new ProductQty(); p.ProductId = catalog.Id; p.Quantity = quantity; basket.Products.Add(p); } else { basket.Products.Remove(product); product.ProductId = productId; product.Quantity = quantity; basket.Products.Add(product); } return(basket); }
public void Update(ProductQty productQty) { using (var em = EntityManagerFactory.CreateInstance(ds)) { Update(em, null, productQty); } }
public ActionResult AddToCart(int id, int quantity) { Product product = db.Products.Find(id); ProductQty item = new ProductQty(); item.Item = product; item.Quantity = quantity; var cartId = HttpContext.Session["cartId"]; Cart cart = db.Carts.Find(cartId); if (cart != null && (cart.Status == CartStatus.SHIPPED || cart.Status == CartStatus.PAID)) { cart = null; } if (cart == null) { var userId = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>().FindById(User.Identity.GetUserId()).UserId; var user = db.Users.Find(userId); cart = new Cart { Date = DateTime.Now, Items = new List <ProductQty>(), Purchaser = user, Status = CartStatus.OPEN, TaxRate = 0.13, Discount = 0 }; db.Carts.Add(cart); } cart.Items.Add(item); db.SaveChanges(); HttpContext.Session["cartId"] = cart.Id; return(RedirectToAction("Details", new { id = cart.Id })); }
private void PopulateProduct(ProductQty productQty) { var item = new ListViewItem(productQty.ProductId.ToString()); item.SubItems.Add(productQty.Product.Code); item.SubItems.Add(productQty.Product.Name); item.SubItems.Add(productQty.Product.Unit); item.SubItems.Add(productQty.SalesPrice.ToString("N0").Replace(",", ".")); lvwProduct.Items.Add(item); }
public void Save(Product product) { Transaction tx = null; try { using (var em = EntityManagerFactory.CreateInstance(ds)) { tx = em.BeginTransaction(); Guid ID = Guid.NewGuid(); string[] columns = { "ID", "ProductCode", "ProductName", "CategoryId", "Unit", "Notes", "IsActive", "CreatedDate", "ModifiedDate" }; object[] values = { ID, product.Code, product.Name, product.CategoryId, product.Unit, product.Notes, product.IsActive == true?1:0, DateTime.Now.ToShortDateString(), DateTime.Now.ToShortDateString() }; var q = new Query().Select(columns).From(tableName).Insert(values); em.ExecuteNonQuery(q.ToSql(), tx); var productQty = new ProductQty(); productQty.ActiveYear = Store.ActiveYear; productQty.ActiveMonth = Store.ActiveMonth; productQty.ProductId = ID; productQty.QtyIn = 0; productQty.QtyOut = 0; productQty.QtyEnd = 0; productQtyRepository.Save(em, tx, productQty); tx.Commit(); } } catch (Exception ex) { tx.Rollback(); throw ex; } }
public void Update(IEntityManager em, Transaction tx, ProductQty productQty) { try { string[] columns = { "ActiveYear", "ActiveMonth", "ProductId", "QtyBegin", "ValueBegin", "QtyIn", "PurchasePrice", "QtyAvailable", "ValueAverage", "ValueAvailable", "QtyOut", "SalesPrice", "SalesValue", "QtyEnd", "ValueEnd", "QtyPlusCorrection", "QtyMinusCorrection", "ValuePlusCorrection", "ValueMinusCorrection", "QtyPayment", "PaymentPrice", "PaymentValue" }; object[] values = { productQty.ActiveYear, productQty.ActiveMonth, productQty.ProductId, productQty.QtyBegin, productQty.ValueBegin, productQty.QtyIn, productQty.PurchasePrice, productQty.QtyAvailable, productQty.ValueAverage, productQty.ValueAvailable, productQty.QtyOut, productQty.SalesPrice, productQty.SalesValue, productQty.QtyEnd, productQty.ValueEnd, productQty.QtyPlusCorrection, productQty.QtyMinusCorrection, productQty.ValuePlusCorrection, productQty.ValueMinusCorrection, productQty.QtyPayment, productQty.PaymentPrice, productQty.PaymentValue }; var q = new Query().Select(columns).From(tableName).Update(values) .Where("ID").Equal("{" + productQty.ID + "}"); if (tx == null) { em.ExecuteNonQuery(q.ToSql()); } else { em.ExecuteNonQuery(q.ToSql(), tx); } } catch (Exception ex) { throw ex; } }
public ProductQty GetSummary(int month, int year) { ProductQty productQty = null; using (var em = EntityManagerFactory.CreateInstance(ds)) { string sql = "SELECT Sum(ProductQty.QtyBegin) AS QtyBegin, Sum(ProductQty.ValueBegin) AS ValueBegin, " + "Sum(ProductQty.QtyIn) AS QtyIn, Sum(ProductQty.PurchasePrice) AS PurchasePrice, " + "Sum(ProductQty.QtyAvailable) AS QtyAvailable, Sum(ProductQty.ValueAverage) AS ValueAverage, Sum(ProductQty.ValueAvailable) AS ValueAvailable, " + "Sum(ProductQty.QtyOut) AS QtyOut, Sum(ProductQty.SalesPrice) AS SalesPrice, Sum(ProductQty.SalesValue) AS SalesValue, " + "Sum(ProductQty.QtyEnd) AS QtyEnd, Sum(ProductQty.ValueEnd) AS ValueEnd, " + "Sum(ProductQty.ValuePlusCorrection) AS ValuePlusCorrection, Sum(ProductQty.ValueMinusCorrection) AS ValueMinusCorrection, " + "Sum(ProductQty.QtyPlusCorrection) AS QtyPlusCorrection, Sum(ProductQty.QtyMinusCorrection) AS QtyMinusCorrection, " + "Sum(ProductQty.QtyPayment) AS QtyPayment, Sum(ProductQty.PaymentPrice) AS PaymentPrice, Sum(ProductQty.PaymentValue) AS PaymentValue " + "FROM ProductQty " + "WHERE ProductQty.ActiveYear=" + year + " AND ProductQty.ActiveMonth= " + month; productQty = em.ExecuteObject <ProductQty>(sql, new ProductQtySummaryMapper()); } return(productQty); }
public ProductQty GetByMonthAndYear(int month, int year, Guid productId) { ProductQty productQty = null; using (var em = EntityManagerFactory.CreateInstance(ds)) { string sql = "SELECT q.ID, q.ActiveYear, q.ActiveMonth, " + "q.ProductId, p.ProductCode, p.ProductName, p.Unit, p.Notes, p.IsActive, " + "q.QtyBegin, q.ValueBegin, " + "q.QtyIn, q.PurchasePrice, " + "q.QtyAvailable, q.ValueAverage, q.ValueAvailable, " + "q.QtyOut, q.SalesPrice, q.SalesValue, " + "q.QtyEnd, q.ValueEnd, " + "q.QtyPlusCorrection, q.QtyMinusCorrection, " + "q.ValuePlusCorrection, q.ValueMinusCorrection, " + "q.QtyPayment, q.PaymentPrice, q.PaymentValue " + "FROM (ProductQty q INNER JOIN Product p on q.ProductId=p.ID) " + "WHERE q.ProductId = '{" + productId + "}' AND q.ActiveMonth = " + month + " AND q.ActiveYear = " + year; productQty = em.ExecuteObject <ProductQty>(sql, new ProductQtyMapper()); } return(productQty); }
private void PopulateProductQty2(ProductQty productQty) { var item = new ListViewItem(productQty.ID.ToString()); item.SubItems.Add(productQty.ActiveYear.ToString()); item.SubItems.Add(Store.GetMonthName(productQty.ActiveMonth)); item.SubItems.Add(productQty.QtyBegin.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.ValueBegin.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.QtyIn.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.PurchasePrice.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.QtyAvailable.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.ValueAverage.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.ValueAvailable.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.QtyOut.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.SalesPrice.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.QtyEnd.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.ValueEnd.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.QtyPlusCorrection.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.QtyMinusCorrection.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.ValuePlusCorrection.ToString("N0").Replace(",", ".")); item.SubItems.Add(productQty.ValueMinusCorrection.ToString("N0").Replace(",", ".")); lvwProductQty2.Items.Add(item); }
private void ProductQtyNewPeriod() { //cek periode baru int newYear = 0; int newMonth = 0; if (Store.ActiveMonth < 12) { newYear = Store.ActiveYear; newMonth = Store.ActiveMonth + 1; } else { newYear = Store.ActiveYear + 1; newMonth = 1; } ProductQty productQty = new ProductQty(); var newQty = productQtyRepository.GetAll(newMonth, newYear); if (newQty.Count == 0) { //cari data lama var oldQty = productQtyRepository.GetAll(Store.ActiveMonth, Store.ActiveYear); foreach (var p in oldQty) { productQty.ActiveYear = newYear; productQty.ActiveMonth = newMonth; productQty.ProductId = p.ProductId; productQty.QtyBegin = p.QtyEnd; productQty.ValueBegin = p.ValueEnd; productQty.QtyIn = 0; productQty.PurchasePrice = 0; productQty.QtyAvailable = 0; productQty.ValueAverage = 0; productQty.ValueAvailable = 0; productQty.QtyOut = 0; productQty.SalesPrice = 0; productQty.QtyEnd = p.QtyEnd; productQty.ValueEnd = p.ValueEnd; productQty.QtyPlusCorrection = 0; productQty.QtyMinusCorrection = 0; productQty.ValuePlusCorrection = 0; productQty.ValueMinusCorrection = 0; productQtyRepository.Save(productQty); } } else { foreach (var newQ in newQty) { //cari data lama var oldQty1 = productQtyRepository.GetByMonthAndYear(Store.ActiveMonth, Store.ActiveYear, newQ.ProductId); if (oldQty1 != null) { productQtyRepository.UpdateQtyBegin(newMonth, newYear, oldQty1.ProductId, oldQty1.QtyEnd, oldQty1.ValueEnd); } } inventoryRepository.GenerateInventory(newMonth, newYear); } }
private void SaveProduct() { if (txtCode.Text == "") { MessageBox.Show("Kode harus diisi", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); txtCode.Focus(); } else if (formMode == FormMode.Add && productRepository.IsProductCodeExisted(txtCode.Text)) { MessageBox.Show("Kode : " + txtCode.Text + "\n\n" + "sudah ada ", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (cboCategory.Text == "") { MessageBox.Show("Kategori harus diisi", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); txtName.Focus(); } else if (txtName.Text == "") { MessageBox.Show("Nama harus diisi", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); txtName.Focus(); } else if (formMode == FormMode.Add && productRepository.IsProductNameExisted(txtName.Text)) { MessageBox.Show("Nama : " + txtName.Text + "\n\n" + "sudah ada ", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (txtUnit.Text == "") { MessageBox.Show("Satuan harus diisi", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); txtUnit.Focus(); } else { var product = new Product(); product.Code = txtCode.Text; product.Name = txtName.Text; product.CategoryId = new Guid(txtCategoryId.Text); product.Unit = txtUnit.Text; product.Notes = txtNotes.Text; product.IsActive = chkIsActive.Checked; if (formMode == FormMode.Add) { productRepository.Save(product); GetLastProduct(); } else if (formMode == FormMode.Edit) { product.ID = new Guid(txtID.Text); var productQtyItems = new List <ProductQty>(); if (Store.IsAdministrator) { foreach (ListViewItem item in lvwProductQty.Items) { string id = item.SubItems[0].Text; string year = item.SubItems[1].Text; string month = item.SubItems[2].Text; string qtyBegin = item.SubItems[3].Text; string valueBegin = item.SubItems[4].Text; string qtyIn = item.SubItems[5].Text; string purchasePrice = item.SubItems[6].Text; string qtyAvailable = item.SubItems[7].Text; string valueAverage = item.SubItems[8].Text; string valueAvailable = item.SubItems[9].Text; string qtyOut = item.SubItems[10].Text; string salesPrice = item.SubItems[11].Text; string qtyEnd = item.SubItems[12].Text; string valueEnd = item.SubItems[13].Text; string qtyPlusCorrection = item.SubItems[14].Text; string qtyMinusCorrection = item.SubItems[15].Text; string valuePlusCorrection = item.SubItems[16].Text; string valueMinusCorrection = item.SubItems[17].Text; var pq = new ProductQty(); pq.ID = new Guid(id); pq.ProductId = new Guid(txtID.Text); pq.ActiveMonth = Store.GetMonthCode(month); pq.ActiveYear = int.Parse(year); pq.QtyBegin = int.Parse(qtyBegin); pq.ValueBegin = decimal.Parse(valueBegin.Replace(".", "")); pq.QtyIn = int.Parse(qtyIn); pq.PurchasePrice = decimal.Parse(purchasePrice.Replace(".", "")); pq.QtyAvailable = int.Parse(qtyAvailable); pq.ValueAverage = decimal.Parse(valueAverage.Replace(".", "")); pq.ValueAvailable = decimal.Parse(valueAvailable.Replace(".", "")); pq.QtyOut = int.Parse(qtyOut); pq.SalesPrice = decimal.Parse(salesPrice.Replace(".", "")); pq.QtyEnd = int.Parse(qtyEnd); pq.ValueEnd = decimal.Parse(valueEnd.Replace(".", "")); pq.QtyPlusCorrection = int.Parse(qtyPlusCorrection); pq.QtyMinusCorrection = int.Parse(qtyMinusCorrection); pq.ValuePlusCorrection = decimal.Parse(valuePlusCorrection.Replace(".", "")); pq.ValueMinusCorrection = decimal.Parse(valueMinusCorrection.Replace(".", "")); productQtyItems.Add(pq); } } else //dummy { foreach (ListViewItem item in lvwProductQty2.Items) { string id = item.SubItems[0].Text; string year = item.SubItems[1].Text; string month = item.SubItems[2].Text; string qtyBegin = item.SubItems[3].Text; string valueBegin = item.SubItems[4].Text; string qtyIn = item.SubItems[5].Text; string purchasePrice = item.SubItems[6].Text; string qtyAvailable = item.SubItems[7].Text; string valueAverage = item.SubItems[8].Text; string valueAvailable = item.SubItems[9].Text; string qtyOut = item.SubItems[10].Text; string salesPrice = item.SubItems[11].Text; string qtyEnd = item.SubItems[12].Text; string valueEnd = item.SubItems[13].Text; string qtyPlusCorrection = item.SubItems[14].Text; string qtyMinusCorrection = item.SubItems[15].Text; string valuePlusCorrection = item.SubItems[16].Text; string valueMinusCorrection = item.SubItems[17].Text; var pq = new ProductQty(); pq.ID = new Guid(id); pq.ProductId = new Guid(txtID.Text); pq.ActiveMonth = Store.GetMonthCode(month); pq.ActiveYear = int.Parse(year); pq.QtyBegin = int.Parse(qtyBegin); pq.ValueBegin = decimal.Parse(valueBegin.Replace(".", "")); pq.QtyIn = int.Parse(qtyIn); pq.PurchasePrice = decimal.Parse(purchasePrice.Replace(".", "")); pq.QtyAvailable = int.Parse(qtyAvailable); pq.ValueAverage = decimal.Parse(valueAverage.Replace(".", "")); pq.ValueAvailable = decimal.Parse(valueAvailable.Replace(".", "")); pq.QtyOut = int.Parse(qtyOut); pq.SalesPrice = decimal.Parse(salesPrice.Replace(".", "")); pq.QtyEnd = int.Parse(qtyEnd); pq.ValueEnd = decimal.Parse(valueEnd.Replace(".", "")); pq.QtyPlusCorrection = int.Parse(qtyPlusCorrection); pq.QtyMinusCorrection = int.Parse(qtyMinusCorrection); pq.ValuePlusCorrection = decimal.Parse(valuePlusCorrection.Replace(".", "")); pq.ValueMinusCorrection = decimal.Parse(valueMinusCorrection.Replace(".", "")); productQtyItems.Add(pq); } } product.ProductQty = productQtyItems; productRepository.Update(product); } LoadProducts(); DisableForm(); formMode = FormMode.View; } }