Beispiel #1
0
        private void btnSelectItems_Click(object sender, EventArgs e)
        {
            DataSet ds = SelectItems("");

            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                CustomerOrderDetails oCustOrder = new CustomerOrderDetails(ds, string.Empty);
                oCustOrder.ShowDialog();
                DataTable dtNew = new DataTable();
                dtNew = oCustOrder.dtCustOrderDetails;
                if (dtNew != null && dtNew.Rows.Count > 0)
                {
                    tableLayoutPanel1.Visible = true;
                    grItems.DataSource        = dtNew.DefaultView;
                }
                else
                {
                    tableLayoutPanel1.Visible = false;
                }
            }
            else if (string.IsNullOrEmpty(txtCustomerOrder.Text))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("PLEASE SELECT THE CUSTOMER ORDER.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                }
            }
            else
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("NO ITEM DETAILS PRESENT.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                }
            }
        }
Beispiel #2
0
        private bool isValid()
        {
            if (string.IsNullOrEmpty(txtCustomerName.Text.Trim()))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Customer name can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    txtCustomerName.Focus();
                    return(false);
                }
            }
            if (string.IsNullOrEmpty(txtaddress.Text.Trim()))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Customer Address can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    txtaddress.Focus();
                    return(false);
                }
            }
            if (string.IsNullOrEmpty(txtContactNo.Text.Trim()))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Contact No cannot be less than Order Date", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    txtContactNo.Focus();
                    return(false);
                }
            }

            else
            {
                return(true);
            }
        }
Beispiel #3
0
        //public frmCustOrderPaySchedule(DataSet dsSearchedDetails, IPosTransaction posTransaction, IApplication Application, DataTable dtPaySch, decimal dTotAmount)
        //{
        //    InitializeComponent();

        //    #region
        //    pos = posTransaction;
        //    application = Application;
        //    this.dtPaySched = dtPaySch;
        //    frmCustOrd = new frmCustomerOrder(posTransaction, Application);
        //    sOrderNum = frmCustOrd.txtOrderNo.Text;
        //    DataTable dtTempShow = new DataTable();

        //    lblOrderNo.Text = sOrderNum;
        //    lblTotAmt.Text = Convert.ToString(dTotAmount);

        //    foreach (DataRow dr in dtPaySch.Rows)
        //    {
        //        dtTemp.ImportRow(dr);
        //    }

        //    gridPaySchedule.DataSource = dtTemp;
        //    if (dtTemp != null && dtTemp.Rows.Count > 0)
        //    {
        //        Decimal dTotalAmount = 0m;
        //        Decimal dTotPer = 0m;
        //        foreach (DataRow drTotal in dtTemp.Rows)
        //        {
        //            dTotalAmount += Convert.ToDecimal(drTotal["Amount"]);
        //            dTotPer += Convert.ToDecimal(drTotal["PerAmt"]);
        //        }
        //        lblGridTotAmt.Text = Convert.ToString(dTotalAmount);
        //        lblTotPer.Text = Convert.ToString(dTotPer);
        //    }
        //    gridPaySchedule.DataSource = dtPaySch.DefaultView;

        //    btnCommit.Enabled = false;
        //    btnAdd.Enabled = false;
        //    btnEdit.Enabled = false;
        //    btnDelete.Enabled = false;
        //    btnClear.Enabled = false;
        //    #endregion
        //}


        #region Validate()
        bool isValidate()
        {
            if (string.IsNullOrEmpty(lblTotAmt.Text.Trim()))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("No Item selected in for the order", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    btnAdd.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }
            if (string.IsNullOrEmpty(txtPer.Text.Trim()))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Percentage can not be Zero.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtAmt.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }
            if (Convert.ToDecimal(txtAmt.Text.Trim()) == 0m)
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Amount can not be Zero.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtAmt.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }

            else
            {
                return(true);
            }
        }
Beispiel #4
0
 /// <summary>
 /// DEV BY RIPAN HOSSAIN ON 12-03-2013
 /// Purpose :: to show validation message commonly
 /// </summary>
 /// <param name="_msg"></param>
 /// <returns></returns>
 public string ShowMessage(string _msg)
 {
     using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage(_msg, MessageBoxButtons.OK, MessageBoxIcon.Information))
     {
         LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
         return(_msg);
     }
 }
Beispiel #5
0
        private bool ValidateControls()
        {
            if (string.IsNullOrEmpty(txtGSSNo.Text))
            {
                txtGSSNo.Focus();
                MessageBox.Show("GSS Number is Empty.", "GSS Number is Empty.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }
            if (string.IsNullOrEmpty(txtAmount.Text))
            {
                txtGSSNo.Focus();
                MessageBox.Show("Amount cannot be Empty.", "Amount cannot be Empty.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }
            if (drGoldSS != null && Convert.ToString(drGoldSS["SCHEMETYPE"]).ToUpper().Trim() == "FIXED" && string.IsNullOrEmpty(txtMonths.Text))
            {
                txtMonths.Focus();
                MessageBox.Show("No. of Months cannot be Empty.", "No. of Months cannot be Empty.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }


            if (PosApplication.Instance.TransactionServices.CheckConnection())
            {
                bool bIsValid = false;

                ReadOnlyCollection <object> containerArray;

                containerArray = PosApplication.Instance.TransactionServices.InvokeExtension("validateGSSTransaction", txtGSSNo.Text, txtMonths.Text, txtAmount.Text);

                bIsValid = Convert.ToBoolean(containerArray[1]);

                if (!bIsValid)
                {
                    string strMsg = Convert.ToString(containerArray[2]);
                    MessageBox.Show(strMsg, strMsg, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return(false);
                }
            }
            else
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Transaction Service not found", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                }

                return(false);
            }

            return(true);
        }
Beispiel #6
0
        private DataSet SelectItems(string linenum)
        {
            if (!string.IsNullOrEmpty(txtCustomerOrder.Text))
            {
                DataSet dsCustOrder = new DataSet();
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
                string commandText = string.Empty;

                commandText = " SELECT [ORDERNUM],[LINENUM],[STOREID],[TERMINALID],[ITEMID] " +
                              " ,[CONFIGID],[CODE],[SIZEID] ,[STYLE],[PCS],[QTY],[CRATE] AS [RATE],[RATETYPE] " +
                              " ,[AMOUNT],[MAKINGRATE],[MAKINGRATETYPE],[MAKINGAMOUNT] " +
                              " ,[EXTENDEDDETAILSAMOUNT],[DATAAREAID],[CREATEDON],[STAFFID] " +
                              " FROM [CUSTORDER_DETAILS] " +
                              " WHERE [ORDERNUM]='" + txtCustomerOrder.Text.Trim() + "' AND isDelivered='0';" +
                              " SELECT  [ORDERNUM],[ORDERDETAILNUM],[LINENUM],[STOREID] " +
                              " ,[TERMINALID],[ITEMID],[CONFIGID],[CODE],[SIZEID] " +
                              " ,[STYLE],[PCS],[QTY],[CRATE] AS [RATE],[RATETYPE],[DATAAREAID] " +
                              " ,[AMOUNT] FROM [CUSTORDER_SUBDETAILS] " +
                              " WHERE [ORDERNUM]='" + txtCustomerOrder.Text.Trim() + "' ;";



                SqlDataAdapter adapter = new SqlDataAdapter(commandText, conn);
                adapter.Fill(dsCustOrder);

                if (dsCustOrder == null && dsCustOrder.Tables.Count <= 0 && dsCustOrder.Tables[0].Rows.Count <= 0)
                {
                    using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("NO ITEM DETAILS PRESENT.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                    {
                        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    }

                    return(null);
                }



                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
                return(dsCustOrder);
            }
            return(null);
        }
Beispiel #7
0
        /*
         * private void txtRate_TextChanged(object sender, EventArgs e)
         * {
         *  if (string.IsNullOrEmpty(txtQuantity.Text.Trim()) && (cmbRateType.SelectedIndex == 0 || cmbRateType.SelectedIndex == 1))
         *  {
         *      txtAmount.Text = string.Empty;
         *  }
         *
         *  cmbRateType_SelectedIndexChanged(sender, e);
         * }
         *
         */
        #endregion

        #region Submit Click
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            if (dtItemInfo != null && dtItemInfo.Rows.Count > 0)
            {
                frmRepairDetail.dtSubOrderDetails      = dtItemInfo;
                frmRepairDetail.sExtendedDetailsAmount = 0m;// (string.IsNullOrEmpty(Convert.ToString(txtTotalAmount.Text))) ? 0 : Convert.ToDecimal(txtTotalAmount.Text);
                this.Close();
            }
            else
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Please select at least one item to submit.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    btnPOSItemSearch.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                }
            }
        }
Beispiel #8
0
        private void RefreshGrid()
        {
            // Pop a "loading..." dialog and refresh the list contents in the background.
            using (refreshDialog = new LSRetailPosis.POSProcesses.frmMessage(56141, MessageBoxIcon.Information, true))  //"Searching for orders..."
                using (refreshWorker = new BackgroundWorker())
                {
                    //Create a background worker to fetch the data
                    refreshWorker.DoWork             += refreshWorker_DoWork;
                    refreshWorker.RunWorkerCompleted += refreshWorker_RunWorkerCompleted;

                    //listen to th OnShow event of the dialog so we can kick-off the thread AFTER the dialog is visible
                    refreshDialog.Shown += refreshDialog_Shown;
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(refreshDialog);

                    //Worker thread terminates, which causes the dialog to close, and both can safely dispose at the end of the 'using' scope.
                }
        }
Beispiel #9
0
        /// <summary>
        /// DEV BY RIPAN HOSSAIN ON 06032013 --txtItemId enter event
        /// same as Product search
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void txtItemId_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyValue == 13)
            {
                conn = application.Settings.Database.Connection;

                if (isValiedSku(conn, Convert.ToString(txtItemId.Text)))
                {
                    getSkuDetails(Convert.ToString(txtItemId.Text));

                    txtItemId.Text = string.Empty; // added on 17.08.2013
                }
                else
                {
                    using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Please enter valid SKU.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                    {
                        txtItemId.Text = string.Empty; // added on 17.08.2013
                        txtItemId.Focus();
                        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    }
                }
            }
        }
Beispiel #10
0
 private bool isValid()
 {
     if (!bIsExistDate(dtpDate.Value) && (!bIsEdit))
     {
         using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Already exist record for this date.", MessageBoxButtons.OK, MessageBoxIcon.Information))
         {
             LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
             return(false);
         }
     }
     else if (!bIsValiedDateEntry(dtpDate.Value))
     {
         using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Please enter previous record first.", MessageBoxButtons.OK, MessageBoxIcon.Information))
         {
             LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
             return(false);
         }
     }
     else
     {
         return(true);
     }
 }
Beispiel #11
0
        public void ApplicationStart()
        {
            string source = "IApplicationTriggers.ApplicationStart";
            string value  = "Application has started";

            LSRetailPosis.ApplicationLog.Log(source, value, LSRetailPosis.LogTraceLevel.Debug);
            LSRetailPosis.ApplicationLog.WriteAuditEntry(source, value);

            // If the store is in Brazil, we should only allow to run the POS if the Functionality profile's ISO locale is Brazil
            if (ApplicationSettings.Terminal.StoreCountry.Equals(SupportedCountryRegion.BR.ToString(), StringComparison.OrdinalIgnoreCase) &&
                Functions.CountryRegion != SupportedCountryRegion.BR)
            {
                var message = ApplicationLocalizer.Language.Translate(85082, // The locale must be Brazil. In the POS functionality profile form, on the General tab, in the Locale field, select Brazil.
                                                                      ApplicationSettings.Terminal.StoreCountry);

                using (var form = new LSRetailPosis.POSProcesses.frmMessage(message, MessageBoxButtons.OK, MessageBoxIcon.Error))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(form);
                }

                throw new LSRetailPosis.PosStartupException(message);
            }
        }
