Esempio n. 1
0
 public void PlaceOrder(clsOrderModel item)
 {
     if (IsOrderValid(item))
     {
         dataLayer.PlaceOrder(item);
     }
 }
Esempio n. 2
0
        public void PlaceOrder(clsOrderModel item)
        {
            if (string.IsNullOrWhiteSpace(connectionString))
            {
                throw new Exception();
            }

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

            SqlCommand command = new SqlCommand("tblOrderSave", connection)
            {
                CommandType = CommandType.StoredProcedure
            };

            command.Parameters.Add(new SqlParameter("@UserDetailsId", item.objUserDetails.iUserDetailsId));
            command.Parameters.Add(new SqlParameter("@FruitId", item.objFruit.iFruitId));
            command.Parameters.Add(new SqlParameter("@RequestedDate", item.dRequestedDate));
            command.Parameters.Add(new SqlParameter("@Deadline", item.dDeadline));
            command.Parameters.Add(new SqlParameter("@Quantity", item.deQuantity));
            command.Parameters.Add(new SqlParameter("@TotalPrice", item.deTotalPrice));
            command.Parameters.Add(new SqlParameter("@HasDiscount", item.bHasDiscount));
            command.Parameters.Add(new SqlParameter("@DiscountValue", item.sDiscount));
            command.Parameters.Add(new SqlParameter("@DiscountTotalPrice", item.deTotalPriceAfterDiscount));
            command.Parameters.Add(new SqlParameter("@OrderTypeId", (int)item.eOrderType));
            command.Parameters.Add(new SqlParameter("@OrderStatus", item.bStatus));

            command.ExecuteNonQuery();
        }
Esempio n. 3
0
        public List <clsOrderModel> ViewOrder(bool isStaff, int customerId, OrderType orderType)
        {
            List <clsOrderModel> result = new List <clsOrderModel>();
            DataSet dataSet             = new DataSet();

            dataSet = dataLayer.ViewOrder(isStaff, customerId, orderType);

            if (dataSet?.Tables.Count > 0 && (dataSet?.Tables[0].Rows.Count > 0))
            {
                foreach (DataRow item in dataSet.Tables[0].Rows)
                {
                    clsOrderModel order = new clsOrderModel()
                    {
                        iOrderId                  = Convert.ToInt32(item[0]),
                        eOrderType                = orderType,
                        dRequestedDate            = Convert.ToDateTime(item[3]),
                        dDeadline                 = Convert.ToDateTime(item[4]),
                        deQuantity                = string.IsNullOrWhiteSpace(item[5].ToString())? 0: Convert.ToDecimal(item[5]),
                        deTotalPrice              = string.IsNullOrWhiteSpace(item[6].ToString()) ? 0 : Convert.ToDecimal(item[6]),
                        bHasDiscount              = Convert.ToBoolean(item[7]),
                        sDiscount                 = item[8].ToString(),
                        deTotalPriceAfterDiscount = string.IsNullOrWhiteSpace(item[9].ToString()) ? 0 : Convert.ToDecimal(item[9]),
                        bStatus        = Convert.ToBoolean(item[11]),
                        objUserDetails = new clsUserDetailsModel()
                        {
                            iUserDetailsId = Convert.ToInt32(item[12]),
                            iUserId        = Convert.ToInt32(item[13]),
                            eUserType      = GetUserType(Convert.ToInt32(item[14])),
                            sName          = item[15].ToString(),
                            sSurname       = item[16].ToString(),
                            sAddress       = item[17].ToString(),
                            sEmail         = item[18].ToString(),
                            sFixLine       = item[19].ToString(),
                            sWebsite       = item[20].ToString(),
                            sNote          = item[21].ToString(),
                            sCompany       = item[22].ToString(),
                            sBRN           = item[23].ToString(),
                            iCountryId     = Convert.ToInt32(item[24]),
                            sMobile        = item[25].ToString(),
                            bStatus        = Convert.ToBoolean(item[26]),
                            sFax           = item[27].ToString(),
                        },
                        objFruit = new clsFruitModel()
                        {
                            iFruitId     = Convert.ToInt32(item[28]),
                            sFruitName   = item[29].ToString(),
                            sDescription = item[30].ToString(),
                            deQuantity   = string.IsNullOrWhiteSpace(item[31].ToString()) ? 0 : Convert.ToDecimal(item[31]),
                            eMeasurement = GetMeasurementType(Convert.ToInt32(item[32])),
                            bStatus      = Convert.ToBoolean(item[33]),
                            deUnitPrice  = string.IsNullOrWhiteSpace(item[34].ToString()) ? 0 : Convert.ToDecimal(item[34])
                        }
                    };
                    result.Add(order);
                }
            }

            return(result);
        }
