#region добавить фин параметр позиции с суммой public DataRow Add(int idfinparam, double smbase, double sm, int idorderitem){ int i = 0; try { //ищем такой параметр у позиции DataRow [] drs = table_finparamcalc.Select( "idfinparam = " + idfinparam.ToString() + " and idorderitem = " + idorderitem.ToString() + " and deleted is null"); DataRow dr; if (drs.Length == 0){ // если не находим, то добавляем drs = table_orderitem.Select("idorderitem = " + idorderitem.ToString()); dr = Add(idfinparam); dr["idorderitem"] = idorderitem; if (drs.Length != 0) dr["orderitem_numpos"] = drs[0]["numpos"]; } else // иначе - обновляем dr = drs[0]; dr["smbase"] = smbase; dr["sm"] = sm; return dr; }catch (Exception e) { MessageBox.Show ("Добавление фин.параметра с суммой - " + i.ToString() + e.Message); return null; } } public DataRow Add(int idfinparam, double smbase, double sm, double smbase2, double smbase3, double smbase4, int idorderitem){ int i = 0; try { //ищем такой параметр у модели DataRow [] drs = table_finparamcalc.Select( "idfinparam = " + idfinparam.ToString() + " and idorderitem = " + idorderitem.ToString() + " and deleted is null"); DataRow dr; if (drs.Length == 0){ // если не находим, то добавляем drs = table_orderitem.Select("idorderitem = " + idorderitem.ToString()); dr = Add(idfinparam); dr["idorderitem"] = idorderitem; if (drs.Length != 0) dr["orderitem_numpos"] = drs[0]["numpos"]; } else // иначе - обновляем dr = drs[0]; dr["smbase"] = smbase; dr["sm"] = sm; dr["smbase2"] = smbase2; dr["smbase3"] = smbase3; dr["smbase4"] = smbase4; return dr; }catch (Exception e) { MessageBox.Show ("Добавление фин.параметра с суммой - " + i.ToString() + e.Message); return null; } } #endregion