Beispiel #12
0
        private void btnCommit_Click(object sender, EventArgs e)
        {
            Decimal MaxAmt = getToleranceAmt() + Convert.ToDecimal(lblTotAmt.Text.Trim());
            Decimal MinAmt = Convert.ToDecimal(lblTotAmt.Text.Trim()) - getToleranceAmt();

            if (Convert.ToDecimal(lblGridTotAmt.Text.Trim()) > MaxAmt)
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Scheduled amount should be equal to total order amount.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtPer.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                }
            }
            else if (Convert.ToDecimal(lblGridTotAmt.Text.Trim()) < MinAmt)
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Scheduled amount should be equal to total order amount.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtPer.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                }
            }
            {
                if (dtPaySched != null && dtPaySched.Rows.Count > 0)
                {
                    frmCustOrd.dtPaySchedule = dtPaySched;
                    this.Close();
                }
                else
                {
                    using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Please select at least one item to submit.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                    {
                        btnAdd.Focus();
                        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    }
                }
            }
        }
Beispiel #13
0
        private void btnProductSearch_Click(object sender, EventArgs e)
        {
            if (IsEdit)
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("You are in editing mode", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return;
                }
            }
            Dialog  objdialog = new Dialog();
            string  str       = string.Empty;
            DataSet dsItem    = new DataSet();

            objdialog.MyItemSearch(50000, ref str, out dsItem, " AND  I.ITEMID IN (SELECT ITEMID FROM INVENTTABLE WHERE RETAIL=1) ");

            saleLineItem = new SaleLineItem();

            if (dsItem != null && dsItem.Tables.Count > 0 && dsItem.Tables[0].Rows.Count > 0)
            {
                if (!string.IsNullOrEmpty(Convert.ToString(dsItem.Tables[0].Rows[0]["ITEMID"])))
                {
                    saleLineItem.ItemId = Convert.ToString(dsItem.Tables[0].Rows[0]["ITEMID"]);
                    txtItemId.Text      = saleLineItem.ItemId;
                    txtItemName.Text    = Convert.ToString(dsItem.Tables[0].Rows[0]["ITEMNAME"]);
                    string sPType    = string.Empty;
                    string sSubPType = string.Empty;
                    string sCollCode = string.Empty;

                    GetItemInfo(saleLineItem.ItemId, ref sPType, ref sSubPType, ref sCollCode);

                    lblProductType.Text   = sPType;
                    lblSubCollection.Text = sSubPType;
                    lblCollection.Text    = sCollCode;
                }
            }
        }
        private void btnUnlock_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtSKUNo.Text.Trim()))
            {
                string sRtlTransId = string.Empty;
                if (IsLocked(txtSKUNo.Text.Trim(), out sRtlTransId))
                {
                    string sMsg = "Please release the SKU from suspended transaction";

                    using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage(sMsg, MessageBoxButtons.OK, MessageBoxIcon.Information))
                    {
                        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    }
                    return;
                }

                string sUnlockMsg = IsBookedSKU(txtSKUNo.Text.Trim());

                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage(sUnlockMsg, MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                }
            }
        }