Esempio n. 4
0
        private void AssignValue(clsOrderModel selectedOrder)
        {
            txtfruit.Text             = selectedOrder.objFruit.sFruitName;
            txtQuantityAvailable.Text = selectedOrder.objFruit.deQuantity.ToString();
            txtCompany.Text           = selectedOrder.objUserDetails.sCompany;
            txtRequestedOn.Text       = selectedOrder.dRequestedDate.ToString("MM/dd/yyyy");
            txtDeadLine.Text          = selectedOrder.dDeadline.ToString("MM/dd/yyyy");
            txtQuantity.Text          = selectedOrder.deQuantity.ToString();
            TxtTotalPrice.Text        = selectedOrder.bHasDiscount ? selectedOrder.deTotalPriceAfterDiscount.ToString() : selectedOrder.deTotalPrice.ToString();

            lblTotalPrice.Text = selectedOrder.bHasDiscount ? string.Format("Price WT Discount ({0})", selectedOrder.sDiscount) : "Total price";
        }
Esempio n. 5
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;
            }
        }
Esempio n. 6
0
        protected void btnOrder_Click(object sender, EventArgs e)
        {
            try
            {
                clsOrderModel order = new clsOrderModel()
                {
                    iOrderId       = 0,
                    eOrderType     = OrderType.Pending,
                    objUserDetails = new clsUserDetailsModel()
                    {
                        iUserId        = userDetails.iUserId,
                        iUserDetailsId = userDetails.iUserDetailsId
                    },
                    objFruit = new clsFruitModel()
                    {
                        iFruitId     = fruit.iFruitId,
                        bStatus      = fruit.bStatus,
                        deQuantity   = fruit.deQuantity,
                        deUnitPrice  = fruit.deUnitPrice,
                        eMeasurement = fruit.eMeasurement,
                        sDescription = fruit.sDescription,
                        sFruitName   = fruit.sFruitName
                    },
                    bStatus                   = true,
                    deQuantity                = string.IsNullOrWhiteSpace(txtQuantity.Text) ? 0 : Convert.ToDecimal(txtQuantity.Text),
                    bHasDiscount              = string.IsNullOrWhiteSpace(txtDiscountPrice.Text) ? false : true,
                    dDeadline                 = GetValidDate(txtDeadLine.Text),
                    dRequestedDate            = GetValidDate(txtRequestedOn.Text),
                    deTotalPrice              = string.IsNullOrWhiteSpace(txtTotalPrice.Text) ? 0 : Convert.ToDecimal(txtTotalPrice.Text),
                    deTotalPriceAfterDiscount = string.IsNullOrWhiteSpace(txtDiscountPrice.Text) ? 0 : Convert.ToDecimal(txtDiscountPrice.Text),
                    sDiscount                 = txtDiscount.Text
                };

                BusinessLayer.PlaceOrder(order);

                pnlError.Visible   = false;
                pnlSuccess.Visible = true;
            }
            catch (Exception ex)
            {
                pnlSuccess.Visible   = false;
                pnlError.Visible     = true;
                lblErrorDetails.Text = ex.Message;
            }
        }
Esempio n. 7
0
        private bool IsOrderValid(clsOrderModel item)
        {
            bool result = true;

            if (item.objUserDetails == null || item.objUserDetails.iUserId == 0 || item.objUserDetails.iUserDetailsId == 0)
            {
                throw new Exception("Invalid user");
            }

            if (item.dRequestedDate < DateTime.Today)
            {
                throw new Exception("Invalid requested date");
            }

            if (item.dDeadline < DateTime.Today)
            {
                throw new Exception("Invalid deadline date");
            }

            if (item.deQuantity == 0)
            {
                throw new Exception("Invalid quantity");
            }

            if (item.objFruit.iFruitId == 0)
            {
                throw new Exception("Invalid fruit");
            }

            if (item.objFruit.deQuantity < item.deQuantity)
            {
                throw new Exception("Fruit quantity not available");
            }

            if (item.dDeadline <= item.dRequestedDate)
            {
                throw new Exception("Deadline cannot be less that requested date");
            }

            return(result);
        }