public bool SavePurchaseDetails(PurchaseDetailModel purchaseDetail)
        {
            try
            {
                DBConnect  db  = new DBConnect();
                SqlCommand cmd = new SqlCommand();
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "SELECT COUNT(*) FROM PurchaseDetails";

                DataTable tbl = db.GetData(cmd);
                string    purchaseDetailID = (Convert.ToInt32(tbl.Rows[0][0].ToString()) + 1).ToString();

                cmd             = new SqlCommand();
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = String.Format("INSERT INTO PurchaseDetails VALUES({0},{1},{2},{3},{4},'{5}')", purchaseDetailID, purchaseDetail.purchaseId, purchaseDetail.productId, purchaseDetail.quantity, purchaseDetail.price, purchaseDetail.activationCode);

                var rowAffected = db.SetData(cmd);

                if (rowAffected > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
 public IActionResult updatePurchaseDetails([FromBody] PurchaseDetailModel request)
 {
     try {
         User currentUser = _userService.CheckUseRole(_httpContextAccessor.HttpContext.User, menu, "update");
         if (currentUser != null)
         {
             PurchaseDetailModel model = _context.PurchaseDetails.FirstOrDefault(p => p.id == request.id);
             model.date       = request.date;
             model.inv_no     = request.inv_no;
             model.item_id    = request.item_id;
             model.unit_id    = request.unit_id;
             model.price      = request.price;
             model.qty        = request.qty;
             model.total      = request.total;
             model.discount   = request.discount;
             model.tax        = request.tax;
             model.net_amount = request.net_amount;
             model.status     = request.status;
             _context.SaveChanges();
             _eventService.SaveEvent(currentUser.User_Id, EventUserLog.EVENT_UPDATE, model.inv_no.ToString(), "PurchaseDetail");
             return(Ok(model));
         }
         else
         {
             return(Ok(SendResult.SendError("You don`t have update permision.")));
         }
     } catch (Exception error) {
         Console.WriteLine(error);
         return(BadRequest(SendResult.SendError("You don`t update PurchaseDetail info")));
     }
 }
        public PurchaseModel ConstructPurchase(List <int> cartList)
        {
            PurchaseModel purchase = new PurchaseModel();

            purchase.purchaseDetails = new List <PurchaseDetailModel>();
            foreach (var productID in cartList)
            {
                if (purchase.purchaseDetails.Where(x => x.productId == productID).ToList().Count <= 0)
                {
                    PurchaseDetailModel purchaseDetail = new PurchaseDetailModel();
                    purchaseDetail.purchaseDetailId = purchase.purchaseDetails.Count + 1;
                    purchaseDetail.productId        = productID;
                    purchaseDetail.quantity         = cartList.Count(c => c == productID);
                    string[] activationCode = new string[purchaseDetail.quantity];
                    for (int i = 0; i < purchaseDetail.quantity; i++)
                    {
                        activationCode[i] = Guid.NewGuid().ToString();
                    }
                    purchaseDetail.activationCode = string.Join(", ", activationCode);
                    purchase.purchaseDetails.Add(purchaseDetail);
                }
            }

            return(purchase);
        }
Example #4
0
        private void AddPurchaseItem()
        {
            int     qty             = int.Parse(QtyTextbox.Text);
            decimal buyingPrice     = UnitPriceTextbox.Text.ToDecimal();
            decimal discountedPrice = DiscountTextbox3.Text.ToDecimal();

            //If no part number is selected, do nothing
            if (this.PartNumberId == 0)
            {
                ClientHelper.ShowErrorMessage("Part number does not exist.");
                return;
            }
            else if (discountedPrice > this._buyingPrice)
            {
                if (ClientHelper.ShowConfirmMessage("Do you want to update this auto part's prices?") ==
                    System.Windows.Forms.DialogResult.Yes)
                {
                    UpdatePricesForm form = new UpdatePricesForm();
                    form.AutoPartDetailId = this.PartNumberId;
                    form.Show();
                    form.Focus();
                    form.FormClosed += (s, a) =>
                    {
                        this._hasForm = false;
                        this.PartNumberSearchTextbox.Focus();
                    };
                    this._hasForm = true;
                }
                this.NotifyAdmin = true;
            }

            IAutoPartDetailModel model = new PurchaseDetailModel()
            {
                AutoPartDetailId = this.PartNumberId,
                Name             = string.Format("{0} - {1}\n{2} / {3} / {4}",
                                                 AutoPartLabel.Text, PartNumberSearchTextbox.Text,
                                                 BrandLabel.Text, ModelLabel.Text, MakeLabel.Text),
                Quantity         = qty,
                Unit             = UnitTextbox.Text,
                UnitPrice        = buyingPrice,
                DiscountedPrice  = DiscountTextbox.Text.ToDecimal(),
                DiscountedPrice2 = DiscountTextbox2.Text.ToDecimal(),
                DiscountedPrice3 = DiscountTextbox3.Text.ToDecimal(),
                DiscountPercent  = DPercentTextbox.Text.ToDecimal(),
                DiscountPercent2 = DPercentTextbox2.Text.ToDecimal(),
                DiscountPercent3 = DPercentTextbox3.Text.ToDecimal(),
                DiscountPercents = string.Format("Less: {0}% + {1}% + {2}%",
                                                 DPercentTextbox.Text == ZeroCurrency ? "0" : DPercentTextbox.Text,
                                                 DPercentTextbox2.Text == ZeroCurrency ? "0" : DPercentTextbox2.Text,
                                                 DPercentTextbox3.Text == ZeroCurrency ? "0" : DPercentTextbox3.Text),
                TotalDiscount = TotalDiscountTextbox.Text.ToDecimal(),
                TotalAmount   = TotalAmountTextbox.Text.ToDecimal()
            };

            this.ItemList.Insert(0, model);
        }
        public List <PurchaseDetailModel> GetPurchaseHistory(string userId)
        {
            List <PurchaseDetailModel> purchases = new List <PurchaseDetailModel>();

            try
            {
                //string productIDs = string.Join(", ", products);

                DBConnect  db  = new DBConnect();
                SqlCommand cmd = new SqlCommand();
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = $"SELECT header.PurchaseID,header.PurchaseDate,detail.PurchaseDetailID,detail.ProductID,detail.Quantity,detail.Price,detail.ActivationCode,product.ProductName,product.Description,product.ImagePath FROM Purchases header JOIN PurchaseDetails detail ON detail.PurchaseID = header.PurchaseID JOIN Products product ON detail.ProductID = product.ProductID WHERE UserID = {userId}";
                DataTable tbl = db.GetData(cmd);

                if (tbl != null)
                {
                    foreach (DataRow row in tbl.Rows)
                    {
                        PurchaseModel       header   = new PurchaseModel();
                        PurchaseDetailModel purchase = new PurchaseDetailModel();
                        ProductModel        product  = new ProductModel();
                        header.purchaseId         = Convert.ToInt32(row[0].ToString());
                        header.purchaseDate       = Convert.ToDateTime(row[1].ToString());
                        purchase.purchaseId       = Convert.ToInt32(row[0].ToString());
                        purchase.purchaseDetailId = Convert.ToInt32(row[2].ToString());
                        purchase.productId        = Convert.ToInt32(row[3].ToString());
                        purchase.quantity         = Convert.ToInt32(row[4].ToString());
                        purchase.price            = Convert.ToDecimal(row[5].ToString());
                        purchase.activationCode   = row[6].ToString();
                        product.productId         = Convert.ToInt32(row[3].ToString());
                        product.productName       = row[7].ToString();
                        product.description       = row[8].ToString();
                        product.imagePath         = row[9].ToString();

                        purchase.PurchaseHeader = header;
                        purchase.Product        = product;

                        purchases.Add(purchase);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            return(purchases);
        }
 public IActionResult getPurchaseDetails([FromBody] JObject request)
 {
     try {
         User currentUser = _userService.CheckUseRole(_httpContextAccessor.HttpContext.User, menu, "read");
         if (currentUser != null)
         {
             int id = request["id"].Value <int>();
             PurchaseDetailModel model = _context.PurchaseDetails.FirstOrDefault(s => s.id == id);
             return(Ok(model));
         }
         else
         {
             return(Ok(SendResult.SendError("You don`t have read permision.")));
         }
     } catch (Exception error) {
         Console.WriteLine(error);
         return(BadRequest(SendResult.SendError("You don`t get PurchaseDetail info")));
     }
 }
        public ActionResult Detail(string id, string item, int page = 1)
        {
            Validate validate = new Validate();

            validate.CheckStringArgument("Id", id, true);
            if (validate.IsFailed)
            {
                return(RedirectToAction("Error", "Common", validate.ErrorMessages));
            }

            PurchaseDetailModel model = new PurchaseDetailModel(this.purchaseService.Select(id), item, page);
            Dictionary <string, PurchaseItemCacheModel> items = ParameterHelper.GetPurchaseItem(model.Category, false);
            PurchaseItemCacheModel query = items[model.Item];

            if (query != null)
            {
                model.Item = query.Name;
            }
            return(View(model));
        }
 public IActionResult CreatePurchaseDetail([FromBody] PurchaseDetailModel request)
 {
     try {
         User currentUser = _userService.CheckUseRole(_httpContextAccessor.HttpContext.User, menu, "create");
         if (currentUser != null)
         {
             request.date       = DateTime.Now;
             request.created_by = currentUser.User_Id;
             _context.Add(request);
             _context.SaveChanges();
             _eventService.SaveEvent(currentUser.User_Id, EventUserLog.EVENT_CREATE, request.inv_no.ToString(), "PurchaseDetail");
             return(Ok(request));
         }
         else
         {
             return(Ok(SendResult.SendError("You don`t have create permision.")));
         }
     } catch (Exception error) {
         Console.WriteLine(error);
         return(BadRequest(SendResult.SendError("You don`t create new PurchaseDetail")));
     }
 }
 public IActionResult removePurchaseDetails([FromBody] JObject request)
 {
     try {
         User currentUser = _userService.CheckUseRole(_httpContextAccessor.HttpContext.User, menu, "delete");
         if (currentUser != null)
         {
             int id = request["id"].Value <int>();
             PurchaseDetailModel model = _context.PurchaseDetails.FirstOrDefault(p => p.id == id);
             string name = model.inv_no.ToString();
             _context.PurchaseDetails.Remove(model);
             _context.SaveChanges();
             _eventService.SaveEvent(currentUser.User_Id, EventUserLog.EVENT_REMOVE, name, "PurchaseDetails");
             return(Ok(true));
         }
         else
         {
             return(Ok(SendResult.SendError("You don`t have delete permision.")));
         }
     } catch (Exception error) {
         Console.WriteLine(error);
         return(BadRequest(SendResult.SendError("You don`remove PurchaseDetail")));
     }
 }
 public void Insert(PurchaseDetailModel purchasedetailmodel)
 {
     throw new NotImplementedException();
 }