Beispiel #1
0
        private void SaveFormula(bool isAdd, string formulaCode, string formulaName, string formulaDate, string cigaretteName, string quantity, string operater, string formulaNo, DataTable detailTable)
        {
            using (PersistentManager pm = new PersistentManager())
            {
                FormulaDao formulaDao = new FormulaDao();
                ProductDao productDao = new ProductDao();
                try
                {
                    pm.BeginTransaction();

                    if (isAdd)
                        formulaDao.InserMaster(formulaCode, formulaName, formulaDate, cigaretteName, quantity, formulaNo, operater);
                    else
                        formulaDao.UpdateMaster(formulaCode, formulaName, formulaDate, cigaretteName, quantity, formulaNo, operater);

                    formulaDao.DeleteDetail(formulaCode);
                    for (int i = 0; i < detailTable.Rows.Count; i++)
                    {
                        DataRow row = detailTable.Rows[i];
                        string productCode = row["PRODUCTCODE"].ToString().ToUpper();

                        formulaDao.InsertDetail(formulaCode,
                                                productCode,
                                                i.ToString(),
                                                row["QUANTITY"].ToString(),
                                                row["OTHERCODE"].ToString());

                        if (productDao.Find(productCode) == 0)
                        {
                            productDao.Insert(productCode,
                                         row["ORIGINAL"].ToString(),
                                         row["YEARS"].ToString(),
                                         row["GRADE"].ToString(),
                                         row["STYLE"].ToString());
                        }
                        else
                        {
                            productDao.Update(productCode,
                                         row["ORIGINAL"].ToString(),
                                         row["YEARS"].ToString(),
                                         row["GRADE"].ToString(),
                                         row["STYLE"].ToString());
                        }
                    }
                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
        }