コード例 #1
0
        private void PartnersPFCopy()
        {
            if (grdData.CurrentRow == null)
            {
                return;
            }
            if (!oPartnerCur.ID.HasValue)
            {
                return;
            }

            if (!grdData.IsCheckerShow ||
                grdData.MarkedCount == 0)
            {
                RFMMessage.MessageBoxError("Нет отмеченных партнеров...");
                return;
            }

            int nPartnerID = (int)oPartnerCur.ID;

            oPartnerCur.ReFillOne(nPartnerID);
            if ((oPartnerCur.PF_BillName == null || oPartnerCur.PF_BillName.Trim().Length == 0) &&
                oPartnerCur.PF_BillCopiesCount == 0 &&
                (oPartnerCur.PF_FactureName == null || oPartnerCur.PF_FactureName.Trim().Length == 0) &&
                oPartnerCur.PF_FactureCopiesCount == 0 &&
                (oPartnerCur.PF_PayBillName == null || oPartnerCur.PF_PayBillName.Trim().Length == 0) &&
                oPartnerCur.PF_PayBillCopiesCount == 0)
            {
                RFMMessage.MessageBoxError("Для текущего партнера нет данных о специальных печатных формах...");
                return;
            }

            Partner oPartnerForCopy = new Partner();

            PartnerPrepareIDList(oPartnerForCopy, true);
            if (oPartnerForCopy.IDList != null && oPartnerForCopy.IDList.Length > 0)
            {
                string sText = "," + oPartnerForCopy.IDList + ",";
                if (sText.Contains("," + nPartnerID.ToString().Trim() + ","))
                {
                    sText = sText.Replace("," + nPartnerID.ToString().Trim() + ",", ",");
                    oPartnerForCopy.IDList = RFMUtilities.NormalizeList(sText);
                }
                if (!oPartnerForCopy.FillData() ||
                    oPartnerForCopy.MainTable == null || oPartnerForCopy.MainTable.Rows.Count == 0)
                {
                    RFMMessage.MessageBoxError("Нет данных об отмеченных партнерах...");
                    return;
                }

                if (RFMMessage.MessageBoxYesNo("Выполнить копирование данных о специальных печатных формах и нестандартном количестве копий формируемых документов текущего партнера\n" +
                                               "\"" + oPartnerCur.Name + "\"\n" +
                                               "для всех отмеченных партнеров (" + oPartnerForCopy.MainTable.Rows.Count.ToString().Trim() + ")?\n\n" +
                                               "ВНИМАНИЕ!\n" +
                                               "Существующие данные о печатных формах и количестве копий для отмеченных партнеров, если таковые имеются, будут полностью заменены на данные текущего партнера!") == DialogResult.Yes)
                {
                    if (oPartnerForCopy.CopyDataPartnersPF(nPartnerID, oPartnerForCopy.IDList))
                    {
                        grdData_Restore();
                    }
                }
            }
            else
            {
                RFMMessage.MessageBoxError("Нет данных об отмеченных партнерах...");
                return;
            }
        }