Процедура преобразования 2-уровневой архитектуры в 3-уровневую архитектуру - PullRequest
0 голосов
/ 28 сентября 2018

Я знаю, что это уже заданный вопрос, и его можно закрыть.Но я хочу узнать больше.У меня есть система, и я хочу преобразовать ее в 3-х уровневую архитектуру.Да, 60% моей системы уже преобразованы в 3-уровневую архитектуру.Я уже ищу в интернете, но не понимаю.Теперь моя проблема заключается в создании форм отчетов.Как я могу реализовать создание форм отчетов на трехуровневой архитектуре?

Это мой код, до сих пор создаваемый в отчетах.

      ParameterFields pfs1 = new ParameterFields();
            ParameterField pf1 = new ParameterField();
            ParameterDiscreteValue pdv1 = new ParameterDiscreteValue();


            pf1.Name = "Shift_From";
            pdv1.Value = cmbRD.Text;
            pf1.CurrentValues.Add(pdv1);
            pfs1.Add(pf1);

            pf1 = new ParameterField();
            pdv1 = new ParameterDiscreteValue();
            pf1.Name = "Shift_To";
            pdv1.Value = cmbRD.SelectedValue;
            pf1.CurrentValues.Add(pdv1);
            pfs1.Add(pf1);

            pf1 = new ParameterField();
            pdv1 = new ParameterDiscreteValue();
            pf1.Name = "RD_Code";
            pdv1.Value = "";// cmbRD.SelectedValue.ToString();
            pf1.CurrentValues.Add(pdv1);
            pfs1.Add(pf1);

            pf1 = new ParameterField();
            pdv1 = new ParameterDiscreteValue();
            pf1.Name = "From_Date";
            pdv1.Value = dtpfromdate.Text.ToString();
            pf1.CurrentValues.Add(pdv1);
            pfs1.Add(pf1);

            pf1 = new ParameterField();
            pdv1 = new ParameterDiscreteValue();
            pf1.Name = "To_Date";
            pdv1.Value = dtptodate.Text.ToString();
            pf1.CurrentValues.Add(pdv1);
            pfs1.Add(pf1);


            if (this.Text == "Transaction Status")
                Db.LoadReport(crvMonthlyPrintingReport, "RD\\AESM_Tran_rpt.rpt", pfs1);
            else if (this.Text == "User Productivity")
                Db.LoadReport(crvMonthlyPrintingReport, "RD\\Output_Person_rpt.rpt", pfs1);
            else if (this.Text == "TAT per Title")
                Db.LoadReport(crvMonthlyPrintingReport, "RD\\TAT_Per_Title_rpt.rpt", pfs1);
            Db.UpdateViewerStatusBar(crvMonthlyPrintingReport, RegistryOperations.RegKeyValues["Printer"].ToString());

        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
        finally
        {
        }

Эта форма - Генерация отчетов. Как внедрить в бизнес-уровень и вызвать его на уровне презентации?или Какой формат, я знаю, если я преобразую эти коды, он изменит его формат при использовании 3-уровневой архитектуры?

Как я могу вставить это в бизнес-уровень?И назвать его на уровне презентации?

Любое предложение будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...