Beispiel #15
0
        /// <summary>
        /// DEV BY RIPAN HOSSAIN ON 14-03-2013
        /// </summary>
        private void SaveStckTransfer()
        {
            int            iStockTransfer_Header  = 0;
            int            iStockTransfer_Details = 0;
            string         TransferId             = GetStockTransId();
            SqlTransaction transaction            = null;

            //MODIFIED DATE :: 18/03/2013 ; MODIFIED BY : RIPAN HOSSAIN
            #region STOCK TRANSFER HEADER
            string commandText = " INSERT INTO [SKUTransfer_Header]([STOCKTRANSFERID],[STOCKTRANSFERDATE]," +
                                 " [STOCKTRANSFERTYPE],[FROMCOUNTER],[TOCOUNTER],[RETAILSTOREID],[RETAILTERMINALID],[RETAILSTAFFID]," +
                                 " [DATAAREAID],[CREATEDON])" +
                                 " VALUES(@STOCKTRANSFERID,@STOCKTRANSFERDATE,@STOCKTRANSFERTYPE,@FROMCOUNTER,@TOCOUNTER," +
                                 " @RETAILSTOREID,@RETAILTERMINALID,@RETAILSTAFFID," +
                                 " @DATAAREAID,@CREATEDON)";
            SqlConnection connection = new SqlConnection();
            try
            {
                if (application != null)
                {
                    connection = application.Settings.Database.Connection;
                }
                else
                {
                    connection = ApplicationSettings.Database.LocalConnection;
                }


                if (connection.State == ConnectionState.Closed)
                {
                    connection.Open();
                }
                transaction = connection.BeginTransaction();

                SqlCommand command = new SqlCommand(commandText, connection, transaction);
                command.Parameters.Clear();
                command.Parameters.Add("@STOCKTRANSFERID", SqlDbType.NVarChar).Value       = TransferId.Trim();
                command.Parameters.Add("@STOCKTRANSFERDATE", SqlDbType.DateTime).Value     = dtpStockTransfe.Value;
                command.Parameters.Add("@STOCKTRANSFERTYPE", SqlDbType.NVarChar, 10).Value = cmbTransferType.Text;
                command.Parameters.Add("@FROMCOUNTER", SqlDbType.NVarChar, 20).Value       = Convert.ToString(txtFromCounter.Text);
                command.Parameters.Add("@TOCOUNTER", SqlDbType.NVarChar, 20).Value         = Convert.ToString(txtToCounter.Text);
                command.Parameters.Add("@RETAILSTOREID", SqlDbType.NVarChar, 10).Value     = ApplicationSettings.Terminal.StoreId;
                command.Parameters.Add("@RETAILTERMINALID", SqlDbType.NVarChar, 10).Value  = ApplicationSettings.Terminal.TerminalId;
                command.Parameters.Add("@RETAILSTAFFID", SqlDbType.NVarChar, 10).Value     = pos.OperatorId;
                if (application != null)
                {
                    command.Parameters.Add("@DATAAREAID", SqlDbType.NVarChar, 4).Value = application.Settings.Database.DataAreaID;
                }
                else
                {
                    command.Parameters.Add("@DATAAREAID", SqlDbType.NVarChar, 4).Value = ApplicationSettings.Database.DATAAREAID;
                }

                command.Parameters.Add("@CREATEDON", SqlDbType.DateTime).Value = DateTime.Today.ToShortDateString();
                #endregion

                command.CommandTimeout = 0;
                iStockTransfer_Header  = command.ExecuteNonQuery();

                if (iStockTransfer_Header == 1)
                {
                    if (skuItem != null && skuItem.Rows.Count > 0)
                    {
                        #region ORDER DETAILS
                        //MODIFIED DATE :: 18/03/2013 ; MODIFIED BY : RIPAN HOSSAIN
                        string commandCustOrder_Detail = " INSERT INTO [SKUTRANSFER_DETAILS]([STOCKTRANSFERID],[LINENUMBER],[SKUNUMBER],[QTY]," +
                                                         " [RETAILSTOREID],[RETAILTERMINALID],[RETAILSTAFFID],[DATAAREAID])" +
                                                         " VALUES(@STOCKTRANSFERID  ,@LINENUMBER , @SKUNUMBER," +
                                                         " @QTY,@RETAILSTOREID,@RETAILTERMINALID,@RETAILSTAFFID,@DATAAREAID) ";

                        for (int ItemCount = 0; ItemCount < skuItem.Rows.Count; ItemCount++)
                        {
                            SqlCommand cmdStcokTransfer_Detail = new SqlCommand(commandCustOrder_Detail, connection, transaction);
                            cmdStcokTransfer_Detail.Parameters.Add("@STOCKTRANSFERID", SqlDbType.NVarChar, 20).Value = TransferId.Trim();
                            cmdStcokTransfer_Detail.Parameters.Add("@LINENUMBER", SqlDbType.Int, 10).Value           = ItemCount + 1;

                            if (string.IsNullOrEmpty(Convert.ToString(skuItem.Rows[ItemCount]["SKUNUMBER"])))
                            {
                                cmdStcokTransfer_Detail.Parameters.Add("@SKUNUMBER", SqlDbType.NVarChar, 20).Value = DBNull.Value;
                            }
                            else
                            {
                                cmdStcokTransfer_Detail.Parameters.Add("@SKUNUMBER", SqlDbType.NVarChar, 20).Value = Convert.ToString(skuItem.Rows[ItemCount]["SKUNUMBER"]);
                            }

                            if (string.IsNullOrEmpty(Convert.ToString(skuItem.Rows[ItemCount]["QUANTITY"])))
                            {
                                cmdStcokTransfer_Detail.Parameters.Add("@QTY", SqlDbType.Decimal).Value = DBNull.Value;
                            }
                            else
                            {
                                cmdStcokTransfer_Detail.Parameters.Add("@QTY", SqlDbType.Decimal).Value = Convert.ToDecimal(skuItem.Rows[ItemCount]["QUANTITY"]);
                            }

                            cmdStcokTransfer_Detail.Parameters.Add("@RETAILSTOREID", SqlDbType.NVarChar, 10).Value    = ApplicationSettings.Terminal.StoreId;
                            cmdStcokTransfer_Detail.Parameters.Add("@RETAILTERMINALID", SqlDbType.NVarChar, 10).Value = ApplicationSettings.Terminal.TerminalId;
                            cmdStcokTransfer_Detail.Parameters.Add("@RETAILSTAFFID", SqlDbType.NVarChar, 10).Value    = pos.OperatorId;
                            cmdStcokTransfer_Detail.Parameters.Add("@DATAAREAID", SqlDbType.NVarChar, 4).Value        = ApplicationSettings.Database.DATAAREAID;

                            cmdStcokTransfer_Detail.CommandTimeout = 0;
                            iStockTransfer_Details = cmdStcokTransfer_Detail.ExecuteNonQuery();
                            cmdStcokTransfer_Detail.Dispose();
                            #endregion
                        }
                    }
                }
                transaction.Commit();
                command.Dispose();
                transaction.Dispose();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                transaction.Dispose();

                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage(ex.Message.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                }
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
        }
        private void btnPOSItemSearch_Click(object sender, EventArgs e)
        {
            if (IsEdit)
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("You are in editing mode", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return;
                }
            }
            Microsoft.Dynamics.Retail.Pos.Dialog.Dialog objdialog = new Dialog.Dialog();
            string  str    = string.Empty;
            DataSet dsItem = new DataSet();

            objdialog.MyItemSearch(500, ref str, out dsItem);

            saleLineItem = new SaleLineItem();

            if (dsItem != null && dsItem.Tables.Count > 0 && dsItem.Tables[0].Rows.Count > 0)
            {
                saleLineItem.ItemId = Convert.ToString(dsItem.Tables[0].Rows[0]["ITEMID"]);
                Microsoft.Dynamics.Retail.Pos.Item.Item objItem = new Item.Item();
                objItem.MYProcessItem(saleLineItem, application);
                Microsoft.Dynamics.Retail.Pos.Dimension.Dimension objDim = new Dimension.Dimension();
                DataTable dtDimension = new DataTable();
                dtDimension = objDim.GetDimensions(saleLineItem.ItemId);
                if (dtDimension != null && dtDimension.Rows.Count > 0)
                {
                    DimensionConfirmation dimConfirmation = new DimensionConfirmation();
                    dimConfirmation.InventDimCombination = dtDimension;
                    dimConfirmation.DimensionData        = saleLineItem.Dimension;

                    frmDimensions objfrmDim = new frmDimensions(dimConfirmation);
                    objfrmDim.ShowDialog();
                    if (objfrmDim.SelectDimCombination != null)
                    {
                        inventDimId = GetInventID(Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[2]));
                        DataTable dtcmbCode = new DataTable();
                        dtcmbCode.Columns.Add("CodeID", typeof(string));
                        dtcmbCode.Columns.Add("CodeValue", typeof(string));
                        DataRow drCode;
                        drCode              = dtcmbCode.NewRow();
                        drCode["CodeID"]    = Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[4]);
                        drCode["CodeValue"] = Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[4]);
                        dtcmbCode.Rows.Add(drCode);
                        cmbCode.DataSource    = dtcmbCode;
                        cmbCode.DisplayMember = "CodeValue";
                        cmbCode.ValueMember   = "CodeID";

                        DataTable dtSize = new DataTable();
                        dtSize.Columns.Add("SizeID", typeof(string));
                        dtSize.Columns.Add("SizeValue", typeof(string));
                        DataRow drSize;
                        drSize              = dtSize.NewRow();
                        drSize["SizeID"]    = Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[3]);
                        drSize["SizeValue"] = Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[3]);
                        dtSize.Rows.Add(drSize);
                        cmbSize.DataSource    = dtSize;
                        cmbSize.DisplayMember = "SizeID";
                        cmbSize.ValueMember   = "SizeValue";

                        DataTable dtConfig = new DataTable();
                        dtConfig.Columns.Add("ConfigID", typeof(string));
                        dtConfig.Columns.Add("ConfigValue", typeof(string));
                        DataRow drConfig;
                        drConfig                = dtConfig.NewRow();
                        drConfig["ConfigID"]    = Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[6]);
                        drConfig["ConfigValue"] = Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[6]);
                        dtConfig.Rows.Add(drConfig);
                        cmbConfig.DataSource    = dtConfig;
                        cmbConfig.DisplayMember = "ConfigID";
                        cmbConfig.ValueMember   = "ConfigValue";

                        DataTable dtStyle = new DataTable();
                        dtStyle.Columns.Add("StyleID", typeof(string));
                        dtStyle.Columns.Add("StyleValue", typeof(string));
                        DataRow drStyle;
                        drStyle               = dtStyle.NewRow();
                        drStyle["StyleID"]    = Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[5]);
                        drStyle["StyleValue"] = Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[5]);
                        dtStyle.Rows.Add(drStyle);
                        cmbStyle.DataSource    = dtStyle;
                        cmbStyle.DisplayMember = "StyleID";
                        cmbStyle.ValueMember   = "StyleValue";
                        cmbConfig.Enabled      = false;
                        cmbCode.Enabled        = false;
                        cmbSize.Enabled        = false;
                        cmbStyle.Enabled       = false;

                        Previewdimensions = ColorSizeStyleConfig();
                    }
                }
                else
                {
                    cmbStyle.Text     = string.Empty;
                    cmbConfig.Text    = string.Empty;
                    cmbCode.Text      = string.Empty;
                    cmbSize.Text      = string.Empty;
                    cmbConfig.Enabled = false;
                    cmbCode.Enabled   = false;
                    cmbSize.Enabled   = false;
                    cmbStyle.Enabled  = false;
                }
                txtPCS.Focus();
                txtPCS.Text = "";
                SqlConnection conn = new SqlConnection();
                if (application != null)
                {
                    conn = application.Settings.Database.Connection;
                }
                else
                {
                    conn = ApplicationSettings.Database.LocalConnection;
                }

                txtItemId.Text   = Convert.ToString(dsItem.Tables[0].Rows[0]["ITEMID"]);
                txtItemName.Text = Convert.ToString(dsItem.Tables[0].Rows[0]["ITEMNAME"]);


                unitid = saleLineItem.BackofficeSalesOrderUnitOfMeasure;
            }
        }
        bool ValidateControls()
        {
            if (txtItemId.Text.ToUpper().Trim() == "ITEM ID" || string.IsNullOrEmpty(txtItemId.Text))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Item Id can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    btnPOSItemSearch.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }

            if (txtItemName.Text.ToUpper().Trim() == "ITEM NAME" || string.IsNullOrEmpty(txtItemName.Text))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Item name can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    btnPOSItemSearch.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }
            //if(IsCatchWtItem(txtItemId.Text.Trim()))
            //{
            //    if(string.IsNullOrEmpty(txtPCS.Text.Trim()))
            //    {
            //        using(LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("PCS can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
            //        {
            //            txtPCS.Focus();
            //            LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
            //            return false;
            //        }
            //    }
            //}
            //else
            //{
            //    txtPCS.Enabled = false;
            //}

            if ((string.IsNullOrEmpty(txtPCS.Text.Trim()))) //&& (Convert.ToDecimal(txtPCS.Text) > 1)
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("PCS can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtPCS.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }

            if (string.IsNullOrEmpty(txtQuantity.Text.Trim()))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Quantity can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtQuantity.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }

            else
            {
                return(true);
            }
        }
        public void PrePayment(IPreTriggerResult preTriggerResult, IPosTransaction posTransaction, object posOperation, string tenderId)
        {
            RetailTransaction retailTransaction = posTransaction as RetailTransaction;

            LSRetailPosis.Transaction.CustomerPaymentTransaction custTrans = posTransaction as LSRetailPosis.Transaction.CustomerPaymentTransaction;
            if (custTrans != null)
            {
                InputConfirmation inputconfirm = new InputConfirmation();
                inputconfirm.PromptText = "Remarks ";
                inputconfirm.InputType  = InputType.Normal;

                Interaction.frmInput Oinput = new Interaction.frmInput(inputconfirm);
                Oinput.ShowDialog();
                if (!string.IsNullOrEmpty(Oinput.InputText))
                {
                    custTrans.PartnerData.Remarks = Oinput.InputText;
                }
                else
                {
                    custTrans.PartnerData.Remarks = "";
                }

                if ((PosisOperations)posOperation == PosisOperations.PayCreditMemo)
                {
                    preTriggerResult.ContinueOperation = false;
                    return;
                }

                SqlConnection connection = new SqlConnection();

                if (application != null)
                {
                    connection = application.Settings.Database.Connection;
                }
                else
                {
                    connection = ApplicationSettings.Database.LocalConnection;
                }

                Enums.EnumClass oEnum       = new Enums.EnumClass();
                string          sMaxAmount  = string.Empty;
                string          sTerminalID = ApplicationSettings.Terminal.TerminalId;
                string          sMinAmt     = Convert.ToString(oEnum.ValidateMinDeposit(connection, out sMaxAmount, sTerminalID, Convert.ToDecimal((((LSRetailPosis.Transaction.CustomerPaymentTransaction)(posTransaction))).CustomerDepositItem.Amount)));
                if (Convert.ToDecimal(sMinAmt) != 0 && Convert.ToDecimal(sMaxAmount) != 0)
                {
                    if (Convert.ToDecimal(sMinAmt) > Convert.ToDecimal((((LSRetailPosis.Transaction.CustomerPaymentTransaction)(posTransaction))).CustomerDepositItem.Amount) ||
                        Convert.ToDecimal(sMaxAmount) < Convert.ToDecimal((((LSRetailPosis.Transaction.CustomerPaymentTransaction)(posTransaction))).CustomerDepositItem.Amount))
                    {
                        preTriggerResult.ContinueOperation = false;
                        preTriggerResult.MessageId         = 50448;
                        return;
                    }
                }
            }

            //start : RH on 05/11/2014
            if (retailTransaction != null)
            {
                /* InputConfirmation inC = new InputConfirmation();
                 * inC.PromptText = "Remarks";
                 * inC.InputType = InputType.Normal;
                 *
                 * Interaction.frmInput Oinput = new Interaction.frmInput(inC);
                 * Oinput.ShowDialog();
                 * if(!string.IsNullOrEmpty(Oinput.InputText))
                 *   retailTransaction.PartnerData.Remarks = Oinput.InputText;
                 * else
                 *   retailTransaction.PartnerData.Remarks = "";*/

                int iPM    = 100;
                int iCF    = 100;
                int isSale = 0;
                foreach (SaleLineItem saleLineItem in retailTransaction.SaleItems)
                {
                    if (!saleLineItem.Voided)
                    {
                        isSale = 1;
                        iPM    = getMetalType(saleLineItem.ItemId);
                        if (iPM == (int)MetalType.PackingMaterial)
                        {
                            break;
                        }
                    }
                }
                if (isSale == 1 && string.IsNullOrEmpty(retailTransaction.PartnerData.Remarks))
                {
                    InputConfirmation inC = new InputConfirmation();
                    inC.PromptText = "Remarks";
                    inC.InputType  = InputType.Normal;

                    Interaction.frmInput Oinput = new Interaction.frmInput(inC);
                    Oinput.ShowDialog();
                    if (!string.IsNullOrEmpty(Oinput.InputText))
                    {
                        retailTransaction.PartnerData.Remarks = Oinput.InputText;
                    }
                    else
                    {
                        retailTransaction.PartnerData.Remarks = "";
                    }
                }



                if ((isSale == 1 || retailTransaction.SaleIsReturnSale) && string.IsNullOrEmpty(retailTransaction.PartnerData.TouristNumber))
                {
                    using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Tourist VAT Applicable.", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                    {
                        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                        //command.Parameters.Add("@GOLDFIXING", SqlDbType.Bit).Value = Convert.ToString(dialog.DialogResult).ToUpper().Trim() == "YES" ? "True" : "False";
                        if (Convert.ToString(dialog.DialogResult).ToUpper().Trim() == "YES")
                        {
                            InputConfirmation inC = new InputConfirmation();
                            inC.PromptText = "Tourist VAT Applicable";
                            inC.InputType  = InputType.Normal;
                            inC.MaxLength  = 20;

                            Interaction.frmInput Oinput = new Interaction.frmInput(inC);
                            Oinput.ShowDialog();
                            if (!string.IsNullOrEmpty(Oinput.InputText))
                            {
                                retailTransaction.PartnerData.TouristNumber = Oinput.InputText;
                            }
                            else
                            {
                                retailTransaction.PartnerData.TouristNumber = "";
                            }
                        }
                    }
                }



                string sAdjustmentId = AdjustmentItemID();
                foreach (SaleLineItem SLineItem in retailTransaction.SaleItems)
                {
                    //if(SLineItem.ItemId == sAdjustmentId && retailTransaction.SaleItems.Count == 1)
                    //{
                    //    retailTransaction.RefundReceiptId = "1";
                    //    //break;
                    //}

                    if (SLineItem.ItemId == sAdjustmentId && retailTransaction.SaleItems.Count > 0)
                    {
                        retailTransaction.RefundReceiptId = "1";
                    }
                    if (SLineItem.ItemId != sAdjustmentId)
                    {
                        retailTransaction.RefundReceiptId = "";
                        break;
                    }
                }


                foreach (SaleLineItem saleLineItem in retailTransaction.SaleItems)
                {
                    if (!saleLineItem.Voided)
                    {
                        iCF = getMetalType(saleLineItem.ItemId);
                        if (iCF == (int)MetalType.Certificate)
                        {
                            break;
                        }
                    }
                }

                foreach (SaleLineItem saleLineItem in retailTransaction.SaleItems)
                {
                    if (saleLineItem.ReturnLineId == 0)
                    {
                        if (retailTransaction.PartnerData.PackingMaterial != "Y")
                        {
                            if (IsRetailItem(saleLineItem.ItemId))
                            {
                                if (iPM != (int)MetalType.PackingMaterial)
                                {
                                    #region Commented
                                    //using(LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Have you issued packing material?", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                                    //{
                                    //    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                                    //    if(Convert.ToString(dialog.DialogResult).ToUpper().Trim() == "NO")
                                    //    {
                                    //        preTriggerResult.ContinueOperation = false;
                                    //        return;
                                    //    }
                                    //    else
                                    //    {
                                    //        retailTransaction.PartnerData.PackingMaterial = "Y";

                                    //        if(IsCertificateItem(saleLineItem.ItemId))
                                    //        {
                                    //            if(iCF != (int)MetalType.Certificate)
                                    //            {
                                    //                using(LSRetailPosis.POSProcesses.frmMessage dialog1 = new LSRetailPosis.POSProcesses.frmMessage("Have you issued the certificate?", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                                    //                {
                                    //                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog1);
                                    //                    if(Convert.ToString(dialog1.DialogResult).ToUpper().Trim() == "NO")
                                    //                    {
                                    //                        preTriggerResult.ContinueOperation = false;
                                    //                        return;
                                    //                    }
                                    //                    else
                                    //                        retailTransaction.PartnerData.CertificateIssue = "Y";
                                    //                }
                                    //            }
                                    //            else
                                    //                retailTransaction.PartnerData.CertificateIssue = "Y";
                                    //        }
                                    //    }
                                    //}
                                    #endregion
                                    using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Proceed without packing material?", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                                    {
                                        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                                        if (Convert.ToString(dialog.DialogResult).ToUpper().Trim() == "NO")
                                        {
                                            preTriggerResult.ContinueOperation = false;
                                            return;
                                        }
                                    }
                                }
                                else
                                {
                                    retailTransaction.PartnerData.PackingMaterial = "Y";

                                    #region Commented
                                    //if(IsCertificateItem(saleLineItem.ItemId))
                                    //{
                                    //    if(iCF != (int)MetalType.Certificate)
                                    //    {
                                    //        using(LSRetailPosis.POSProcesses.frmMessage dialog1 = new LSRetailPosis.POSProcesses.frmMessage("Have you issued the certificate?", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                                    //        {
                                    //            LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog1);
                                    //            if(Convert.ToString(dialog1.DialogResult).ToUpper().Trim() == "NO")
                                    //            {
                                    //                preTriggerResult.ContinueOperation = false;
                                    //                return;
                                    //            }
                                    //            else
                                    //                retailTransaction.PartnerData.CertificateIssue = "Y";
                                    //        }
                                    //    }
                                    //    else
                                    //        retailTransaction.PartnerData.CertificateIssue = "Y";
                                    //}
                                    #endregion
                                }
                            }
                        }
                        #region Commented
                        //    else if(retailTransaction.PartnerData.CertificateIssue != "Y")
                        //    {
                        //        if(IsCertificateItem(saleLineItem.ItemId))
                        //        {
                        //            if(iCF != (int)MetalType.Certificate)
                        //            {
                        //                using(LSRetailPosis.POSProcesses.frmMessage dialog1 = new LSRetailPosis.POSProcesses.frmMessage("Have you issued the certificate?", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                        //                {
                        //                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog1);
                        //                    if(Convert.ToString(dialog1.DialogResult).ToUpper().Trim() == "NO")
                        //                    {
                        //                        preTriggerResult.ContinueOperation = false;
                        //                        return;
                        //                    }
                        //                    else
                        //                        retailTransaction.PartnerData.CertificateIssue = "Y";
                        //                }
                        //            }
                        //            else
                        //                retailTransaction.PartnerData.CertificateIssue = "Y";
                        //        }
                        //    }
                        #endregion
                    }
                }
            }
            // end: RH on 05/11/2014

            LSRetailPosis.ApplicationLog.Log("PaymentTriggers.PrePayment", "On the start of a payment operation...", LSRetailPosis.LogTraceLevel.Trace);

            switch ((PosisOperations)posOperation)
            {
            case PosisOperations.PayCash:
                // Insert code here...
                break;

            case PosisOperations.PayCard:
                // Insert code here...
                break;

            case PosisOperations.PayCheque:
                // Insert code here...
                break;

            case PosisOperations.PayCorporateCard:
                // Insert code here...
                break;

            case PosisOperations.PayCreditMemo:
                // Insert code here...
                break;

            case PosisOperations.PayCurrency:
                // Insert code here...
                break;

            case PosisOperations.PayCustomerAccount:
                // Insert code here...
                break;

            case PosisOperations.PayGiftCertificate:
                // Insert code here...
                break;

            case PosisOperations.PayLoyalty:
                // Insert code here...
                break;

                // etc.....
            }
        }
        private void ShowItemSearch(int fromRow, int numberOfItems)
        {
            string    itemid     = string.Empty;
            DataTable dtSKUItems = new DataTable();

            string commandText = " SELECT ITEMID, ITEMNAME, I.UNITOFMEASURE FROM (   " +
                                 " SELECT IT.ITEMID, COALESCE(TR.NAME, IT.ITEMNAME, IT.ITEMID) AS ITEMNAME, IT.DATAAREAID,  " +
                                 "  ISNULL(IM.UNITID, '') AS UNITOFMEASURE, ROW_NUMBER()     OVER (ORDER BY IT.ITEMNAME  ASC) AS ROW  " +
                                 " FROM ASSORTEDINVENTITEMS IT     JOIN INVENTTABLEMODULE IM ON IT.ITEMID = IM.ITEMID AND IM.MODULETYPE = 2   " +
                                 " JOIN ECORESPRODUCT AS PR ON PR.RECID = IT.PRODUCT   " +
                                                                                                        //    "  INNER JOIN SKUTable_Posted ON IT.ITEMID = SKUTable_Posted.SkuNumber " +
                                 "  INNER JOIN SKUTableTrans ON IT.ITEMID = SKUTableTrans.SkuNumber " + //SKU Table
                                 " LEFT JOIN ECORESPRODUCTTRANSLATION AS TR  " +
                                 " ON PR.RECID = TR.PRODUCT AND TR.LANGUAGEID = @CULTUREID     WHERE IT.STORERECID = @STORERECID  " +
                                 //   " AND SKUTable_Posted.isAvailable='True' AND SKUTable_Posted.isLocked='False' " +
                                 " AND SKUTableTrans.isAvailable='True' AND SKUTableTrans.isLocked='False' " + //SKU Table
                                 "  ) I WHERE I.DATAAREAID='" + ApplicationSettings.Database.DATAAREAID + "' AND I.ROW > @FROMROW AND I.ROW <= @TOROW ";


            SqlConnection connection = new SqlConnection();

            if (application != null)
            {
                connection = application.Settings.Database.Connection;
            }
            else
            {
                connection = ApplicationSettings.Database.LocalConnection;
            }


            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }


            SqlCommand command = new SqlCommand(commandText, connection);

            SqlParameter languageIdParm = command.Parameters.Add("@CULTUREID", SqlDbType.NVarChar, 7);

            languageIdParm.Value = ApplicationSettings.Terminal.CultureName;
            SqlParameter dataAreaIdParm = command.Parameters.Add("@DATAAREAID", SqlDbType.NVarChar, 4);

            dataAreaIdParm.Value = ApplicationSettings.Database.DATAAREAID;
            command.Parameters.AddWithValue("@FROMROW", fromRow);
            command.Parameters.AddWithValue("@TOROW", (fromRow + numberOfItems));
            command.Parameters.AddWithValue("@STORERECID", ApplicationSettings.Terminal.StorePrimaryId);


            command.CommandTimeout = 0;
            SqlDataReader reader = command.ExecuteReader();

            dtSKUItems.Load(reader);
            if (dtSKUItems != null && dtSKUItems.Rows.Count > 0)
            {
                DataRow       drSelected = null;
                Dialog.Dialog oDialog    = new Dialog.Dialog();
                oDialog.GenericSearch(dtSKUItems, ref drSelected, "Select SKU");
                if (dtSkuGridItems != null && dtSkuGridItems.Rows.Count > 0)
                {
                    if (drSelected != null)
                    {
                        itemid = Convert.ToString(drSelected["ITEMID"]);
                        dtSkuGridItems.ImportRow(drSelected);
                    }
                }
                else
                {
                    if (dtSkuGridItems != null && dtSkuGridItems.Columns.Count > 0)
                    {
                        if (drSelected != null)
                        {
                            itemid = Convert.ToString(drSelected["ITEMID"]);
                            dtSkuGridItems.ImportRow(drSelected);
                        }
                    }
                    else
                    {
                        dtSkuGridItems = dtSKUItems.Clone();
                        dtSkuGridItems.Columns.Add("SKUBOOKINGDATE", typeof(DateTime));

                        if (drSelected != null)
                        {
                            itemid = Convert.ToString(drSelected["ITEMID"]);
                            dtSkuGridItems.ImportRow(drSelected);

                            dtSkuGridItems.AcceptChanges();
                        }
                    }
                }


                UpdateSKUTable(itemid);
                foreach (DataRow dr in dtSkuGridItems.Rows)
                {
                    dr["SKUBOOKINGDATE"] = DateTime.Now.ToShortDateString();
                }
                grItems.DataSource = dtSkuGridItems;
            }
            else
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("No Item Present.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                }
            }
        }
