Exemple #1
0
 /// <summary>
 /// get all quotationdetail
 /// <summary>
 /// <param name=formid>formid</param>
 /// <param name=out emsg>return error message</param>
 ///<returns>details of all quotationdetail</returns>
 public BindingCollection <modQuotationDetail> GetDetail(string formid, out string emsg)
 {
     try
     {
         BindingCollection <modQuotationDetail> modellist = new BindingCollection <modQuotationDetail>();
         //Execute a query to read the categories
         string sql = string.Format("select form_id,seq,product_id,product_name,specify,brand,unit_no,qty,price,remark from quotation_detail where form_id='{0}' order by form_id,seq", formid);
         using (SqlDataReader rdr = SqlHelper.ExecuteReader(sql))
         {
             while (rdr.Read())
             {
                 modQuotationDetail model = new modQuotationDetail();
                 model.FormId      = dalUtility.ConvertToString(rdr["form_id"]);
                 model.Seq         = dalUtility.ConvertToInt(rdr["seq"]);
                 model.ProductId   = dalUtility.ConvertToString(rdr["product_id"]);
                 model.ProductName = dalUtility.ConvertToString(rdr["product_name"]);
                 model.Specify     = dalUtility.ConvertToString(rdr["specify"]);
                 model.Brand       = dalUtility.ConvertToString(rdr["brand"]);
                 model.UnitNo      = dalUtility.ConvertToString(rdr["unit_no"]);
                 model.Qty         = dalUtility.ConvertToDecimal(rdr["qty"]);
                 model.Price       = dalUtility.ConvertToDecimal(rdr["price"]);
                 model.Mny         = model.Qty * model.Price;
                 model.Remark      = dalUtility.ConvertToString(rdr["remark"]);
                 modellist.Add(model);
             }
         }
         emsg = null;
         return(modellist);
     }
     catch (Exception ex)
     {
         emsg = dalUtility.ErrorMessage(ex.Message);
         return(null);
     }
 }
Exemple #2
0
        private void toolExport_Click(object sender, EventArgs e)
        {
            if (DBGrid.CurrentRow == null)
            {
                return;
            }
            IList <modExcelRangeData> list = new List <modExcelRangeData>();
            modQuotationForm          mod  = (modQuotationForm)DBGrid.CurrentRow.DataBoundItem;
            BindingCollection <modQuotationDetail> listdetail = _dal.GetDetail(mod.FormId, out Util.emsg);
            dalCustomerList dalcust = new dalCustomerList();
            modCustomerList modcust = dalcust.GetItem(mod.CustId, out Util.emsg);

            //list.Add(new modExcelRangeData(clsLxms.GetParameterValue("COMPANY_NAME"), "B1", "J1"));
            list.Add(new modExcelRangeData("电话/TEL: " + clsLxms.GetParameterValue("COMPANY_TEL") + "                 传真/FAX: " + clsLxms.GetParameterValue("COMPANY_FAX") + "                 联系人/Contact Person: " + mod.ContactPerson, "A4", "I4"));
            //list.Add(new modExcelRangeData("公司地址:" + clsLxms.GetParameterValue("COMPANY_ADDR"), "B3", "J3"));
            list.Add(new modExcelRangeData(modcust.FullName, "B6", "B6"));
            list.Add(new modExcelRangeData("TEL: " + modcust.Linkman + "  " + modcust.Tel, "B7", "B7"));
            list.Add(new modExcelRangeData("单号Invoice No.: " + mod.No, "H6", "H6"));
            list.Add(new modExcelRangeData(mod.FormDate.ToString("yyyy/MM/dd"), "I8", "I8"));

            for (int i = 0; i < listdetail.Count; i++)
            {
                modQuotationDetail modd = listdetail[i];
                string             col  = (10 + i).ToString().Trim();
                list.Add(new modExcelRangeData((i + 1).ToString(), "A" + col, "A" + col));
                list.Add(new modExcelRangeData(modd.ProductName, "B" + col, "B" + col));
                list.Add(new modExcelRangeData(modd.Brand, "C" + col, "C" + col));
                list.Add(new modExcelRangeData(modd.Qty.ToString(), "D" + col, "D" + col));
                list.Add(new modExcelRangeData(modd.UnitNo, "E" + col, "E" + col));
                list.Add(new modExcelRangeData(string.Format("{0:C2}", modd.Price), "G" + col, "G" + col));
                list.Add(new modExcelRangeData(string.Format("{0:C2}", modd.Mny), "H" + col, "H" + col));
                list.Add(new modExcelRangeData(modd.Remark, "I" + col, "I" + col));
            }
            clsExport.ExportByTemplate(list, "报价单", 1, 20, 10, 1);
        }
