public void PlaceOrder(clsOrderModel item) { if (IsOrderValid(item)) { dataLayer.PlaceOrder(item); } }
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(); }
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); }
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"; }
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; } }
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; } }
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); }