Beispiel #20
0
        private void btnSearch_Click(object sender, EventArgs e)
        {
            try
            {
                ReadOnlyCollection <object> containerArray;
                string sMsg = string.Empty;

                string sPhone = txtSearchPhone.Text;
                string sEmail = txtSearchEmail.Text;

                if (!string.IsNullOrEmpty(sPhone) || !string.IsNullOrEmpty(sEmail))
                {
                    if (PosApplication.Instance.TransactionServices.CheckConnection())
                    {
                        bool bStatus = false;

                        containerArray = PosApplication.Instance.TransactionServices.InvokeExtension("getFeedBackCustInfo", sEmail, sPhone);
                        bStatus        = Convert.ToBoolean(containerArray[1]);
                        DataRow      drSelected    = null;
                        DataSet      dsWH          = new DataSet();
                        DataSet      dsDetails     = new DataSet();
                        StringReader srTransH      = new StringReader(Convert.ToString(containerArray[3]));
                        StringReader srTransDetail = new StringReader(Convert.ToString(containerArray[4]));

                        if (Convert.ToString(containerArray[3]).Trim().Length > 38)
                        {
                            dsWH.ReadXml(srTransH);
                        }


                        if (dsWH != null && dsWH.Tables[0].Rows.Count > 0)
                        {
                            Microsoft.Dynamics.Retail.Pos.Dialog.WinFormsTouch.frmGenericSearch OSearch =
                                new Microsoft.Dynamics.Retail.Pos.Dialog.WinFormsTouch.frmGenericSearch(dsWH.Tables[0], drSelected, "Customer Feedback");
                            OSearch.ShowDialog();
                            drSelected = OSearch.SelectedDataRow;

                            groupBox1.Enabled  = false;
                            groupBox2.Enabled  = false;
                            btnAddItem.Enabled = false;
                            btnEdit.Enabled    = false;
                            btnDelete.Enabled  = false;
                            btnSubmit.Enabled  = false;


                            if (Convert.ToString(containerArray[4]).Trim().Length > 38)
                            {
                                dsDetails.ReadXml(srTransDetail);
                            }
                            DataTable dtDetails = new DataTable();

                            if (drSelected != null)
                            {
                                string sRecId = Convert.ToString(drSelected["RECID"]);
                                cmbTitle.Text     = Convert.ToString(drSelected["Affix"]);
                                txtFirstName.Text = Convert.ToString(drSelected["FirstName"]);
                                txtLastName.Text  = Convert.ToString(drSelected["LastName"]);
                                txtPhone.Text     = Convert.ToString(drSelected["PhoneNum"]);
                                cmbCountry.Text   = Convert.ToString(drSelected["CountryRegionId"]);
                                txtEmail.Text     = Convert.ToString(drSelected["EmailID"]);
                                cmbEnOrPurc.Text  = Convert.ToString(drSelected["EnquiryOrPurchase"]);
                                cmbGender.Text    = Convert.ToString(drSelected["Gender"]);
                                if (Convert.ToString(drSelected["Resident"]) == "True")
                                {
                                    chkResidence.Checked = true;
                                }
                                else
                                {
                                    chkResidence.Checked = false;
                                }

                                txtAddress.Text = Convert.ToString(drSelected["FullAddress"]);


                                if (dsDetails != null && dsDetails.Tables[0].Rows.Count > 0)
                                {
                                    dtDetails = dsDetails.Tables[0].Select("FeedbackRefRecID = '" + sRecId + "'").CopyToDataTable();
                                }

                                if (dtDetails != null && dtDetails.Rows.Count > 0)
                                {
                                    dtItemInfo         = dtDetails;
                                    grItems.DataSource = dtItemInfo;

                                    if (grdView.Columns.Count > 1)
                                    {
                                        grdView.Columns[grdView.Columns.Count - 1].Visible = false;
                                    }
                                }
                            }
                        }
                        else
                        {
                            using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("No record found.", MessageBoxButtons.OK, MessageBoxIcon.Error))
                            {
                                LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                            }
                        }
                    }
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show("Customer feedback faild to search.");
            }
        }