Exemple #3
0
        private void toolSave_Click(object sender, EventArgs e)
        {
            try
            {
                this.Cursor = Cursors.WaitCursor;
                DBGrid.EndEdit();
                if (dtpFormDate.Value < Util.modperiod.StartDate)
                {
                    MessageBox.Show("该日期的数据已锁定,不能更新数据!", clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Information);
                    dtpFormDate.Focus();
                    return;
                }
                if (txtCustName.Tag == null)
                {
                    MessageBox.Show(clsTranslate.TranslateString("Cust Id") + clsTranslate.TranslateString(" can not be null!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    txtCustName.Focus();
                    return;
                }
                if (string.IsNullOrEmpty(txtCustName.Text))
                {
                    MessageBox.Show(clsTranslate.TranslateString("Cust Name") + clsTranslate.TranslateString(" can not be null!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    txtCustName.Focus();
                    return;
                }
                if (clsLxms.GetParameterValue("NEED_QUOTATION_NO").CompareTo("T") == 0 && string.IsNullOrEmpty(txtNo.Text))
                {
                    MessageBox.Show(clsTranslate.TranslateString("No") + clsTranslate.TranslateString(" can not be null!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    txtNo.Focus();
                    return;
                }
                if (DBGrid.RowCount == 0)
                {
                    MessageBox.Show("没有明细数据", clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                for (int i = 0; i < DBGrid.RowCount; i++)
                {
                    if (DBGrid.Rows[i].Cells[0].Value == null || string.IsNullOrEmpty(DBGrid.Rows[i].Cells[0].Value.ToString()))
                    {
                        MessageBox.Show(clsTranslate.TranslateString("Product id") + clsTranslate.TranslateString(" can not be null!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }
                    if (DBGrid.Rows[i].Cells[1].Value == null || string.IsNullOrEmpty(DBGrid.Rows[i].Cells[1].Value.ToString()))
                    {
                        MessageBox.Show(clsTranslate.TranslateString("Product name") + clsTranslate.TranslateString(" can not be null!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }

                    if (DBGrid.Rows[i].Cells[5].Value == null || string.IsNullOrEmpty(DBGrid.Rows[i].Cells[5].Value.ToString()))
                    {
                        MessageBox.Show(clsTranslate.TranslateString("Qty") + clsTranslate.TranslateString(" can not be null!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }
                    else if (!Util.IsNumeric(DBGrid.Rows[i].Cells[5].Value.ToString()))
                    {
                        MessageBox.Show(clsTranslate.TranslateString("Qty") + clsTranslate.TranslateString(" must be a numeric!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }
                    else if (Convert.ToDecimal(DBGrid.Rows[i].Cells[5].Value.ToString()) <= 0)
                    {
                        MessageBox.Show(clsTranslate.TranslateString("Qty") + clsTranslate.TranslateString(" must > 0!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }

                    if (DBGrid.Rows[i].Cells[6].Value == null || string.IsNullOrEmpty(DBGrid.Rows[i].Cells[6].Value.ToString()))
                    {
                        MessageBox.Show(clsTranslate.TranslateString("Price") + clsTranslate.TranslateString(" can not be null!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }
                    else if (!Util.IsNumeric(DBGrid.Rows[i].Cells[6].Value.ToString()))
                    {
                        MessageBox.Show(clsTranslate.TranslateString("Price") + clsTranslate.TranslateString(" must be a numeric!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }
                    else if (Convert.ToDecimal(DBGrid.Rows[i].Cells[6].Value.ToString()) <= 0)
                    {
                        MessageBox.Show(clsTranslate.TranslateString("Price") + clsTranslate.TranslateString(" must > 0!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }
                }
                modQuotationForm mod = new modQuotationForm();
                mod.FormId        = txtFormId.Text.Trim();
                mod.FormDate      = dtpFormDate.Value;
                mod.No            = txtNo.Text.Trim();
                mod.CustId        = txtCustName.Tag.ToString();
                mod.CustName      = txtCustName.Text.Trim();
                mod.Remark        = txtRemark.Text.Trim();
                mod.ContactPerson = txtContactPerson.Text.Trim();
                mod.Currency      = txtCurrency.Text.Trim();
                mod.UpdateUser    = Util.UserId;
                string detaillist = string.Empty;
                BindingCollection <modQuotationDetail> list = new BindingCollection <modQuotationDetail>();
                for (int i = 0; i < DBGrid.RowCount; i++)
                {
                    modQuotationDetail modd = new modQuotationDetail();
                    modd.Seq         = i + 1;
                    modd.ProductId   = DBGrid.Rows[i].Cells[0].Value.ToString();
                    modd.ProductName = DBGrid.Rows[i].Cells[1].Value.ToString();
                    modd.Specify     = DBGrid.Rows[i].Cells[2].Value == null ? string.Empty : DBGrid.Rows[i].Cells[2].Value.ToString();
                    modd.UnitNo      = DBGrid.Rows[i].Cells[3].Value == null ? string.Empty : DBGrid.Rows[i].Cells[3].Value.ToString();
                    modd.Brand       = DBGrid.Rows[i].Cells[4].Value == null ? string.Empty : DBGrid.Rows[i].Cells[4].Value.ToString();
                    modd.Qty         = Convert.ToDecimal(DBGrid.Rows[i].Cells[5].Value.ToString());
                    modd.Price       = Convert.ToDecimal(DBGrid.Rows[i].Cells[6].Value.ToString());
                    modd.Remark      = DBGrid.Rows[i].Cells[7].Value == null ? string.Empty : DBGrid.Rows[i].Cells[7].Value.ToString();
                    list.Add(modd);
                }
                bool ret = _dal.Save(_action, mod, list, out Util.emsg);
                if (ret)
                {
                    ini.IniWriteValue("QUOTATION", "CONTACT_PERSON", txtContactPerson.Text.Trim());
                    this.DialogResult = DialogResult.OK;
                    this.Dispose();
                }
                else
                {
                    MessageBox.Show(Util.emsg, clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }