private void btnReturnProducts_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult;

            dialogResult = MessageBox.Show("Məhsul iadə edilsin ?", "İadə et", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
            if (dialogResult == DialogResult.Yes)
            {
                try
                {
                    if (lvwReturns.Items.Count > 0)
                    {
                        ReturnedProductsORM returnedProductsORM = new ReturnedProductsORM();
                        ReturnedProducts    returnedProducts    = new ReturnedProducts();
                        returnedProducts.EmployeeID = EmployeesORM.onlineUser.Id;
                        returnedProducts.ReturnDate = DateTime.Now;
                        returnedProducts.SupplierID = (int)cmbSuppliers.SelectedValue;

                        int returnid = Convert.ToInt32(returnedProductsORM.InsertScalar(returnedProducts));
                        if (returnid > 0)
                        {
                            ReturnDetailsORM returnDetailsORM = new ReturnDetailsORM();
                            foreach (ListViewItem item in lvwReturns.Items)
                            {
                                ReturnDetails returnDetails = new ReturnDetails();
                                returnDetails.ReturnID   = returnid;
                                returnDetails.ProductID  = (int)item.Tag;
                                returnDetails.Quantity   = Convert.ToDouble(item.SubItems[3].Text);
                                returnDetails.UnitPrice  = Convert.ToDecimal(item.SubItems[4].Text);
                                returnDetails.TotalPrice = Convert.ToDecimal(item.SubItems[5].Text);

                                returnDetailsORM.InsertScalar(returnDetails);
                            }
                            MessageBox.Show("Məhsullar iadə edildi");
                            btnReturnProducts.Enabled = true;
                            lvwReturns.Items.Clear();
                            txtBarcode.Text    = "Barkod Nömrəsi";
                            txtQuantity.Text   = "Miqdar";
                            lblTotalMoney.Text = "0";

                            btnReturnProducts.Enabled = false;
                        }
                        else
                        {
                            MessageBox.Show("Xəta !!!");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Xahiş edirik iadə etmək istədiyiniz məhsulları qeyd edin !");
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Xəta !!!");
                }
            }
        }
예제 #2
0
        public IActionResult Return(int?OrderId, int?ProductId, int?Quantity, string?Reason)
        {
            if (OrderId == null || ProductId == null)
            {
                return(NotFound());
            }
            Orders       order   = _context.Orders.FirstOrDefault(m => m.Id == OrderId);
            OrderDetails details = _context.OrderDetails.Where(m => m.OrderId == OrderId).Include(o => o.Product).FirstOrDefault(o => o.ProductId == ProductId);

            if (Quantity == 0 || Quantity == null || Reason == null || Quantity > details.Quantity)
            {
                TempData["DangerMsg"] = "Quantity must be greater than 0 but lower then total ordered quantity and reason is required";
                TempData["Styling"]   = "alert rounded shadow alert-danger";
                return(RedirectToAction("Details", new { id = OrderId }));
            }

            Returns returnn = new Returns
            {
                CustomerId     = (int)order.CustomerId,
                OrderId        = order.Id,
                ReturnStatusId = 1,
                TotalPrice     = 0
            };

            _context.Add(returnn);
            _context.SaveChanges();
            ReturnDetails returnDetails = new ReturnDetails
            {
                ReturnId  = returnn.Id,
                ProductId = (int)ProductId,
                Quantity  = (int)Quantity,
                Reason    = (string)Reason
            };

            returnn.TotalPrice = details.Price * returnDetails.Quantity;
            try
            {
                _context.Update(returnn);
                _context.Add(returnDetails);
                _context.SaveChanges();
                TempData["SuccessMsg"] = "Return request was sent";
                TempData["Styling"]    = "alert rounded shadow alert-success";
            }
            catch {
                TempData["DangerMsg"] = "Something went wrong, try again later!";
                TempData["Styling"]   = "alert rounded shadow alert-danger";
                return(RedirectToAction("Details", new { id = OrderId }));
            }



            return(RedirectToAction("Details", new { id = OrderId }));
        }
예제 #3
0
        public override void Save()
        {
            string        id_product    = dgvProducts.Rows[dgvProducts.SelectedCells[0].RowIndex].Cells[0].Value.ToString();
            string        name          = dgvProducts.Rows[dgvProducts.SelectedCells[0].RowIndex].Cells[1].Value.ToString();
            string        mark          = dgvProducts.Rows[dgvProducts.SelectedCells[0].RowIndex].Cells[2].Value.ToString();
            double        price         = double.Parse(dgvProducts.Rows[dgvProducts.SelectedCells[0].RowIndex].Cells[3].Value.ToString());
            int           quantity      = int.Parse(dgvProducts.Rows[dgvProducts.SelectedCells[0].RowIndex].Cells[4].Value.ToString());
            double        amount        = double.Parse(dgvProducts.Rows[dgvProducts.SelectedCells[0].RowIndex].Cells[5].Value.ToString());
            double        total_amount  = double.Parse(txtCurrentAmount.Text);
            var           product       = new Purshase_Product(id_product, name, mark, price, quantity, amount, total_amount);
            ReturnDetails returnDetails = new ReturnDetails(txtIdPurshase.Text, product);

            returnDetails.updateQuantity = new ReturnDetails.UpdateQuantity(UpdateQuantityEventHandler);
            returnDetails.ShowDialog();
        }
예제 #4
0
        public async Task <IActionResult> ReturnReport(ReportsViewModel model)
        {
            DateTime startDateTime = model.FromDate;
            DateTime endDateTime   = model.ToDate.AddDays(1).AddTicks(-1);

            var returns = await
                          _context.Returns.Where(r => r.DateReturned >= startDateTime && r.DateReturned <= endDateTime && r.Status == ReturnStatus.RETURNED).ToListAsync();

            var vm = new IndexReturnsViewModel();

            vm.Returns  = new List <ReturnDetails>();
            vm.FromDate = model.FromDate;
            vm.ToDate   = endDateTime;


            if (returns != null)
            {
                foreach (var r in returns)
                {
                    var product = await _context.Products.FirstOrDefaultAsync(p => p.ProductID == r.ProductID);

                    var user = await _context.Users.FirstOrDefaultAsync(u => u.Id == r.UserID);

                    var details = new ReturnDetails
                    {
                        ReturnQuantity = r.Quantity,
                        User           = user,
                        DateReturned   = r.DateReturned,
                        ProductName    = product.ProductName,
                        Status         = r.Status,
                        ReturnID       = r.ReturnID,
                        TotalPrice     = r.Quantity * product.Price
                    };

                    vm.Returns.Add(details);
                }

                return(new ViewAsPdf("ReturnReport", vm)
                {
                    PageOrientation = Orientation.Landscape,
                    FileName = "ReturnReport_" + DateTime.Now + ".pdf"
                });
            }

            return(NotFound());
        }
예제 #5
0
 public override void Save()
 {
     if (ckbCancelOrder.Checked)
     {
         try
         {
             Purshase.CancelSaleOrder(txtIdPurshase.Text);
             MessageBox.Show("The order has been cancel.", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
             var dialog = MessageBox.Show("Do you want to process a new order?", "", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
             if (dialog == DialogResult.OK)
             {
                 Initialize();
             }
             else
             {
                 this.Close();
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show("Error: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         string        id_product    = dgvProducts.Rows[dgvProducts.SelectedCells[0].RowIndex].Cells[0].Value.ToString();
         string        name          = dgvProducts.Rows[dgvProducts.SelectedCells[0].RowIndex].Cells[1].Value.ToString();
         string        mark          = dgvProducts.Rows[dgvProducts.SelectedCells[0].RowIndex].Cells[2].Value.ToString();
         double        price         = double.Parse(dgvProducts.Rows[dgvProducts.SelectedCells[0].RowIndex].Cells[3].Value.ToString());
         int           quantity      = int.Parse(dgvProducts.Rows[dgvProducts.SelectedCells[0].RowIndex].Cells[4].Value.ToString());
         double        amount        = double.Parse(dgvProducts.Rows[dgvProducts.SelectedCells[0].RowIndex].Cells[5].Value.ToString());
         double        total_amount  = double.Parse(txtCurrentAmount.Text);
         var           product       = new Purshase_Product(id_product, name, mark, price, quantity, amount, total_amount);
         ReturnDetails returnDetails = new ReturnDetails(txtIdPurshase.Text, product);
         returnDetails.updateQuantity = new ReturnDetails.UpdateQuantity(UpdateQuantityEventHandler);
         returnDetails.ShowDialog();
     }
 }
        private void InsertReturnDetails()
        {
            int     retno  = Convert.ToInt32(Request["retno"]);
            string  invno  = Request["invno"];
            int     prodid = Convert.ToInt32(Request["prodid"]);
            int     retqty = Convert.ToInt32(Request["retqty"]);
            string  unit   = Request["unit"];
            decimal unitpx = Convert.ToDecimal(Request["unitpx"]);
            string  reason = Request["reason"];
            //
            ReturnDetails rd = new ReturnDetails();

            rd.RetNo  = retno;
            rd.InvNo  = invno;
            rd.ProdID = prodid;
            rd.RetQty = retqty;
            rd.Unit   = unit;
            rd.UnitPx = unitpx;
            rd.Reason = reason;
            //
            int res = 0;
            JsonBridge <String> ins = new JsonBridge <String>();

            try
            {
                res = ReturnDetails.InsertReturnDetails(rd);
            }catch (Exception) {
                res = 0;
            }

            ins.Valid = res;

            string output = JsonConvert.SerializeObject(ins);

            Response.Write(output);
        }
예제 #7
0
        internal int InsertReturnDetails(ReturnDetails rd)
        {
            base.com.CommandText = "spInsertReturnDetails";
            base.com.Parameters.AddWithValue("RetNo_", rd.RetNo);
            base.com.Parameters.AddWithValue("InvNo_", rd.InvNo);
            base.com.Parameters.AddWithValue("ProdID_", rd.ProdID);
            base.com.Parameters.AddWithValue("RetQty_", rd.RetQty);
            base.com.Parameters.AddWithValue("Unit_", rd.Unit);
            base.com.Parameters.AddWithValue("UnitPx_", rd.UnitPx);
            base.com.Parameters.AddWithValue("Reason_", rd.Reason);
            //
            int res = 0;

            try
            {
                res = Convert.ToInt32(base.com.ExecuteScalar());
            }
            catch (Exception e)
            {
                res = 0;
            }

            return(res);
        }