Beispiel #21
0
        private void btnPOSItemSearch_Click(object sender, EventArgs e)
        {
            if (IsEdit)
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("You are in editing mode", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return;
                }
            }
            Dialog  objdialog = new Dialog();
            string  str       = string.Empty;
            DataSet dsItem    = new DataSet();

            objdialog.MyItemSearch(500, ref str, out dsItem);

            saleLineItem = new SaleLineItem();

            if (dsItem != null && dsItem.Tables.Count > 0 && dsItem.Tables[0].Rows.Count > 0)
            {
                saleLineItem.ItemId = Convert.ToString(dsItem.Tables[0].Rows[0]["ITEMID"]);
                Item objItem = new Item();
                objItem.MYProcessItem(saleLineItem, application);
                Dimension objDim      = new Dimension();
                DataTable dtDimension = new DataTable();
                dtDimension = objDim.GetDimensions(saleLineItem.ItemId);
                if (dtDimension != null && dtDimension.Rows.Count > 0)
                {
                    DimensionConfirmation dimConfirmation = new DimensionConfirmation();
                    dimConfirmation.InventDimCombination = dtDimension;
                    dimConfirmation.DimensionData        = saleLineItem.Dimension;

                    frmDimensions objfrmDim = new frmDimensions(dimConfirmation);
                    objfrmDim.ShowDialog();
                    if (objfrmDim.SelectDimCombination != null)
                    {
                        inventDimId = frmRepairDetail.GetInventID(Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[2]));
                        #region The following field(code,style,size and configuration are added to this form) @ 01/11/2014
                        txtCode.Text   = Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[4]);
                        txtStyle.Text  = Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[5]);
                        txtSize.Text   = Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[3]);
                        txtConfig.Text = Convert.ToString(objfrmDim.SelectDimCombination.ItemArray[6]);
                        #endregion
                    }
                }

                txtPCS.Focus();
                txtPCS.Text = "1";
                SqlConnection conn = new SqlConnection();
                if (application != null)
                {
                    conn = application.Settings.Database.Connection;
                }
                else
                {
                    conn = ApplicationSettings.Database.LocalConnection;
                }

                string sQty = string.Empty;
                sQty = frmRepairDetail.GetStandardQuantityFromDB(conn, Convert.ToString(dsItem.Tables[0].Rows[0]["ITEMID"]));
                if (!string.IsNullOrEmpty(sQty))
                {
                    sQty             = Convert.ToString(decimal.Round(Convert.ToDecimal(sQty), 3, MidpointRounding.AwayFromZero));
                    txtQuantity.Text = Convert.ToString(Convert.ToDecimal(sQty) == 0 ? string.Empty : Convert.ToString(sQty));
                }
                txtItemId.Text   = Convert.ToString(dsItem.Tables[0].Rows[0]["ITEMID"]);
                txtItemName.Text = Convert.ToString(dsItem.Tables[0].Rows[0]["ITEMNAME"]);

                txtRate.Text = "0.00";// frmRepairDetail.getRateFromMetalTable(txtItemId.Text, cmbConfig.Text, cmbStyle.Text, cmbCode.Text, cmbSize.Text, txtQuantity.Text);
                //  if (!string.IsNullOrEmpty(txtRate.Text))
                //    cmbRateType.SelectedIndex = cmbRateType.FindStringExact("Tot");
                //  txtRate.Text = Convert.ToString(dsItem.Tables[0].Rows[0]["ITEMPRICE"]).Remove(0, 1).Trim();
                unitid = saleLineItem.BackofficeSalesOrderUnitOfMeasure;
            }
        }
        public DataRow AmountToBeAdjusted(string custAccount, bool isTranIdExists = false, string custaccount = null, string ordernum = null)
        {
            string TransID = string.Empty;

            #region Multiple Adjustment
            if (custaccount != null && ordernum != null)
            {
                BlankOperations   oBlank      = new BlankOperations();
                DataTable         dt          = oBlank.CustomerAdvanceData(custAccount);
                RetailTransaction retailTrans = pos as RetailTransaction;
                string            order       = Convert.ToString(retailTrans.PartnerData.AdjustmentOrderNum);
                string            cust        = Convert.ToString(retailTrans.PartnerData.AdjustmentCustAccount);
                DataRow           drReturn    = null;
                foreach (DataRow drNew in dt.Select("ORDERNUM='" + order + "' AND  CustomerAccount='" + cust + "' AND ISADJUSTED=0"))
                {
                    if (string.IsNullOrEmpty(TransID))
                    {
                        TransID = "'" + Convert.ToString(drNew["TransactionID"]) + "'";
                    }
                    else
                    {
                        TransID += ",'" + Convert.ToString(drNew["TransactionID"]) + "'";
                    }
                    drNew["ISADJUSTED"] = 1;
                    drReturn            = drNew;
                    break;
                }
                return(drReturn);
            }
            #endregion

            #region Single Adjustment
            else
            {
                System.Collections.Generic.LinkedList <LSRetailPosis.Transaction.Line.SaleItem.SaleLineItem> saleline = new System.Collections.Generic.LinkedList <LSRetailPosis.Transaction.Line.SaleItem.SaleLineItem>(((LSRetailPosis.Transaction.RetailTransaction)(pos)).SaleItems);
                if (isTranIdExists)
                {
                    foreach (var sale in saleline)
                    {
                        if (sale.ItemType == LSRetailPosis.Transaction.Line.SaleItem.SaleLineItem.ItemTypes.Service && !sale.Voided)
                        {
                            if (string.IsNullOrEmpty(TransID))
                            {
                                TransID = "'" + sale.PartnerData.ServiceItemCashAdjustmentTransactionID + "'";
                            }
                            else
                            {
                                TransID += ",'" + sale.PartnerData.ServiceItemCashAdjustmentTransactionID + "'";
                            }
                        }
                    }
                }
                SqlConnection SqlCon = new SqlConnection(ApplicationSettings.Database.LocalConnectionString);
                SqlCon.Open();

                // Create a Command
                SqlCommand SqlComm = new SqlCommand();
                SqlComm.Connection  = SqlCon;
                SqlComm.CommandType = CommandType.Text;
                DataRow drSelected = null;
                #region Commented qUERY
                //SqlComm.CommandText = " SELECT     RETAILTRANSACTIONTABLE.TRANSACTIONID AS [Transaction ID], RETAILTRANSACTIONTABLE.CUSTACCOUNT AS [Customer Account], " +
                //    " DIRPARTYTABLE.NAMEALIAS AS [Customer Name], CAST(SUM(RETAILTRANSACTIONPAYMENTTRANS.AMOUNTCUR) AS NUMERIC(28,3)) AS [Total Amount] " +
                //    " FROM         DIRPARTYTABLE INNER JOIN CUSTTABLE ON DIRPARTYTABLE.RECID = CUSTTABLE.PARTY INNER JOIN " +
                //    " RETAILTRANSACTIONTABLE INNER JOIN RETAILTRANSACTIONPAYMENTTRANS ON RETAILTRANSACTIONTABLE.TRANSACTIONID = RETAILTRANSACTIONPAYMENTTRANS.TRANSACTIONID ON  " +
                //    " CUSTTABLE.ACCOUNTNUM = RETAILTRANSACTIONTABLE.CUSTACCOUNT WHERE     (RETAILTRANSACTIONTABLE.CUSTACCOUNT = '" + custAccount + "') " +
                //    " AND (RETAILTRANSACTIONPAYMENTTRANS.isAdjusted = 0) AND (RETAILTRANSACTIONTABLE.[TYPE] = 3) ";
                //if (isTranIdExists && !string.IsNullOrEmpty(TransID))
                //{
                //    SqlComm.CommandText += " AND (RETAILTRANSACTIONPAYMENTTRANS.TRANSACTIONID NOT IN (" + TransID + ")) ";
                //}
                //SqlComm.CommandText += " GROUP BY RETAILTRANSACTIONTABLE.TRANSACTIONID, RETAILTRANSACTIONTABLE.CUSTACCOUNT,DIRPARTYTABLE.NAMEALIAS ";
                #endregion

                ////SqlComm.CommandText = " SELECT     RETAILADJUSTMENTTABLE.TRANSACTIONID AS [TransactionID], " +
                ////   " RETAILADJUSTMENTTABLE.CUSTACCOUNT AS [CustomerAccount], " +
                ////   " DIRPARTYTABLE.NAMEALIAS AS [CustomerName],   " +
                ////   //" CAST(RETAILADJUSTMENTTABLE.AMOUNT AS NUMERIC(28,3)) AS [TotalAmount]  " +
                ////   " CAST(RETAILADJUSTMENTTABLE.AMOUNT AS NUMERIC(28,2)) AS [TotalAmount],ISNULL(GOLDFIXING,0) AS GoldFixing,(CASE WHEN GOLDFIXING = 0 THEN 0 ELSE CAST(ISNULL(GOLDQUANTITY,0) AS NUMERIC(28,3)) END) AS GoldQty " +  // Avg Gold Rate Adjustment
                ////   " ,ISNULL(RETAILADJUSTMENTTABLE.RETAILSTOREID,'') AS RETAILSTOREID,ISNULL(RETAILADJUSTMENTTABLE.RETAILTERMINALID,'') AS RETAILTERMINALID" +
                ////   " FROM         DIRPARTYTABLE INNER JOIN " +
                ////   " CUSTTABLE ON DIRPARTYTABLE.RECID = CUSTTABLE.PARTY INNER JOIN " +
                ////   " RETAILADJUSTMENTTABLE ON CUSTTABLE.ACCOUNTNUM = RETAILADJUSTMENTTABLE.CUSTACCOUNT " +
                ////   " WHERE     (RETAILADJUSTMENTTABLE.ISADJUSTED = 0) AND (RETAILADJUSTMENTTABLE.RETAILDEPOSITTYPE = 1) " +
                ////   " AND (RETAILADJUSTMENTTABLE.CUSTACCOUNT = '" + custAccount + "') ";
                try
                {
                    if (PosApplication.Instance.TransactionServices.CheckConnection())
                    {
                        ReadOnlyCollection <object> containerArray;
                        string sStoreId = ApplicationSettings.Terminal.StoreId;
                        containerArray = PosApplication.Instance.TransactionServices.InvokeExtension("getUnadjustedAdvance", custAccount);

                        DataSet      dsWH          = new DataSet();
                        StringReader srTransDetail = new StringReader(Convert.ToString(containerArray[3]));

                        if (Convert.ToString(containerArray[3]).Trim().Length > 38)
                        {
                            dsWH.ReadXml(srTransDetail);
                        }
                        if (dsWH != null && dsWH.Tables[0].Rows.Count > 0)
                        {
                            Dialog.WinFormsTouch.frmGenericSearch OSearch = new Dialog.WinFormsTouch.frmGenericSearch(dsWH.Tables[0], drSelected, "Advance Adjustment");
                            OSearch.ShowDialog();
                            drSelected = OSearch.SelectedDataRow;
                        }
                        else
                        {
                            using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("No Active Deposit found for the selected customer.", MessageBoxButtons.OK, MessageBoxIcon.Error))
                            {
                                LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                }
                return(drSelected);


                //DataRow drSelected = null;
                //DataTable AdjustmentDT = new DataTable();


                //SqlDataAdapter SqlDa = new SqlDataAdapter(SqlComm);
                //SqlDa.Fill(AdjustmentDT);
                //if (AdjustmentDT != null && AdjustmentDT.Rows.Count > 0)
                //{
                //    Dialog.WinFormsTouch.frmGenericSearch OSearch = new Dialog.WinFormsTouch.frmGenericSearch(AdjustmentDT, drSelected, "Advance Adjustment");
                //    OSearch.ShowDialog();
                //    drSelected = OSearch.SelectedDataRow;

                //    return drSelected;

                //}
                //else
                //{
                //    using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("No Active Deposit found for the selected customer.", MessageBoxButtons.OK, MessageBoxIcon.Error))
                //    {
                //        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                //    }
                //    return null;
                //}
            }
            #endregion
        }
        private void btnSearchOrder_Click(object sender, EventArgs e)
        {
            string sCustOrderSearchNumber = string.Empty;

            DataTable dtGridItems = new DataTable();
            string    commandText = string.Empty;

            commandText = " SELECT ORDERNUM,CONVERT(VARCHAR(15),ORDERDATE,103) AS ORDERDATE ,CONVERT(VARCHAR(15),DELIVERYDATE,103) AS DELIVERYDATE , " +
                          " CUSTNAME ,CONVERT(VARCHAR(15),TOTALAMOUNT) AS TOTALAMOUNT  FROM CUSTORDER_HEADER ORDER BY ORDERNUM ";
            SqlConnection connection = new SqlConnection();

            if (application != null)
            {
                connection = application.Settings.Database.Connection;
            }
            else
            {
                connection = ApplicationSettings.Database.LocalConnection;
            }

            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }

            SqlCommand command = new SqlCommand(commandText, connection);

            command.CommandTimeout = 0;
            SqlDataReader reader = command.ExecuteReader();

            dtGridItems = new DataTable();
            dtGridItems.Load(reader);
            if (dtGridItems != null && dtGridItems.Rows.Count > 0)
            {
                DataRow selRow             = null;
                Dialog  objCustOrderSearch = new Dialog();

                objCustOrderSearch.GenericSearch(dtGridItems, ref selRow, "Customer Order");
                if (selRow != null)
                {
                    sCustOrderSearchNumber = Convert.ToString(selRow["ORDERNUM"]);
                }
                else
                {
                    return;
                }
            }
            else
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("No Order Exists.", MessageBoxButtons.OK, MessageBoxIcon.Error))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                }
                return;
            }
            if (!string.IsNullOrEmpty(sCustOrderSearchNumber))
            {
                DataSet dsOrderSearched = new DataSet();

                commandText = " SELECT [ORDERNUM],[LINENUM],[STOREID],[TERMINALID],[ITEMID] " +
                              " ,[CONFIGID] [CONFIGURATION],[CODE] [COLOR],[SIZEID] [SIZE],[STYLE],[INVENTDIMID],[PCS],[QTY] [QUANTITY],[NETTWT],[DIAWT],[DIAAMT],[STNWT] " +
                              " ,[STNAMT],[TOTALAMT],[DATAAREAID],[STAFFID],[REPLICATIONCOUNTER],[UNITID],[REMARKSDTL],[ISRETURNED]  FROM [CUSTORDSAMPLE] WHERE ORDERNUM='" + sCustOrderSearchNumber.Trim() + "' " +

                              " SELECT [ORDERNUM],[LINENUM],[STOREID],[TERMINALID],[ITEMID] " +
                              " ,[CODE] [COLOR],[SIZEID] [SIZE],[STYLE],[PCS],[DIAWT],[DIAAMT],[STNWT] " +
                              " ,[STNAMT],[DATAAREAID],[STAFFID],[REMARKSDTL],[ISRETURNED]" +
                              " FROM [CUSTORDSTONE] WHERE ORDERNUM='" + sCustOrderSearchNumber.Trim() + "'";


                if (application != null)
                {
                    connection = application.Settings.Database.Connection;
                }
                else
                {
                    connection = ApplicationSettings.Database.LocalConnection;
                }


                if (connection.State == ConnectionState.Closed)
                {
                    connection.Open();
                }


                SqlCommand command1 = new SqlCommand(commandText, connection);

                command1.CommandTimeout = 0;

                SqlDataAdapter adapter = new SqlDataAdapter(commandText, connection);
                dsOrderSearched = new DataSet();
                adapter.Fill(dsOrderSearched);

                if (dsOrderSearched != null && dsOrderSearched.Tables.Count > 0)
                {
                    dtSample = dsOrderSearched.Tables[0];
                    dtStone  = dsOrderSearched.Tables[1];
                }
            }
            dtNotReturn = null;
            if (iIsStoneRet == 1)
            {
                dtNotReturn = dtStone.Clone();
            }
            else
            {
                dtNotReturn = dtSample.Clone();
            }

            dtNotReturn.Columns["ISRETURNED"].DataType = typeof(bool);// change the datatype of the column ISRETURNED(int) to bool on 24/09/2014
            if (iIsStoneRet == 0)
            {
                dtSample.Select("ISRETURNED=False").CopyToDataTable(dtNotReturn, LoadOption.PreserveChanges);
                sfrmTitle = "Client's Order Sample Return";
            }
            else
            {
                dtStone.Select("ISRETURNED=False").CopyToDataTable(dtNotReturn, LoadOption.PreserveChanges);
                sfrmTitle = "Client's Order Stone Return";
            }


            grItems.DataSource = dtNotReturn.DefaultView;
            //frmCustOrderSampleReturn objSampleRtn = new frmCustOrderSampleReturn(pos, application, dtSample, objOrderdetails, 0);
            if (retailTrans != null)
            {
                if (!string.IsNullOrEmpty(retailTrans.Customer.PostalCode))
                {
                    sCPinCode = Convert.ToString(retailTrans.Customer.PostalCode);
                }
            }
            //else
            //{
            //    sCPinCode = Convert.ToString(application.BusinessLogic.CustomerSystem.GetCustomerInfo(objCustomerOrder.txtCustomerAccount.Text).PostalCode);
            //}
            txtOrderNo.Text = sCustOrderSearchNumber;
            // grItems.DataSource = dtNotReturn.DefaultView;
        }
 /// <summary>
 /// Created by : Ripan Hossain
 /// Created on : 18/09/2013
 /// Modified by :
 /// Modified on :
 /// Purpose : data validation
 /// </summary>
 /// <returns></returns>
 private bool IsValid()
 {
     if (string.IsNullOrEmpty(txtCustomerAccount.Text.Trim()))
     {
         using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Customer Account can not be blank and empty.", MessageBoxButtons.OK, MessageBoxIcon.Information))
         {
             LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
             return(false);
         }
     }
     if (string.IsNullOrEmpty(txtCustomerName.Text.Trim()))
     {
         using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Customer Name can not be blank and empty.", MessageBoxButtons.OK, MessageBoxIcon.Information))
         {
             LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
             return(false);
         }
     }
     //if(string.IsNullOrEmpty(cmbSalesPerson.Text.Trim()))
     //{
     //    using(LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Sales person should not be blank.", MessageBoxButtons.OK, MessageBoxIcon.Information))
     //    {
     //        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
     //        return false;
     //    }
     //}
     if (string.IsNullOrEmpty(cmbSchemeCode.Text.Trim()))
     {
         using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Scheme code can not be blank and empty.", MessageBoxButtons.OK, MessageBoxIcon.Information))
         {
             LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
             return(false);
         }
     }
     if (string.IsNullOrEmpty(cmbIdType.Text.Trim()))
     {
         using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Id type can not be blank and empty.", MessageBoxButtons.OK, MessageBoxIcon.Information))
         {
             LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
             return(false);
         }
     }
     if (string.IsNullOrEmpty(txtIdNo.Text.Trim()))
     {
         using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Id no should not be blank.", MessageBoxButtons.OK, MessageBoxIcon.Information))
         {
             LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
             return(false);
         }
     }
     if (chkMinor.Checked)
     {
         if (string.IsNullOrEmpty(txtGuardianName.Text.Trim()))
         {
             using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Guardian name should not be blank.", MessageBoxButtons.OK, MessageBoxIcon.Information))
             {
                 LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                 return(false);
             }
         }
         if (string.IsNullOrEmpty(txtRelationship.Text.Trim()))
         {
             using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Relationship should not be blank.", MessageBoxButtons.OK, MessageBoxIcon.Information))
             {
                 LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                 return(false);
             }
         }
     }
     //if(string.IsNullOrEmpty(txtNName.Text.Trim()))
     //{
     //    using(LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Nominee name should not be blank.", MessageBoxButtons.OK, MessageBoxIcon.Information))
     //    {
     //        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
     //        return false;
     //    }
     //}
     //else
     //{
     //    return true;
     //}
     return(true);
 }
        private void btnReturn_Click(object sender, EventArgs e)
        {
            if (dtNotReturn.Rows.Count > 0)
            {
                string        orderno      = string.Empty;
                StringBuilder commandText1 = new StringBuilder();
                //added or modified on 16/09/2014 by Palas
                if (iIsStoneRet == 1)
                {
                    sTableName = "CUSTORDSTONE";
                    sStnFlg    = "STONEFLAG";
                }
                else
                {
                    sTableName = "CUSTORDSAMPLE";
                    sStnFlg    = "SAMPLEFLAG";
                }
                //added or modified on 16/09/2014 by Palas
                foreach (DataRow dr in dtNotReturn.Rows)
                {
                    orderno = dr["ORDERNUM"].ToString();
                    if (Convert.ToBoolean(dr["ISRETURNED"]))
                    {
                        commandText1.Append("UPDATE " + sTableName + " SET ISRETURNED=1 ");
                        commandText1.AppendFormat(" WHERE ORDERNUM='{0}' ", dr["ORDERNUM"]);
                        commandText1.AppendFormat(" AND LINENUM='{0}' ", dr["LINENUM"]);
                        commandText1.AppendFormat(" AND STOREID='{0}' ", ApplicationSettings.Terminal.StoreId);
                        commandText1.AppendFormat(" AND TERMINALID='{0}' ", ApplicationSettings.Terminal.TerminalId);
                        commandText1.AppendFormat(" AND DATAAREAID='{0}'; ", ApplicationSettings.Database.DATAAREAID);
                    }
                }
                commandText1.AppendLine();
                commandText1.AppendLine("DECLARE @SAMRETCOUNT INT;");
                commandText1.AppendLine(" SELECT @SAMRETCOUNT=COUNT(*) FROM " + sTableName + " ");
                commandText1.AppendFormat(" WHERE ORDERNUM='{0}' ", orderno);
                commandText1.AppendLine(" AND ISRETURNED=0");
                commandText1.AppendFormat(" AND STOREID='{0}' ", ApplicationSettings.Terminal.StoreId);
                commandText1.AppendFormat(" AND TERMINALID='{0}' ", ApplicationSettings.Terminal.TerminalId);
                commandText1.AppendFormat(" AND DATAAREAID='{0}'; ", ApplicationSettings.Database.DATAAREAID);
                commandText1.AppendLine("IF @SAMRETCOUNT <=0 BEGIN UPDATE CUSTORDER_HEADER SET " + sStnFlg + " =0 ");
                commandText1.AppendFormat(" WHERE ORDERNUM='{0}' ", orderno);
                commandText1.AppendFormat(" AND STOREID='{0}' ", ApplicationSettings.Terminal.StoreId);
                commandText1.AppendFormat(" AND TERMINALID='{0}' ", ApplicationSettings.Terminal.TerminalId);
                commandText1.AppendFormat(" AND DATAAREAID='{0}' END; ", ApplicationSettings.Database.DATAAREAID);

                SqlConnection connection = new SqlConnection();
                if (application != null)
                {
                    connection = application.Settings.Database.Connection;
                }
                else
                {
                    connection = ApplicationSettings.Database.LocalConnection;
                }

                try
                {
                    if (connection.State == ConnectionState.Closed)
                    {
                        connection.Open();
                    }

                    using (SqlCommand command = new SqlCommand(commandText1.ToString(), connection))
                    {
                        string Msg = string.Empty;
                        command.CommandTimeout = 0;
                        if (command.ExecuteNonQuery() > 0)
                        {
                            //update local sample atble
                            commandText1 = new StringBuilder();
                            if (iIsStoneRet == 0)
                            {
                                commandText1.AppendLine(" SELECT [ORDERNUM],[LINENUM],[STOREID],[TERMINALID],[ITEMID] ");
                                commandText1.AppendLine(" ,[CONFIGID] [CONFIGURATION],[CODE] [COLOR],[SIZEID] [SIZE],[STYLE],[INVENTDIMID],[PCS],[QTY] [QUANTITY],[NETTWT],[DIAWT],[DIAAMT],[STNWT] ");
                                commandText1.AppendLine(" ,[STNAMT],[TOTALAMT],[DATAAREAID],[STAFFID],[REPLICATIONCOUNTER],[UNITID],[REMARKSDTL] [RemarksDtl],[ISRETURNED] ");
                                commandText1.AppendLine(" FROM [CUSTORDSAMPLE] WHERE ORDERNUM='" + orderno + "' ");
                                Msg = "Customer Order Sample has been returned successfully.";
                            }
                            else
                            {
                                commandText1.AppendLine(" SELECT [ORDERNUM],[LINENUM],[STOREID],[TERMINALID],[ITEMID],[CODE] [COLOR],[SIZEID] [SIZE] ");
                                commandText1.AppendLine(" ,[PCS],[DIAWT],[DIAAMT],[STNWT]");
                                commandText1.AppendLine(" ,[STNAMT],[DATAAREAID],[STAFFID],[REPLICATIONCOUNTER],[REMARKSDTL] [RemarksDtl],[ISRETURNED] ");
                                commandText1.AppendLine(" FROM [CUSTORDSTONE] WHERE ORDERNUM='" + orderno + "' ");
                                Msg = "Stones have been returned successfully.";
                            }


                            SqlCommand command1 = new SqlCommand(commandText1.ToString(), connection);
                            command1.CommandTimeout = 0;
                            SqlDataAdapter da          = new SqlDataAdapter(command1);
                            DataTable      dtNewSample = new DataTable();
                            da.Fill(dtNewSample);
                            if (dtNewSample.Rows.Count > 0 && frmOrderDtls != null)
                            {
                                frmOrderDtls.UpdatelocalSampleTable(dtNewSample);
                            }

                            using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage(Msg, MessageBoxButtons.OK, MessageBoxIcon.Information))
                            {
                                LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                                this.Close();
                            }
                        }
                        command.Dispose();
                    }
                }
                catch (Exception ex)
                {
                    using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage(ex.Message.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error))
                    {
                        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    }
                }
                finally
                {
                    if (connection.State == ConnectionState.Open)
                    {
                        connection.Close();
                    }
                    orderno = Convert.ToString(dtNotReturn.Rows[0]["ORDERNUM"]);
                    // PrintVoucher(orderno, iIsStoneRet,dtNotReturn);
                }
            }
            else
            {
                this.Close();
            }
        }
        bool ValidateControls()
        {
            if ((string.IsNullOrEmpty(txtReturnNo.Text.Trim())))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Repair Return No can not be blank or empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtReturnNo.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }
            //repair no

            if ((string.IsNullOrEmpty(txtOrderNo.Text.Trim())))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Repair No. can not be blank or empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtReturnNo.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }

            //dtPickerDeliveryDate

            if ((string.IsNullOrEmpty(dtPickerDeliveryDate.Text.Trim())))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Repair Return Date can not be blank or empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    dtPickerDeliveryDate.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }

            //dTPickerOrderDate

            if ((string.IsNullOrEmpty(dTPickerOrderDate.Text.Trim())))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Repair Order date can not be blank or empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    dTPickerOrderDate.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }

            // dt compare

            if (Convert.ToDateTime(dtPickerDeliveryDate.Text) < Convert.ToDateTime(dTPickerOrderDate.Text))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Delivery Date cannot be less than Order Date", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    dtPickerDeliveryDate.Text = dTPickerOrderDate.Text;
                    return(false);
                }
            }

            //txtItemId

            if ((string.IsNullOrEmpty(txtItemId.Text.Trim())))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Item Id can not be blank or empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtItemId.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }

            // txtCustomerAccount

            if ((string.IsNullOrEmpty(txtCustomerAccount.Text.Trim())))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Customer Account can not be blank or empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtCustomerAccount.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }

            else
            {
                return(true);
            }
        }
