Beispiel #1
0
        private void UpsertStock(StockSummaryModel item)
        {
            if (item.lstStock.Count > 0)
            {
                foreach (var stock in item.lstStock)
                {
                    if (string.IsNullOrWhiteSpace(connectionString))
                    {
                        throw new Exception();
                    }

                    connection = new SqlConnection(connectionString);
                    connection.Open();
                    if (connection == null)
                    {
                        throw new Exception();
                    }

                    SqlCommand command = new SqlCommand("tblSockUpsert", connection)
                    {
                        CommandType = CommandType.StoredProcedure
                    };
                    command.Parameters.Add(new SqlParameter("@stockid", stock.iStockId));
                    command.Parameters.Add(new SqlParameter("@userDetailsId", stock.objUserDetails.iUserDetailsId));
                    command.Parameters.Add(new SqlParameter("@fruitId", item.objFruit.iFruitId));
                    command.Parameters.Add(new SqlParameter("@status", stock.bStatus));
                    command.Parameters.Add(new SqlParameter("@DeliveryDate", stock.dDeliveryDate));
                    command.Parameters.Add(new SqlParameter("@note", stock.sNote));
                    command.Parameters.Add(new SqlParameter("@quantity", stock.deQuantityAdded));
                    command.Parameters.Add(new SqlParameter("@purchasePrice", stock.dePurchasePrice));

                    command.ExecuteNonQuery();
                }
            }
        }
Beispiel #2
0
 private void AssignValue()
 {
     stock = new StockSummaryModel()
     {
         objFruit = new clsFruitModel()
         {
             iFruitId     = 0,
             sFruitName   = txtFruit.Text.Trim(),
             eMeasurement = clsCommon.GetMeasurementType(Convert.ToInt32(drpMeasureUnit.SelectedValue.ToString())),
             sDescription = txtDescription.Text.Trim(),
             bStatus      = true,
             deQuantity   = string.IsNullOrWhiteSpace(txtQuantiy.Text.Trim()) ? 0 : Convert.ToDecimal(txtQuantiy.Text.Trim()),
             deUnitPrice  = string.IsNullOrWhiteSpace(txtUnitPrice.Text.Trim()) ? 0 : Convert.ToDecimal(txtUnitPrice.Text.Trim()),
         },
         lstStock = new List <clsStockModel>()
         {
             new clsStockModel()
             {
                 iStockId       = 0,
                 objUserDetails = new clsUserDetailsModel()
                 {
                     iUserDetailsId = Convert.ToInt32(drpSuppliers.SelectedValue.ToString())
                 },
                 bStatus         = true,
                 sNote           = txtNote.Text.Trim(),
                 deQuantityAdded = string.IsNullOrWhiteSpace(txtQuantiy.Text.Trim()) ? 0 : Convert.ToDecimal(txtQuantiy.Text.Trim()),
                 dDeliveryDate   = GetValidDate(txtDate.Text.Trim()),
                 dePurchasePrice = string.IsNullOrWhiteSpace(txtPurchasePrice.Text.Trim()) ? 0 : Convert.ToDecimal(txtPurchasePrice.Text.Trim())
             }
         }
     };
 }
Beispiel #3
0
        public void UpsertInventory(StockSummaryModel item)
        {
            DataSet fruit = new DataSet();

            fruit = UpsertFruit(item.objFruit);
            item.objFruit.iFruitId = Convert.ToInt32(fruit.Tables[0].Rows[0][0]);

            UpsertStock(item);
        }
Beispiel #4
0
        protected void btnProcess_Click(object sender, EventArgs e)
        {
            try
            {
                StockSummaryModel stock         = new StockSummaryModel();
                clsOrderModel     selectedOrder = new clsOrderModel();
                stock.objFruit     = new clsFruitModel();
                stock.lstStock     = new List <clsStockModel>();
                pnlError.Visible   = false;
                pnlSuccess.Visible = false;

                selectedOrder = LoadOrdersByOrderId(Convert.ToInt32(drpOrders.SelectedValue));
                if (selectedOrder == null || selectedOrder.iOrderId == 0)
                {
                    throw new Exception();
                }

                stock.objFruit = selectedOrder.objFruit;
                if ((selectedOrder.objFruit.deQuantity - selectedOrder.deQuantity) <= 0)
                {
                    throw new Exception("Ordered quantity greater than available");
                }

                stock.objFruit.deQuantity = selectedOrder.objFruit.deQuantity - selectedOrder.deQuantity;
                businessLayer.UpsertInventory(stock);

                businessLayer.UpdateOrderStatus(Convert.ToInt32(drpOrders.SelectedValue), OrderType.Processing);

                LoadOrders();

                selectedOrder = LoadOrdersByOrderId(Convert.ToInt32(drpOrders.SelectedValue));
                if (selectedOrder != null || selectedOrder.iOrderId != 0)
                {
                    AssignValue(selectedOrder);
                }

                pnlError.Visible   = false;
                pnlSuccess.Visible = true;
            }
            catch (Exception ex)
            {
                lblErrorDetails.Text = ex.Message;
                pnlError.Visible     = true;
                pnlSuccess.Visible   = false;
            }
        }
Beispiel #5
0
        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                clsFruitModel fruitResult = new clsFruitModel()
                {
                    bStatus      = true,
                    deQuantity   = string.IsNullOrWhiteSpace(txtQuatity.Text.Trim()) ? 0 : Convert.ToDecimal(txtQuatity.Text.Trim()),
                    deUnitPrice  = string.IsNullOrWhiteSpace(txtUnitPrice.Text.Trim()) ? 0 : Convert.ToDecimal(txtUnitPrice.Text.Trim()),
                    eMeasurement = clsCommon.GetMeasurementType(Convert.ToInt32(drpMeasureUnit.SelectedValue)),
                    iFruitId     = Convert.ToInt32(drpFruit.SelectedValue),
                    sDescription = txtDescription.Text.Trim(),
                    sFruitName   = txtname.Text.Trim()
                };

                StockSummaryModel result = new StockSummaryModel()
                {
                    objFruit = fruitResult,
                    lstStock = new List <clsStockModel>()
                };

                businessLayer.UpsertInventory(result);
                pnlError.Visible   = false;
                pnlSuccess.Visible = true;

                drpFruit.Items.Clear();
                List <clsFruitModel> fruits = new List <clsFruitModel>();
                fruits = master.RetrieveFruits();

                foreach (var item in fruits)
                {
                    ListItem list = new ListItem(item.sFruitName, item.iFruitId.ToString(), true);
                    drpFruit.Items.Add(list);
                }

                drpFruit.SelectedIndex = 0;
                LoadFruitByFruitId(Convert.ToInt32(drpFruit.SelectedValue));
            }
            catch (FormatException ex)
            {
                pnlError.Visible   = true;
                pnlSuccess.Visible = false;

                switch (Convert.ToInt32(ex.Message))
                {
                case (int)ErrorStatus.InventoryInvalidModel:
                    pnlError.Visible     = true;
                    lblErrorDetails.Text = "Invalid fruit details";
                    break;

                case (int)ErrorStatus.InventoryInvalidFruitName:
                    pnlError.Visible     = true;
                    lblErrorDetails.Text = "Invalid fruit name";
                    break;

                case (int)ErrorStatus.InventoryInvalidQuantity:
                    pnlError.Visible     = true;
                    lblErrorDetails.Text = "Invalid quantity";
                    break;

                case (int)ErrorStatus.InventoryInvalidUnitPrice:
                    pnlError.Visible     = true;
                    lblErrorDetails.Text = "Invalid unit price";
                    break;

                case (int)ErrorStatus.InventorySupplierDetails:
                    pnlError.Visible     = false;
                    lblErrorDetails.Text = "invalid supplier details";
                    break;

                case (int)ErrorStatus.InventoryInvalidDeliveryDate:
                    pnlError.Visible     = false;
                    lblErrorDetails.Text = "Invalid delivery date";
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                Response.Redirect(string.Format("~/Error.aspx?stat={0}", (int)ErrorStatus.InventoryConfigurationFail));
            }
        }