Beispiel #27
0
        /// <summary>
        /// Print the standard slip, returns false if printing should be aborted altogether.
        /// </summary>
        /// <param name="formType"></param>
        /// <param name="posTransaction"></param>
        /// <param name="copyReceipt"></param>
        /// <returns></returns>
        public bool PrintReceipt(FormType formType, IPosTransaction posTransaction, bool copyReceipt)
        {
            bool result = false;

            if (formType == FormType.Receipt)
            {
                //SqlConnection SqlCon = new SqlConnection(ApplicationSettings.Database.LocalConnectionString);

                SqlConnection connection = new SqlConnection();
                if (application != null)
                {
                    connection = application.Settings.Database.Connection;
                }
                else
                {
                    connection = ApplicationSettings.Database.LocalConnection;
                }

                //Start :02/07/2014
                if (posTransaction is IRetailTransaction)
                {
                    RetailTransaction retailTransaction = (RetailTransaction)posTransaction;
                    SaleLineItem      item = retailTransaction.SaleItems.Last.Value;

                    if (item.Description == "Add to gift card")
                    {
                        //====
                        if (application != null)
                        {
                            connection = application.Settings.Database.Connection;
                        }
                        else
                        {
                            connection = ApplicationSettings.Database.LocalConnection;
                        }
                        string  sTransactionId = retailTransaction.TransactionId;
                        string  sTerminalId    = retailTransaction.TerminalId;
                        string  sCardNo        = string.Empty;
                        decimal sAmt           = 0;

                        DataTable dt = GetGiftCardAmountInfo(connection, sTransactionId, sTerminalId);

                        if (dt != null && dt.Rows.Count > 0)
                        {
                            for (int i = 0; i <= dt.Rows.Count - 1; i++)
                            {
                                if (string.IsNullOrEmpty(sCardNo))
                                {
                                    sAmt = Convert.ToDecimal(dt.Rows[i]["AMOUNT"]);

                                    sCardNo = Convert.ToString(dt.Rows[i]["COMMENT"]);
                                    sCardNo = new String('x', Convert.ToInt16(sCardNo.Length) - 4) + sCardNo.Substring(Convert.ToInt16(sCardNo.Length) - 4);
                                }
                                else
                                {
                                    sCardNo = sCardNo + "  / " + new String('x', Convert.ToInt16(Convert.ToString(dt.Rows[i]["COMMENT"]).Length) - 4) + Convert.ToString(dt.Rows[i]["COMMENT"]).Substring(Convert.ToInt16(Convert.ToString(dt.Rows[i]["COMMENT"]).Length) - 4);
                                    sAmt    = sAmt + Convert.ToDecimal(dt.Rows[i]["AMOUNT"]);
                                }
                            }
                        }
                        frmR_ProductAdvanceReceipt objProdAdv = new frmR_ProductAdvanceReceipt(posTransaction, connection, sTransactionId, Convert.ToString(sAmt), sTerminalId, item.Description, sCardNo);
                        objProdAdv.ShowDialog();
                    }
                    else
                    {
                        if (retailTransaction.RefundReceiptId == "1")
                        {
                            string  sTransactionId = retailTransaction.TransactionId;
                            string  sTerminalId    = retailTransaction.TerminalId;
                            string  sCardNo        = string.Empty;
                            decimal sAmt           = 0;

                            DataTable dt = GetGiftCardAmountInfo(connection, sTransactionId, sTerminalId);

                            if (dt != null && dt.Rows.Count > 0)
                            {
                                for (int i = 0; i <= dt.Rows.Count - 1; i++)
                                {
                                    if (string.IsNullOrEmpty(sCardNo))
                                    {
                                        sAmt = Convert.ToDecimal(dt.Rows[i]["AMOUNT"]);

                                        sCardNo = Convert.ToString(dt.Rows[i]["COMMENT"]);
                                        sCardNo = new String('x', Convert.ToInt16(sCardNo.Length) - 4) + sCardNo.Substring(Convert.ToInt16(sCardNo.Length) - 4);
                                    }
                                    else
                                    {
                                        sCardNo = sCardNo + "  / " + new String('x', Convert.ToInt16(Convert.ToString(dt.Rows[i]["COMMENT"]).Length) - 4) + Convert.ToString(dt.Rows[i]["COMMENT"]).Substring(Convert.ToInt16(Convert.ToString(dt.Rows[i]["COMMENT"]).Length) - 4);
                                        sAmt    = sAmt + Convert.ToDecimal(dt.Rows[i]["AMOUNT"]);
                                    }
                                }
                            }

                            frmR_ProductAdvanceReceipt objProdAdv = new frmR_ProductAdvanceReceipt(posTransaction, connection, sTransactionId, Convert.ToString(sAmt), sTerminalId, item.Description, sCardNo, 1);
                            objProdAdv.ShowDialog();
                        }
                        else
                        {
                            if (retailTransaction.SaleIsReturnSale)
                            {
                                frmSaleInv reportfrm = new frmSaleInv(posTransaction, connection, copyReceipt, 0, 0, iPrintFromShowJournal);
                                reportfrm.ShowDialog();
                                frmSaleInvAccountsCopy reportfrmAcc = new frmSaleInvAccountsCopy(posTransaction, connection, copyReceipt, 0, 0, iPrintFromShowJournal);
                                reportfrmAcc.ShowDialog();
                                //frmSaleInvControlCopy reportfrmCon = new frmSaleInvControlCopy(posTransaction, connection, copyReceipt, 0, 0, iPrintFromShowJournal);
                                //reportfrmCon.ShowDialog();// commented on 080819/ req by Soudip paul
                            }
                            else
                            {
                                //Microsoft.Dynamics.Retail.Pos.BlankOperations.WinFormsTouch.frmLanguageForInvoice
                                //    objLI = new BlankOperations.WinFormsTouch.frmLanguageForInvoice();

                                //objLI.ShowDialog();
                                //int iLanguage = 0;
                                //if (objLI.isEnglish == true)
                                //    iLanguage = 1;
                                //else if (objLI.isArabic == true)
                                //    iLanguage = 2;
                                //else if (objLI.isBoth == true)
                                //    iLanguage = 3;


                                if (iPrintFromShowJournal == 1)
                                {
                                    using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Is this a gift invoice?", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                                    {
                                        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                                        if (Convert.ToString(dialog.DialogResult).ToUpper().Trim() == "YES")
                                        {
                                            frmSaleInv reportfrm = new frmSaleInv(posTransaction, connection, copyReceipt, 1, 0, iPrintFromShowJournal);//Default English for Sales Return
                                            reportfrm.ShowDialog();

                                            frmSaleInv reportfrm1 = new frmSaleInv(posTransaction, connection, copyReceipt, 0, 1, iPrintFromShowJournal);
                                            reportfrm1.ShowDialog();
                                        }
                                        else
                                        {
                                            ChooseInvoiceLanguage(posTransaction, copyReceipt, connection, iPrintFromShowJournal);
                                        }
                                    }
                                    iPrintFromShowJournal = 0;
                                }
                                else
                                {
                                    ChooseInvoiceLanguage(posTransaction, copyReceipt, connection, iPrintFromShowJournal);
                                }
                            }
                        }
                    }


                    //retailTransaction
                }

                //End : 02/07/2014
            }
            else if (formType == FormType.CustomerAccountDeposit)
            {
                RetailTransaction retailTransaction = posTransaction as RetailTransaction;
                string            sGSSNo            = string.Empty;
                if (retailTransaction != null)
                {
                    SqlConnection connection = new SqlConnection();
                    if (application != null)
                    {
                        connection = application.Settings.Database.Connection;
                    }
                    else
                    {
                        connection = ApplicationSettings.Database.LocalConnection;
                    }
                    string sTransactionId = retailTransaction.TransactionId;
                    // string sTerminalId = ApplicationSettings.Terminal.TerminalId;

                    string sTerminalId = retailTransaction.TerminalId;

                    DataTable dtAdv = GetAdvanceInfo(connection, sTransactionId, sTerminalId);

                    if (dtAdv != null && dtAdv.Rows.Count > 0)
                    {
                        sGSSNo = Convert.ToString(dtAdv.Rows[0]["GSSNUMBER"]);

                        if (sGSSNo != string.Empty)
                        {
                            frmR_GSSInstalmentReceipt objRGSS = new frmR_GSSInstalmentReceipt(posTransaction, connection, sTransactionId, Convert.ToString(dtAdv.Rows[0]["AMOUNT"]), sGSSNo, sTerminalId);
                            objRGSS.ShowDialog();
                        }
                        else
                        {
                            Microsoft.Dynamics.Retail.Pos.BlankOperations.WinFormsTouch.frmLanguageForInvoice
                                objLI = new BlankOperations.WinFormsTouch.frmLanguageForInvoice();

                            objLI.ShowDialog();
                            int iLanguage = 0;
                            if (objLI.isEnglish == true)
                            {
                                iLanguage = 1;
                            }
                            else if (objLI.isArabic == true)
                            {
                                iLanguage = 2;
                            }
                            else if (objLI.isBoth == true)
                            {
                                iLanguage = 3;
                            }

                            frmR_ProductAdvanceReceipt objProdAdv = new frmR_ProductAdvanceReceipt(posTransaction, connection, sTransactionId, Convert.ToString(dtAdv.Rows[0]["AMOUNT"]), sTerminalId, "", "", 0, iLanguage);
                            objProdAdv.ShowDialog();
                        }
                    }
                }
            }
            else
            {
                if (FiscalPrinter.FiscalPrinter.Instance.FiscalPrinterEnabled())
                {
                    return(FiscalPrinter.FiscalPrinter.Instance.PrintReceipt(formType, posTransaction, copyReceipt));
                }

                FormModulation             formMod        = new FormModulation(Application.Settings.Database.Connection);
                IList <PrinterAssociation> printerMapping = PrintingActions.GetActivePrinters(formMod, formType, copyReceipt);

                // bool result = false;
                foreach (PrinterAssociation printerMap in printerMapping)
                {
                    bool printResult = PrintingActions.PrintFormTransaction(printerMap, formMod, formType, posTransaction, copyReceipt);

                    result = result || printResult;
                }
            }

            return(result);
        }
Beispiel #28
0
        bool ItemValidate()
        {
            if (string.IsNullOrEmpty(txtItemId.Text.Trim()))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Item Id can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    btnPOSItemSearch.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }
            if (string.IsNullOrEmpty(txtItemName.Text.Trim()))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Item name can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    btnPOSItemSearch.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }
            if (string.IsNullOrEmpty(txtPCS.Text.Trim()))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("PCS can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtPCS.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }
            if (string.IsNullOrEmpty(txtQuantity.Text.Trim()))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Quantity can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtQuantity.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }
            else if (Convert.ToDecimal(txtQuantity.Text.Trim()) == 0m)
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Quantity can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtQuantity.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }

            if (string.IsNullOrEmpty(txtRate.Text.Trim()))
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Amount can not be blank and empty", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtRate.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }
            if (!string.IsNullOrEmpty(txtRate.Text.Trim()) && Convert.ToDecimal(txtRate.Text.Trim()) == 0m)
            {
                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Amount can not be Zero.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                {
                    txtRate.Focus();
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    return(false);
                }
            }

            else
            {
                return(true);
            }
        }
        private void SaveOrder()
        {
            int iRETAILREPAIRRETURNTRANS = 0;

            SqlTransaction transaction = null;

            #region Repair Return
            string commandText = " SET DATEFORMAT DMY;  BEGIN  INSERT INTO [RETAILREPAIRRETURNTRANS]([RepairReturnId],[DELIVERYDATE],[RepairId],[ORDERDATE]," +
                                 " [RetailStoreId],[RetailTerminalId],[RetailStaffId],[CUSTACCOUNT],[CUSTNAME],[CUSTADDRESS],[CUSTPHONE],[DATAAREAID] " +
                                 " ,REPAIRADVADJUSTMENTID,REPAIRRECVSTOREID,REPAIRRECVTERMINALID) " +
                                 " VALUES(@RepairReturnId,@DELIVERYDATE,@RepairId,@ORDERDATE," +
                                 " @RetailStoreId,@RetailTerminalId,@RetailStaffId,@CUSTACCOUNT,@CUSTNAME,@CUSTADDRESS,@CUSTPHONE,@DATAAREAID" +
                                 " ,@REPAIRADVADJUSTMENTID,@REPAIRRECVSTOREID,@REPAIRRECVTERMINALID)" +
                                 "  UPDATE RetailRepairReturnHdr SET IsDelivered = 1, DeliveryDate = @DELIVERYDATE WHERE RepairId = @RepairId  END"
            ;
            //if(!string.IsNullOrEmpty(sAdvAdjustmentId))
            //{
            //    commandText += "  BEGIN UPDATE RETAILADJUSTMENTTABLE SET ISADJUSTED = 1 WHERE TRANSACTIONID = '" + sAdvAdjustmentId + "' AND REPAIRID = '" + txtOrderNo.Text.Trim() + "' END";
            //}

            SqlConnection connection = new SqlConnection();
            try
            {
                if (application != null)
                {
                    connection = application.Settings.Database.Connection;
                }
                else
                {
                    connection = ApplicationSettings.Database.LocalConnection;
                }


                if (connection.State == ConnectionState.Closed)
                {
                    connection.Open();
                }
                transaction = connection.BeginTransaction();

                SqlCommand command = new SqlCommand(commandText, connection, transaction);
                command.Parameters.Clear();

                command.Parameters.Add("@RepairReturnId", SqlDbType.NVarChar).Value       = txtReturnNo.Text.Trim();
                command.Parameters.Add("@DELIVERYDATE", SqlDbType.DateTime).Value         = dtPickerDeliveryDate.Value;
                command.Parameters.Add("@RepairId", SqlDbType.NVarChar).Value             = txtOrderNo.Text.Trim();
                command.Parameters.Add("@ORDERDATE", SqlDbType.DateTime).Value            = dTPickerOrderDate.Value;
                command.Parameters.Add("@RetailStoreId", SqlDbType.NVarChar, 10).Value    = ApplicationSettings.Terminal.StoreId;
                command.Parameters.Add("@RetailTerminalId", SqlDbType.NVarChar, 10).Value = ApplicationSettings.Terminal.TerminalId;
                command.Parameters.Add("@RetailStaffId", SqlDbType.NVarChar, 10).Value    = pos.OperatorId;
                command.Parameters.Add("@CUSTACCOUNT", SqlDbType.NVarChar, 20).Value      = txtCustomerAccount.Text.Trim();
                command.Parameters.Add("@CUSTNAME", SqlDbType.NVarChar, 60).Value         = txtCustomerName.Text.Trim();
                command.Parameters.Add("@CUSTADDRESS", SqlDbType.NVarChar, 250).Value     = txtCustomerAddress.Text.Trim();

                if (string.IsNullOrEmpty(txtPhoneNumber.Text))
                {
                    command.Parameters.Add("@CUSTPHONE", SqlDbType.NVarChar, 20).Value = "";
                }
                else
                {
                    command.Parameters.Add(new SqlParameter("@CUSTPHONE", txtPhoneNumber.Text.Trim()));
                }
                if (application != null)
                {
                    command.Parameters.Add("@DATAAREAID", SqlDbType.NVarChar, 4).Value = application.Settings.Database.DataAreaID;
                }
                else
                {
                    command.Parameters.Add("@DATAAREAID", SqlDbType.NVarChar, 4).Value = ApplicationSettings.Database.DATAAREAID;
                }

                command.Parameters.Add("@REPAIRADVADJUSTMENTID", SqlDbType.NVarChar, 20).Value = sAdvAdjustmentId;

                command.Parameters.Add("@REPAIRRECVSTOREID", SqlDbType.NVarChar, 20).Value    = sStore;
                command.Parameters.Add("@REPAIRRECVTERMINALID", SqlDbType.NVarChar, 20).Value = sTerminal;

                #endregion

                command.CommandTimeout   = 0;
                iRETAILREPAIRRETURNTRANS = command.ExecuteNonQuery();

                transaction.Commit();
                command.Dispose();
                transaction.Dispose();
                if (iRETAILREPAIRRETURNTRANS != -1)
                {
                    using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("Repair Return has been created successfully.", MessageBoxButtons.OK, MessageBoxIcon.Information))
                    {
                        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                        RetailTransaction retailTrans = pos as RetailTransaction;

                        if (retailTrans != null)
                        {
                            IsRepairReturn = true;
                            sRepairRetId   = txtReturnNo.Text.Trim();

                            retailTrans.PartnerData.REPAIRRETURNTRANS = true;
                            retailTrans.PartnerData.REPAIRID          = txtOrderNo.Text.Trim();
                            retailTrans.PartnerData.REPAIRRETURNID    = txtReturnNo.Text.Trim();
                        }
                        CLearControls();

                        this.Close();
                    }
                }
                else
                {
                    using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage("DataBase error occured.Please try again later.", MessageBoxButtons.OK, MessageBoxIcon.Error))
                    {
                        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    }
                }
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                transaction.Dispose();

                using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage(ex.Message.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error))
                {
                    LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                }
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
        }
Beispiel #30
0
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            SqlTransaction transaction   = null;
            int            iCustFootFall = 0;
            string         commandText   = string.Empty;

            if (isValid())
            {
                #region Customer Footfall
                if (!bIsEdit)
                {
                    commandText = " INSERT INTO [CUSTOMERFOOTFALL]([DATE],[NOOFEXISTCUST]," +
                                  " [NOOFNEWCUST],[NOOFHNICUST],[DATAAREAID],[STOREID],[TERMINALID]," +
                                  " [STAFFID])" +
                                  " VALUES(@DATE,@NOOFEXISTCUST,@NOOFNEWCUST,@NOOFHNICUST,@DATAAREAID," +
                                  " @STOREID,@TERMINALID,@STAFFID)";
                }
                else
                {
                    commandText = " UPDATE [CUSTOMERFOOTFALL]" +
                                  " SET [DATE]=@DATE," +
                                  " [NOOFEXISTCUST]=@NOOFEXISTCUST," +
                                  " [NOOFNEWCUST]=@NOOFNEWCUST," +
                                  " [NOOFHNICUST]=@NOOFHNICUST," +
                                  " [DATAAREAID]=@DATAAREAID," +
                                  " [STOREID]=@STOREID," +
                                  " [TERMINALID]=@TERMINALID," +
                                  " [STAFFID]=@STAFFID " +
                                  " WHERE REPLICATIONCOUNTER= " + txtExistCust.Tag + "";
                }
                SqlConnection connection = new SqlConnection();
                try
                {
                    if (application != null)
                    {
                        connection = application.Settings.Database.Connection;
                    }
                    else
                    {
                        connection = ApplicationSettings.Database.LocalConnection;
                    }


                    if (connection.State == ConnectionState.Closed)
                    {
                        connection.Open();
                    }
                    transaction = connection.BeginTransaction();

                    SqlCommand command = new SqlCommand(commandText, connection, transaction);
                    command.Parameters.Clear();
                    command.Parameters.Add("@DATE", SqlDbType.Date).Value = dtpDate.Value;
                    if (string.IsNullOrEmpty(txtExistCust.Text.Trim()))
                    {
                        command.Parameters.Add("@NOOFEXISTCUST", SqlDbType.Int).Value = 0;
                    }
                    else
                    {
                        command.Parameters.Add("@NOOFEXISTCUST", SqlDbType.Int).Value = Convert.ToInt32(txtExistCust.Text.Trim());
                    }

                    if (string.IsNullOrEmpty(txtNewCust.Text.Trim()))
                    {
                        command.Parameters.Add("@NOOFNEWCUST", SqlDbType.Int).Value = 0;
                    }
                    else
                    {
                        command.Parameters.Add("@NOOFNEWCUST", SqlDbType.Int).Value = Convert.ToInt32(txtNewCust.Text.Trim());
                    }

                    if (string.IsNullOrEmpty(txtHNICust.Text.Trim()))
                    {
                        command.Parameters.Add("@NOOFHNICUST", SqlDbType.Int).Value = 0;
                    }
                    else
                    {
                        command.Parameters.Add("@NOOFHNICUST", SqlDbType.Int).Value = Convert.ToInt32(txtHNICust.Text.Trim());
                    }


                    if (application != null)
                    {
                        command.Parameters.Add("@DATAAREAID", SqlDbType.NVarChar, 4).Value = application.Settings.Database.DataAreaID;
                    }
                    else
                    {
                        command.Parameters.Add("@DATAAREAID", SqlDbType.NVarChar, 4).Value = ApplicationSettings.Database.DATAAREAID;
                    }

                    command.Parameters.Add("@STOREID", SqlDbType.NVarChar, 10).Value    = ApplicationSettings.Terminal.StoreId;
                    command.Parameters.Add("@TERMINALID", SqlDbType.NVarChar, 10).Value = ApplicationSettings.Terminal.TerminalId;
                    command.Parameters.Add("@STAFFID", SqlDbType.NVarChar, 10).Value    = pos.OperatorId;
                    //=====================================
                    command.CommandTimeout = 0;
                    iCustFootFall          = command.ExecuteNonQuery();

                    transaction.Commit();
                    command.Dispose();
                    transaction.Dispose();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    transaction.Dispose();

                    using (LSRetailPosis.POSProcesses.frmMessage dialog = new LSRetailPosis.POSProcesses.frmMessage(ex.Message.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error))
                    {
                        LSRetailPosis.POSProcesses.POSFormsManager.ShowPOSForm(dialog);
                    }
                }
                finally
                {
                    if (connection.State == ConnectionState.Open)
                    {
                        connection.Close();
                    }
                }

                #endregion
                ClearControls();
            }

            if (bIsEdit)
            {
                ShowCustFootFallDetails();
                bIsEdit         = false;
                btnEdit.Enabled = false;
            }
        }