public override CReportDataProcessingProperty DataToProcessingProperty(CTable o, ArrayList rows, int row)
        {
            String tmpPrevKey = prevGroupId;
            int    rowcount   = rows.Count;
            CReportDataProcessingProperty rpp = new CReportDataProcessingProperty();

            //ArrayList keepTotal1 = copyTotalArray(groupSums);
            ArrayList keepTotal2 = copyTotalArray(sums);


            CRow r  = (CRow)rowdef["DATA_LEVEL1"];
            CRow nr = r.Clone();

            double newh = AvailableSpace - nr.GetHeight();

            filterDrCrAmount(o);

            if (newh > 0)
            {
                String groupId = o.GetFieldValue(getGroupKey());
                if (row == 0)
                {
                    prevGroupId = groupId;
                }

                if (!groupId.Equals(prevGroupId))
                {
                    prevGroupId = groupId;
                    groupSum1   = groupSums;
                }

                ArrayList temps = getColumnDataTexts("L1", row + 1, o);
                nr.FillColumnsText(temps);
                rpp.AddReportRow(nr);

                sums = sumDataTexts("L1", sums, temps);

                if (row == rowcount - 1)
                {
                    double h = addNewFooterRow(rowdef, rpp, "FOOTER_LEVEL1", "L1", "total", sums);
                    newh = newh - h;
                }
            }

            if (newh < 1)
            {
                rpp.IsNewPageRequired = true;

                //พวก sum ทั้งหลายจะถูกคืนค่ากลับไปด้วย เพราะถูกบวกไปแล้ว
                //groupSums = keepTotal1;
                sums        = keepTotal2;
                prevGroupId = tmpPrevKey;
            }
            else
            {
                AvailableSpace = newh;
            }

            return(rpp);
        }
Пример #2
0
        protected override void createRowTemplates()
        {
            String    nm        = "";
            Thickness defMargin = new Thickness(3, 1, 3, 1);

            configReport();

            nm = "HEADER_LEVEL1";
            CRow h2 = new CRow(nm, 30, getColumnCount("L1"), defMargin);

            h2.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = h2;

            configRow("L1", h2, "H");


            nm = "DATA_LEVEL1";
            CRow r0 = new CRow(nm, 30, getColumnCount("L1"), defMargin);

            r0.SetFont(null, FontStyles.Normal, 0, FontWeights.Normal);
            rowdef[nm] = r0;

            configRow("L1", r0, "B");


            nm = "FOOTER_LEVEL1";
            CRow f1 = new CRow(nm, 30, getColumnCount("L1"), defMargin);

            f1.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = f1;

            configRow("L1", f1, "F");

            baseTemplateName = "DATA_LEVEL1";
        }
Пример #3
0
        public TResult <IBRServiceContracts.CRow> GetTaskDataByUid(string user, string projectname, string workinglayer, string systemuid)
        {
            //object comosobject = System.Web.HttpContext.Current.ApplicationInstance.Application["ComosAPI"];
            //IBRServiceContracts.IServiceContract m_ComosAPIService = (IBRServiceContracts.IServiceContract)comosobject;
            IServiceContract m_ComosAPIService = GetComosAPI();
            int idworkinglayer = 0;

            if (workinglayer != "")
            {
                idworkinglayer = int.Parse(workinglayer);
            }

            IBRServiceContracts.CCell[] result = m_ComosAPIService.GetTaskDataByUid(user, projectname, idworkinglayer, systemuid);

            CRow row = new CRow();

            row.Values = result;

            return(new TResult <IBRServiceContracts.CRow>()
            {
                Status = (result.Length > 0),
                data = row,
                Message = null,
            });
        }
        public override CReportDataProcessingProperty DataToProcessingProperty(CTable o, ArrayList rows, int row)
        {
            String tmpPrevKey = prevKeyId;
            int    rowcount   = rows.Count;
            CReportDataProcessingProperty rpp = new CReportDataProcessingProperty();

            ArrayList keepTotal1 = copyTotalArray(entitySums);
            ArrayList keepTotal2 = copyTotalArray(sums);

            CRow r  = (CRow)rowdef["DATA_LEVEL1"];
            CRow nr = r.Clone();

            double newh = AvailableSpace - nr.GetHeight();

            populateTempFields(o);

            double h = 0.00;

            if (newh > 0)
            {
                String keyId = o.GetFieldValue("EMPLOYEE_CODE");

                if (row == 0)
                {
                    prevKeyId = keyId;
                }

                h = addNewDataRow(rowdef, rpp, "DATA_LEVEL1", "L1", row, o);
                //newh = newh - h;

                ArrayList temps = getColumnDataTexts("L1", row, o);
                nr.FillColumnsText(temps);

                sums       = sumDataTexts("L1", sums, temps);
                entitySums = sumDataTexts("L1", entitySums, temps);

                if (row == rowcount - 1)
                {
                    h    = addNewFooterRow(rowdef, rpp, "FOOTER_LEVEL1", "L1", "total", sums);
                    newh = newh - h;
                }
            }

            if (newh < 1)
            {
                rpp.IsNewPageRequired = true;

                //พวก sum ทั้งหลายจะถูกคืนค่ากลับไปด้วย เพราะถูกบวกไปแล้ว
                entitySums = keepTotal1;
                sums       = keepTotal2;
                prevKeyId  = tmpPrevKey;
            }
            else
            {
                AvailableSpace = newh;
            }

            return(rpp);
        }
Пример #5
0
        private void createDataHeaderRow2(UReportPage page)
        {
            CRow r = (CRow)rowdef["HEADER_LEVEL1"];

            r.FillColumnsText(getColumnHederTexts("L1", "H"));

            ConstructUIRow(page, r);
            AvailableSpace = AvailableSpace - r.GetHeight();
        }
Пример #6
0
        public override CReportDataProcessingProperty DataToProcessingProperty(CTable o, ArrayList rows, int row)
        {
            String tmpPrevKey = prevEntityId;
            int    rowcount   = rows.Count;
            CReportDataProcessingProperty rpp = new CReportDataProcessingProperty();

            ArrayList keepTotal1 = copyTotalArray(entitySums);
            ArrayList keepTotal2 = copyTotalArray(sums);

            CRow r  = (CRow)rowdef["DATA_LEVEL1"];
            CRow nr = r.Clone();

            double newh = AvailableSpace - nr.GetHeight();

            populateTempFields(o);

            if (newh > 0)
            {
                ArrayList temps = getColumnDataTexts("L1", row + 1, o);
                nr.FillColumnsText(temps);
                rpp.AddReportRow(nr);

                sums       = sumDataTexts("L1", sums, temps);
                entitySums = sumDataTexts("L1", entitySums, temps);

                if (row == rowcount - 1)
                {
                    //=== End row
                    CRow ft1  = (CRow)rowdef["FOOTER_LEVEL1"];
                    CRow ftr1 = ft1.Clone();

                    ArrayList totals = displayTotalTexts("L1", sums, 1, "total");
                    ftr1.FillColumnsText(totals);

                    rpp.AddReportRow(ftr1);
                    newh = newh - ftr1.GetHeight();
                }
            }

            if (newh < 1)
            {
                rpp.IsNewPageRequired = true;

                //พวก sum ทั้งหลายจะถูกคืนค่ากลับไปด้วย เพราะถูกบวกไปแล้ว
                entitySums   = keepTotal1;
                sums         = keepTotal2;
                prevEntityId = tmpPrevKey;
            }
            else
            {
                AvailableSpace = newh;
            }

            return(rpp);
        }
        private void addTotalRow(CReportDataProcessingProperty rpp, ArrayList sumArray)
        {
            CRow ft1  = (CRow)rowdef["FOOTER_LEVEL1"];
            CRow ftr1 = ft1.Clone();

            ArrayList totals = displayTotalTexts("L1", sumArray, 1, "total");

            ftr1.FillColumnsText(totals);

            rpp.AddReportRow(ftr1);
        }
        protected override void createRowTemplates()
        {
            String    nm        = "";
            Thickness defMargin = new Thickness(3, 1, 3, 1);

            configReport();

            //== START HEADER ===
            nm = "HEADER_LEVEL0";
            CRow h0 = new CRow(nm, 30, getColumnCount("L0"), defMargin);

            h0.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = h0;

            configRow("L0", h0, "H");

            nm = "HEADER_LEVEL1";
            CRow h1 = new CRow(nm, 30, getColumnCount("L1"), defMargin);

            h1.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = h1;

            configRow("L1", h1, "H");
            //== END HEADER ===


            //== START BODY ===
            nm = "DATA_LEVEL0";
            CRow r00 = new CRow(nm, 30, getColumnCount("L0"), defMargin);

            r00.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = r00;

            configRow("L0", r00, "B");

            nm = "DATA_LEVEL1";
            CRow r01 = new CRow(nm, 30, getColumnCount("L1"), defMargin);

            r01.SetFont(null, FontStyles.Normal, 0, FontWeights.Normal);
            rowdef[nm] = r01;

            configRow("L1", r01, "B");
            //== END BODY ===

            nm = "FOOTER_LEVEL1";
            CRow f1 = new CRow(nm, 30, getColumnCount("L1"), defMargin);

            f1.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = f1;

            configRow("L1", f1, "F");

            baseTemplateName = "DATA_LEVEL1";
        }
        private void createDataHeaderRow1(UReportPage page)
        {
            CRow r = (CRow)rowdef["HEADER_LEVEL1"];

            r.FillColumnsText(
                CLanguage.getValue("item_code"),
                CLanguage.getValue("item_name_thai"),
                CLanguage.getValue("location_name"));

            ConstructUIRow(page, r);
            AvailableSpace = AvailableSpace - r.GetHeight();
        }
Пример #10
0
        private CQuerieResult GetFavoritesData()
        {
            CQuerieResult q         = new CQuerieResult();
            var           db        = Services.XServices.Instance.GetService <Services.XDatabase>();
            List <string> favorites = db.GetFavorites();

            CColumn[] columns = new CColumn[2];
            CRow[]    rows    = new CRow[favorites.Count];

            columns[0] = new CColumn()
            {
                DisplayDescription = "Name"
            };
            columns[1] = new CColumn()
            {
                DisplayDescription = "Description"
            };
            //columns[2] = new CColumn() { DisplayDescription = "Pic" };

            q.Columns = columns;
            q.Rows    = rows;

            int i = 0;

            foreach (var item in favorites)
            {
                CRow    row    = new CRow();
                CObject output = Newtonsoft.Json.JsonConvert.DeserializeObject <CObject>(item);
                m_Query.SetMainObject(output);
                row.Items = new CCell[2];

                row.Items[0] = new CCell()
                {
                    Text = output.Name, UID = output.UID, Picture = output.Picture
                };
                row.Items[1] = new CCell()
                {
                    Text = output.Description, UID = output.UID, Picture = output.Picture
                };
                //row.Items[2] = new CCell() { Text = output.Picture, UID = output.UID, Picture = output.Picture };

                row.UID = output.UID;
                rows[i] = row;

                i++;
            }

            m_Query.SetNavigator(this.Navigator.Database);
            m_Query.Query = q;
            m_Query.ShowListQuery();

            return(q);
        }
Пример #11
0
        private void createDataHeaderRow1(UReportPage page)
        {
            CRow r = (CRow)rowdef["HEADER_LEVEL1"];

            r.FillColumnsText(
                CLanguage.getValue("customer_type"),
                CLanguage.getValue("customer_group"));


            ConstructUIRow(page, r);
            AvailableSpace = AvailableSpace - r.GetHeight();
        }
Пример #12
0
        private void createDataHeaderRow2(UReportPage page)
        {
            CRow r = (CRow)rowdef["HEADER_LEVEL2"];

            r.FillColumnsText(
                CLanguage.getValue("number"),
                CLanguage.getValue("customer_code"),
                CLanguage.getValue("customer_name"),
                CLanguage.getValue("telephone"));

            ConstructUIRow(page, r);
            AvailableSpace = AvailableSpace - r.GetHeight();
        }
        private void createDataHeaderRow1(UReportPage page)
        {
            CRow r = (CRow)rowdef["HEADER_LEVEL1"];

            r.FillColumnsText(
                CLanguage.getValue("AccNo"),
                CLanguage.getValue("AccName"),
                CLanguage.getValue("Bank"),
                CLanguage.getValue("Branch"));

            ConstructUIRow(page, r);
            AvailableSpace = AvailableSpace - r.GetHeight();
        }
        private void createDataHeaderRow2(UReportPage page)
        {
            CRow r = (CRow)rowdef["HEADER_LEVEL2"];

            r.FillColumnsText(
                CLanguage.getValue("number"),
                CLanguage.getValue("DocuDate"),
                CLanguage.getValue("in_quantity"),
                CLanguage.getValue("out_quantity"),
                CLanguage.getValue("balance_quantity"));

            ConstructUIRow(page, r);
            AvailableSpace = AvailableSpace - r.GetHeight();
        }
Пример #15
0
        public override CReportDataProcessingProperty DataToProcessingProperty(CTable o, ArrayList rows, int row)
        {
            int rowcount = rows.Count;
            CReportDataProcessingProperty rpp = new CReportDataProcessingProperty();

            ArrayList keepTotal2 = copyTotalArray(sums);

            CRow r  = (CRow)rowdef["DATA_LEVEL1"];
            CRow nr = r.Clone();

            double newh = AvailableSpace - nr.GetHeight();

            if (newh > 0)
            {
                filterDrCrAmount(o);

                ArrayList temps = getColumnDataTexts("L1", row + 1, o);
                nr.FillColumnsText(temps);
                rpp.AddReportRow(nr);

                sums = sumDataTexts("L1", sums, temps);

                if (row == rowcount - 1)
                {
                    CRow ft1  = (CRow)rowdef["FOOTER_LEVEL1"];
                    CRow ftr1 = ft1.Clone();

                    ArrayList totals = displayTotalTexts("L1", sums, 1, "total");
                    ftr1.FillColumnsText(totals);

                    rpp.AddReportRow(ftr1);
                    newh = newh - ftr1.GetHeight();
                }
            }

            if (newh < 1)
            {
                rpp.IsNewPageRequired = true;
                sums = keepTotal2;
            }
            else
            {
                AvailableSpace = newh;
            }

            return(rpp);
        }
        private void createDataHeaderRow(UReportPage page)
        {
            CRow r = (CRow)rowdef["HEADER_LEVEL1"];

            r.FillColumnsText(
                "NO.",
                CLanguage.getValue("inventory_doc_no"),
                CLanguage.getValue("date"),
                CLanguage.getValue("AccNo"),
                CLanguage.getValue("Bank"),
                CLanguage.getValue("money_quantity"),
                CLanguage.getValue("inventory_doc_status"),
                CLanguage.getValue("note"));

            ConstructUIRow(page, r);
            AvailableSpace = AvailableSpace - r.GetHeight();
        }
        public override CReportDataProcessingProperty DataToProcessingProperty(CTable o, ArrayList rows, int row)
        {
            int rowcount = rows.Count;
            CReportDataProcessingProperty rpp = new CReportDataProcessingProperty();


            CRow r  = (CRow)rowdef["DATA_LEVEL1"];
            CRow nr = r.Clone();

            double newh = AvailableSpace - nr.GetHeight();

            if (newh > 0)
            {
                ArrayList temps = getColumnDataTexts("L1", row + 1, o);
                nr.FillColumnsText(temps);
                rpp.AddReportRow(nr);

                projSums = sumDataTexts("L1", projSums, temps);

                if (row == rowcount - 1)
                {
                    //=== End row
                    CRow ft1  = (CRow)rowdef["FOOTER_LEVEL1"];
                    CRow ftr1 = ft1.Clone();

                    rpp.AddReportRow(ftr1);
                    newh = newh - ftr1.GetHeight();
                }
            }

            if (newh < 1)
            {
                rpp.IsNewPageRequired = true;

                //พวก sum ทั้งหลายจะถูกคืนค่ากลับไปด้วย เพราะถูกบวกไปแล้ว
                //projSums = keepTotal1;
                //sums = keepTotal2;
                //prevProject = tmpPrevProject;
            }
            else
            {
                AvailableSpace = newh;
            }

            return(rpp);
        }
Пример #18
0
        public override CReportDataProcessingProperty DataToProcessingProperty(CTable o, ArrayList rows, int row)
        {
            int rowcount = rows.Count;

            CReportDataProcessingProperty rpp = new CReportDataProcessingProperty();

            CRow r  = (CRow)rowdef["DATA_LEVEL1"];
            CRow nr = r.Clone();

            CRow ft  = (CRow)rowdef["FOOTER_LEVEL1"];
            CRow ftr = ft.Clone();

            MInventoryTransaction v = new MInventoryTransaction(o);

            double newh = AvailableSpace - nr.GetHeight();

            if (Parameter.GetFieldValue("COSTING_TYPE").Equals("MOVE"))
            {
                nr.FillColumnsText((row + 1).ToString(), v.DocumentDateFmt, v.DocumentNo, v.LocationName, v.LocationToName, v.ItemCode, v.ItemNameThai
                                   , CUtil.FormatNumber(v.ItemQuantity, "-"), CUtil.FormatNumber(v.ItemPrice, "-"), CUtil.FormatNumber(v.ItemAmount, "-"));

                totals += CUtil.StringToDouble(v.ItemAmount);
            }
            rpp.AddReportRow(nr);
            if (row == rowcount - 1)
            {
                newh = newh - ftr.GetHeight();
                if (newh > 0)
                {
                    ftr.FillColumnsText("", CLanguage.getValue("total"), "", "", "", "", "", "", "", CUtil.FormatNumber(totals.ToString(), "-"));
                    rpp.AddReportRow(ftr);

                    totals = 0;
                }
            }
            if (newh < 0)
            {
                rpp.IsNewPageRequired = true;
            }
            else
            {
                AvailableSpace = newh;
            }

            return(rpp);
        }
Пример #19
0
        private void createDataHeaderRow1(UReportPage page)
        {
            CRow r = (CRow)rowdef["HEADER_LEVEL1"];

            r.FillColumnsText(
                CLanguage.getValue("number"),
                CLanguage.getValue("date"),
                CLanguage.getValue("inventory_doc_no"),
                CLanguage.getValue("location_name"),
                CLanguage.getValue("item_code"),
                CLanguage.getValue("item_name_thai"),
                CLanguage.getValue("lot_quantity"),
                CLanguage.getValue("lot_avg"),
                CLanguage.getValue("ProdValue"));

            ConstructUIRow(page, r);
            AvailableSpace = AvailableSpace - r.GetHeight();
        }
Пример #20
0
        public override CReportDataProcessingProperty DataToProcessingProperty(CTable o, ArrayList rows, int row)
        {
            int rowcount = rows.Count;
            CReportDataProcessingProperty rpp = new CReportDataProcessingProperty();

            CRow r  = (CRow)rowdef["DATA_LEVEL1"];
            CRow nr = r.Clone();

            MCashAccount v = new MCashAccount(o);

            double newh = AvailableSpace - nr.GetHeight();

            nr.FillColumnsText((row + 1).ToString(), v.AccountNo, v.AccountName, v.BankName, v.BankBranchName,
                               v.TotalAmountFmt);

            totals[5] = totals[5] + CUtil.StringToDouble(v.TotalAmount);

            rpp.AddReportRow(nr);

            if (row == rowcount - 1)
            {
                //End row
                CRow ft  = (CRow)rowdef["FOOTER_LEVEL1"];
                CRow ftr = ft.Clone();

                ftr.FillColumnsText(CLanguage.getValue("total"), "", "", "", "", CUtil.FormatNumber(totals[5].ToString()));

                rpp.AddReportRow(ftr);
                newh = AvailableSpace - ftr.GetHeight();
            }

            if (newh < 0)
            {
                rpp.IsNewPageRequired = true;
            }
            else
            {
                AvailableSpace = newh;
            }

            return(rpp);
        }
Пример #21
0
        private async void listQuery_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            CRow tapped = (CRow)e.Item;

            if (tapped.Items[0].UID != "")
            {
                CSystemObject sysobj;
                try
                {
                    sysobj = await m_ComosWeb.GetObject(m_Layer, tapped.Items[0].UID, m_Language);
                }
                catch (Exception ex)
                {
                    await App.Current.MainPage.DisplayAlert("Error", "Error al cargar objetos de Comos Web: " + ex.Message, Services.TranslateExtension.TranslateText("OK"));

                    return;
                }

                if (sysobj == null)
                {
                    return;
                }

                CObject o = new CObject()
                {
                    ClassType       = sysobj.SystemType,
                    Description     = sysobj.Description,
                    IsClientPicture = sysobj.IsClientPicture,
                    Name            = sysobj.Name,
                    UID             = sysobj.UID,
                    OverlayUID      = m_Mainobject.OverlayUID,
                    Picture         = sysobj.Picture,
                    ProjectUID      = m_Mainobject.ProjectUID,
                    SystemFullName  = sysobj.Name,
                };

                PageSpecifications page = new PageSpecifications(m_Navigator, o, m_Language);
                this.Navigation.PushAsync(page);
            }
        }
Пример #22
0
        public void Nav_OnFiltered(object sender, EventArgs e)
        {
            if (view == QueryViewMode.Accordion)
            {
                listQuery.ItemsSource = nav.FilteredList;
            }
            else
            {
                CRow[] newRows = new CRow[nav.FilteredList.Count];
                int    i       = 0;

                foreach (CRow item in nav.FilteredList)
                {
                    newRows[i] = new CRow {
                        Items = item.Items, UID = item.UID
                    };
                    i = i + 1;
                }
                m_Query.Rows = newRows;
                ShowTableQuery();
            }
        }
Пример #23
0
        public override CReportDataProcessingProperty DataToProcessingProperty(CTable o, ArrayList rows, int row)
        {
            int rowcount = rows.Count;
            CReportDataProcessingProperty rpp = new CReportDataProcessingProperty();

            //ArrayList keepTotal1 = copyTotalArray(groupSums);
            //ArrayList keepTotal2 = copyTotalArray(sums);

            filterRecord(o);
            String rowType = o.GetFieldValue("ROW_TYPE");

            CRow r  = (CRow)rowdef[rowType];
            CRow nr = r.Clone();

            double newh = AvailableSpace - nr.GetHeight();

            if (newh > 0)
            {
                ArrayList temps = getColumnDataTexts("L1", row + 1, o);
                nr.FillColumnsText(temps);
                rpp.AddReportRow(nr);
            }

            if (newh < 1)
            {
                rpp.IsNewPageRequired = true;

                //พวก sum ทั้งหลายจะถูกคืนค่ากลับไปด้วย เพราะถูกบวกไปแล้ว
                //groupSums = keepTotal1;
                //sums = keepTotal2;
            }
            else
            {
                AvailableSpace = newh;
            }

            return(rpp);
        }
Пример #24
0
        protected override void createRowTemplates()
        {
            String    nm        = "";
            Thickness defMargin = new Thickness(3, 1, 3, 1);

            nm = "HEADER_LEVEL1";
            CRow h = new CRow(nm, defHeightCol, defCol, defMargin);

            h.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = h;

            CColumn c_0 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[0], GridUnitType.Star));

            h.AddColumn(c_0);

            CColumn c_1 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[1], GridUnitType.Star));

            h.AddColumn(c_1);

            CColumn c_2 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[2], GridUnitType.Star));

            h.AddColumn(c_2);

            CColumn c_3 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[3], GridUnitType.Star));

            h.AddColumn(c_3);

            CColumn c_4 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[4], GridUnitType.Star));

            h.AddColumn(c_4);

            CColumn c_5 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[5], GridUnitType.Star));

            h.AddColumn(c_5);

            CColumn c_6 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[6], GridUnitType.Star));

            h.AddColumn(c_6);

            CColumn c_7 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[7], GridUnitType.Star));

            h.AddColumn(c_7);

            CColumn c_8 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[8], GridUnitType.Star));

            h.AddColumn(c_8);

            CColumn c_9 = new CColumn(new Thickness(0.5, 0.5, 0.5, 0.5), new GridLength(widths[9], GridUnitType.Star));

            h.AddColumn(c_9);


            nm = "DATA_LEVEL1";
            CRow r0 = new CRow(nm, defHeightCol, defCol, defMargin);

            r0.SetFont(null, FontStyles.Normal, 0, FontWeights.Normal);
            rowdef[nm] = r0;

            CColumn r0_c0 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[0], GridUnitType.Star));

            r0_c0.SetHorizontalAlignment(HorizontalAlignment.Center);
            r0.AddColumn(r0_c0);

            CColumn r0_c1_0 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[1], GridUnitType.Star));

            r0_c1_0.SetHorizontalAlignment(HorizontalAlignment.Center);
            r0.AddColumn(r0_c1_0);

            CColumn r0_c1_1 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[2], GridUnitType.Star));

            r0_c1_1.SetHorizontalAlignment(HorizontalAlignment.Left);
            r0.AddColumn(r0_c1_1);

            CColumn r0_c2 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[3], GridUnitType.Star));

            r0_c2.SetHorizontalAlignment(HorizontalAlignment.Left);
            r0.AddColumn(r0_c2);

            CColumn r0_c3 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[4], GridUnitType.Star));

            r0_c3.SetHorizontalAlignment(HorizontalAlignment.Left);
            r0.AddColumn(r0_c3);

            CColumn r0_c4 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[5], GridUnitType.Star));

            r0_c4.SetHorizontalAlignment(HorizontalAlignment.Left);
            r0.AddColumn(r0_c4);

            CColumn r0_c5 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[6], GridUnitType.Star));

            r0_c5.SetHorizontalAlignment(HorizontalAlignment.Left);
            r0.AddColumn(r0_c5);

            CColumn r0_c6 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[7], GridUnitType.Star));

            r0_c6.SetHorizontalAlignment(HorizontalAlignment.Right);
            r0.AddColumn(r0_c6);

            CColumn r0_c7 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[8], GridUnitType.Star));

            r0_c7.SetHorizontalAlignment(HorizontalAlignment.Right);
            r0.AddColumn(r0_c7);

            CColumn r0_c8 = new CColumn(new Thickness(0.5, 0, 0.5, 0.5), new GridLength(widths[9], GridUnitType.Star));

            r0_c8.SetHorizontalAlignment(HorizontalAlignment.Right);
            r0.AddColumn(r0_c8);


            nm = "FOOTER_LEVEL1";
            CRow f1 = new CRow(nm, defHeightCol, defCol, defMargin);

            f1.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = f1;

            CColumn fc_0 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[0], GridUnitType.Star));

            f1.AddColumn(fc_0);

            CColumn fc_1 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[1], GridUnitType.Star));

            f1.AddColumn(fc_1);

            CColumn fc_2 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[2], GridUnitType.Star));

            f1.AddColumn(fc_2);

            CColumn fc_3 = new CColumn(new Thickness(0, 0, 0, 0.5), new GridLength(widths[3], GridUnitType.Star));

            fc_3.SetHorizontalAlignment(HorizontalAlignment.Right);
            f1.AddColumn(fc_3);

            CColumn fc_4 = new CColumn(new Thickness(0, 0, 0, 0.5), new GridLength(widths[4], GridUnitType.Star));

            fc_4.SetHorizontalAlignment(HorizontalAlignment.Right);
            f1.AddColumn(fc_4);

            CColumn fc_5 = new CColumn(new Thickness(0, 0, 0, 0.5), new GridLength(widths[5], GridUnitType.Star));

            fc_5.SetHorizontalAlignment(HorizontalAlignment.Right);
            f1.AddColumn(fc_5);

            CColumn fc_6 = new CColumn(new Thickness(0, 0, 0, 0.5), new GridLength(widths[6], GridUnitType.Star));

            fc_6.SetHorizontalAlignment(HorizontalAlignment.Right);
            f1.AddColumn(fc_6);

            CColumn fc_7 = new CColumn(new Thickness(0, 0, 0, 0.5), new GridLength(widths[7], GridUnitType.Star));

            fc_7.SetHorizontalAlignment(HorizontalAlignment.Right);
            f1.AddColumn(fc_7);

            CColumn fc_8 = new CColumn(new Thickness(0, 0, 0, 0.5), new GridLength(widths[8], GridUnitType.Star));

            fc_8.SetHorizontalAlignment(HorizontalAlignment.Right);
            f1.AddColumn(fc_8);

            CColumn fc_9 = new CColumn(new Thickness(0.5, 0, 0.5, 0.5), new GridLength(widths[9], GridUnitType.Star));

            fc_9.SetHorizontalAlignment(HorizontalAlignment.Right);
            f1.AddColumn(fc_9);
        }
Пример #25
0
        protected override void createRowTemplates()
        {
            String    nm        = "";
            Thickness defMargin = new Thickness(3, 1, 3, 1);

            nm = "HEADER_LEVEL1";
            CRow h2 = new CRow(nm, 30, 6, defMargin);

            h2.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = h2;

            CColumn c2_0 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[0], GridUnitType.Star));

            h2.AddColumn(c2_0);

            CColumn c2_1_0 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[1], GridUnitType.Star));

            h2.AddColumn(c2_1_0);

            CColumn c2_1_1 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[2], GridUnitType.Star));

            h2.AddColumn(c2_1_1);

            CColumn c2_2 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[3], GridUnitType.Star));

            h2.AddColumn(c2_2);

            CColumn c2_3 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths[4], GridUnitType.Star));

            h2.AddColumn(c2_3);

            CColumn c2_4 = new CColumn(new Thickness(0.5, 0.5, 0.5, 0.5), new GridLength(widths[5], GridUnitType.Star));

            h2.AddColumn(c2_4);


            nm = "DATA_LEVEL1";
            CRow r0 = new CRow(nm, 30, 6, defMargin);

            r0.SetFont(null, FontStyles.Normal, 0, FontWeights.Normal);
            rowdef[nm] = r0;


            CColumn r0_c0 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[0], GridUnitType.Star));

            r0_c0.SetHorizontalAlignment(HorizontalAlignment.Center);
            r0.AddColumn(r0_c0);

            CColumn r0_c1_0 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[1], GridUnitType.Star));

            r0_c1_0.SetHorizontalAlignment(HorizontalAlignment.Left);
            r0.AddColumn(r0_c1_0);

            CColumn r0_c1_1 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[2], GridUnitType.Star));

            r0_c1_1.SetHorizontalAlignment(HorizontalAlignment.Left);
            r0.AddColumn(r0_c1_1);

            CColumn r0_c2 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[3], GridUnitType.Star));

            r0_c2.SetHorizontalAlignment(HorizontalAlignment.Left);
            r0.AddColumn(r0_c2);

            CColumn r0_c3 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[4], GridUnitType.Star));

            r0_c3.SetHorizontalAlignment(HorizontalAlignment.Left);
            r0.AddColumn(r0_c3);

            CColumn r0_c4 = new CColumn(new Thickness(0.5, 0, 0.5, 0.5), new GridLength(widths[5], GridUnitType.Star));

            r0_c4.SetHorizontalAlignment(HorizontalAlignment.Right);
            r0.AddColumn(r0_c4);


            nm = "FOOTER_LEVEL1";
            CRow f1 = new CRow(nm, 30, 6, defMargin);

            f1.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = f1;

            CColumn fc_0 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[0], GridUnitType.Star));

            f1.AddColumn(fc_0);

            CColumn fc_1 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[1], GridUnitType.Star));

            f1.AddColumn(fc_1);

            CColumn fc_2 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[2], GridUnitType.Star));

            f1.AddColumn(fc_2);

            CColumn fc_3 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[3], GridUnitType.Star));

            f1.AddColumn(fc_3);

            CColumn fc_4 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths[4], GridUnitType.Star));

            fc_4.SetHorizontalAlignment(HorizontalAlignment.Right);
            f1.AddColumn(fc_4);

            CColumn fc_5 = new CColumn(new Thickness(0.5, 0, 0.5, 0.5), new GridLength(widths[5], GridUnitType.Star));

            fc_5.SetHorizontalAlignment(HorizontalAlignment.Right);
            f1.AddColumn(fc_5);
        }
        public override CReportDataProcessingProperty DataToProcessingProperty(CTable o, ArrayList rows, int row)
        {
            int rowcount = rows.Count;
            CReportDataProcessingProperty rpp = new CReportDataProcessingProperty();

            if (isSkipRow(o))
            {
                //In case the last record is skipped

                if (row == rowcount - 1)
                {
                    addTotalRow(rpp, sums);
                }

                //Do Nothing
                return(rpp);
            }

            ArrayList keepTotal2 = copyTotalArray(sums);

            rowProcess++;

            CRow r  = (CRow)rowdef["DATA_LEVEL1"];
            CRow nr = r.Clone();

            double newh = AvailableSpace - nr.GetHeight();

            if (newh > 0)
            {
                filterDrCrAmount(o);

                String refDocNo = o.GetFieldValue("REF_DOCUMENT_NO");
                if (refDocNo.Equals(""))
                {
                    refDocNo = o.GetFieldValue("ACTUAL_INVOICE_NO");
                }
                o.SetFieldValue("REF_DOCUMENT_NO", refDocNo);

                String refDocDate = o.GetFieldValue("REF_DOCUMENT_DATE");
                if (refDocDate.Equals(""))
                {
                    refDocDate = o.GetFieldValue("ACTUAL_INVOICE_DATE");
                }
                o.SetFieldValue("REF_DOCUMENT_DATE", refDocDate);

                ArrayList temps = getColumnDataTexts("L1", rowProcess, o);
                nr.FillColumnsText(temps);
                rpp.AddReportRow(nr);

                sums = sumDataTexts("L1", sums, temps);

                if (row == rowcount - 1)
                {
                    addTotalRow(rpp, sums);
                }
            }

            if (newh < 1)
            {
                rpp.IsNewPageRequired = true;
                sums = keepTotal2;
            }
            else
            {
                AvailableSpace = newh;
            }

            return(rpp);
        }
        protected override void createRowTemplates()
        {
            String    nm        = "";
            Thickness defMargin = new Thickness(3, 1, 3, 1);

            nm = "HEADER_LEVEL1";
            CRow h1 = new CRow(nm, 30, 4, defMargin);

            h1.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = h1;

            CColumn c2_0 = new CColumn(new Thickness(0.5, 0.5, 0, 0), new GridLength(widths4Col[0], GridUnitType.Star));

            h1.AddColumn(c2_0);

            CColumn c2_1_0 = new CColumn(new Thickness(0.5, 0.5, 0, 0), new GridLength(widths4Col[1], GridUnitType.Star));

            h1.AddColumn(c2_1_0);

            CColumn c2_1_1 = new CColumn(new Thickness(0.5, 0.5, 0, 0), new GridLength(widths4Col[2], GridUnitType.Star));

            h1.AddColumn(c2_1_1);

            CColumn c2_1_2 = new CColumn(new Thickness(0.5, 0.5, 0.5, 0), new GridLength(widths4Col[3], GridUnitType.Star));

            h1.AddColumn(c2_1_2);


            nm = "HEADER_LEVEL2";
            CRow h2 = new CRow(nm, 30, 5, defMargin);

            h2.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = h2;

            CColumn c3_0 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths5Col[0], GridUnitType.Star));

            h2.AddColumn(c3_0);

            CColumn c3_1 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths5Col[1], GridUnitType.Star));

            h2.AddColumn(c3_1);

            CColumn c3_2 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths5Col[2], GridUnitType.Star));

            h2.AddColumn(c3_2);

            CColumn c3_3 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths5Col[3], GridUnitType.Star));

            h2.AddColumn(c3_3);

            CColumn c3_4 = new CColumn(new Thickness(0.5, 0.5, 0.5, 0.5), new GridLength(widths5Col[4], GridUnitType.Star));

            h2.AddColumn(c3_4);

            //CColumn c3_5 = new CColumn(new Thickness(0.5, 0.5, 0, 0.5), new GridLength(widths7Col[5], GridUnitType.Star));
            //         h2.AddColumn(c3_5);

            //CColumn c3_6 = new CColumn(new Thickness(0.5, 0.5, 0.5, 0.5), new GridLength(widths7Col[6], GridUnitType.Star));
            //         h2.AddColumn(c3_6);


            nm = "DATA_LEVEL1";
            CRow r1 = new CRow(nm, 30, 4, defMargin);

            r1.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = r1;

            CColumn r1_c0 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths4Col[0], GridUnitType.Star));

            r1_c0.SetHorizontalAlignment(HorizontalAlignment.Center);
            r1.AddColumn(r1_c0);

            CColumn r1_c1 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths4Col[1], GridUnitType.Star));

            r1_c1.SetHorizontalAlignment(HorizontalAlignment.Left);
            r1.AddColumn(r1_c1);

            CColumn r1_c2 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths4Col[2], GridUnitType.Star));

            r1_c2.SetHorizontalAlignment(HorizontalAlignment.Left);
            r1.AddColumn(r1_c2);

            CColumn r1_c3 = new CColumn(new Thickness(0.5, 0, 0.5, 0.5), new GridLength(widths4Col[3], GridUnitType.Star));

            r1_c3.SetHorizontalAlignment(HorizontalAlignment.Left);
            r1.AddColumn(r1_c3);


            nm = "DATA_LEVEL2";
            CRow r0 = new CRow(nm, 30, 5, defMargin);

            r0.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = r0;

            CColumn r0_c0 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths5Col[0], GridUnitType.Star));

            r0_c0.SetHorizontalAlignment(HorizontalAlignment.Center);
            r0.AddColumn(r0_c0);

            CColumn r0_c1_0 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths5Col[1], GridUnitType.Star));

            r0_c1_0.SetHorizontalAlignment(HorizontalAlignment.Center);
            r0.AddColumn(r0_c1_0);

            CColumn r0_c1_1 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths5Col[2], GridUnitType.Star));

            r0_c1_1.SetHorizontalAlignment(HorizontalAlignment.Right);
            r0.AddColumn(r0_c1_1);

            CColumn r0_c2 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths5Col[3], GridUnitType.Star));

            r0_c2.SetHorizontalAlignment(HorizontalAlignment.Right);
            r0.AddColumn(r0_c2);

            CColumn r0_c3 = new CColumn(new Thickness(0.5, 0, 0.5, 0.5), new GridLength(widths5Col[4], GridUnitType.Star));

            r0_c3.SetHorizontalAlignment(HorizontalAlignment.Right);
            r0.AddColumn(r0_c3);

            //CColumn r0_c4 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths7Col[5], GridUnitType.Star));
            //r0_c4.SetHorizontalAlignment(HorizontalAlignment.Right);
            //r0.AddColumn(r0_c4);

            //CColumn r0_c5 = new CColumn(new Thickness(0.5, 0, 0.5, 0.5), new GridLength(widths7Col[6], GridUnitType.Star));
            //r0_c5.SetHorizontalAlignment(HorizontalAlignment.Left);
            //r0.AddColumn(r0_c5);


            nm = "DATA_LEVEL3";
            CRow r2 = new CRow(nm, 30, 5, defMargin);

            r2.SetFont(null, FontStyles.Normal, 0, FontWeights.Normal);
            rowdef[nm] = r2;

            CColumn r2_c0 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths5Col[0], GridUnitType.Star));

            r2_c0.SetHorizontalAlignment(HorizontalAlignment.Center);
            r2.AddColumn(r2_c0);

            CColumn r2_c1_0 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths5Col[1], GridUnitType.Star));

            r2_c1_0.SetHorizontalAlignment(HorizontalAlignment.Center);
            r2.AddColumn(r2_c1_0);

            CColumn r2_c1_1 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths5Col[2], GridUnitType.Star));

            r2_c1_1.SetHorizontalAlignment(HorizontalAlignment.Right);
            r2.AddColumn(r2_c1_1);

            CColumn r2_c2 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths5Col[3], GridUnitType.Star));

            r2_c2.SetHorizontalAlignment(HorizontalAlignment.Right);
            r2.AddColumn(r2_c2);

            CColumn r2_c3 = new CColumn(new Thickness(0.5, 0, 0.5, 0.5), new GridLength(widths5Col[4], GridUnitType.Star));

            r2_c3.SetHorizontalAlignment(HorizontalAlignment.Right);
            r2.AddColumn(r2_c3);

            //CColumn r2_c4 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths7Col[5], GridUnitType.Star));
            //r2_c4.SetHorizontalAlignment(HorizontalAlignment.Right);
            //r2.AddColumn(r2_c4);

            //CColumn r2_c5 = new CColumn(new Thickness(0.5, 0, 0.5, 0.5), new GridLength(widths7Col[6], GridUnitType.Star));
            //r2_c5.SetHorizontalAlignment(HorizontalAlignment.Left);
            //r2.AddColumn(r2_c5);

            nm = "FOOTER_LEVEL1";
            CRow f1 = new CRow(nm, 30, 5, defMargin);

            f1.SetFont(null, FontStyles.Normal, 0, FontWeights.Bold);
            rowdef[nm] = f1;

            CColumn fc_0 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths5Col[0], GridUnitType.Star));

            f1.AddColumn(fc_0);

            CColumn fc_1 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths5Col[1], GridUnitType.Star));

            f1.AddColumn(fc_1);

            CColumn fc_2 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths5Col[2], GridUnitType.Star));

            fc_2.SetHorizontalAlignment(HorizontalAlignment.Right);
            f1.AddColumn(fc_2);

            CColumn fc_3 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths5Col[3], GridUnitType.Star));

            fc_3.SetHorizontalAlignment(HorizontalAlignment.Right);
            f1.AddColumn(fc_3);

            CColumn fc_4 = new CColumn(new Thickness(0.5, 0, 0.5, 0.5), new GridLength(widths5Col[4], GridUnitType.Star));

            fc_4.SetHorizontalAlignment(HorizontalAlignment.Right);
            f1.AddColumn(fc_4);

            //CColumn fc_5 = new CColumn(new Thickness(0.5, 0, 0, 0.5), new GridLength(widths7Col[5], GridUnitType.Star));
            //fc_5.SetHorizontalAlignment(HorizontalAlignment.Right);
            //f1.AddColumn(fc_5);

            //CColumn fc_6 = new CColumn(new Thickness(0.5, 0, 0.5, 0.5), new GridLength(widths7Col[6], GridUnitType.Star));
            //fc_6.SetHorizontalAlignment(HorizontalAlignment.Right);
            //f1.AddColumn(fc_6);
        }
Пример #28
0
        public async Task <CQuerieResult> GetqueriesResult(string database, string projectuid, string layer, string lcid, string target, string start_objid)
        {
            var content = await communicationManager.GetqueriesResult(m_Url, database, projectuid, target, lcid, layer, start_objid, m_Session.Id, serverName);

            if (content == null)
            {
                return(null);
            }
            JObject json = JObject.Parse(content);

            if (json == null)
            {
                return(null);
            }

            CQuerieResult q = new CQuerieResult()
            {
                UID = json.SelectToken("UID").Value <string>(),
            };
            List <int>     invisiblecolumns = new List <int>();
            int            index            = 0;
            List <CColumn> columns          = new List <CColumn>();

            foreach (var jcol in (JArray)json.SelectToken("Columns"))
            {
                CColumn c = new CColumn()
                {
                    Alignment          = jcol.SelectToken("Alignment").Value <int>(),
                    DisplayDescription = jcol.SelectToken("DisplayDescription").Value <string>(),
                    Id          = jcol.SelectToken("Id").Value <int>(),
                    IsDate      = jcol.SelectToken("IsDate").Value <bool>(),
                    Numeric     = jcol.SelectToken("Numeric").Value <bool>(),
                    Visible     = jcol.SelectToken("Visible").Value <bool>(),
                    Width       = jcol.SelectToken("Width").Value <int>(),
                    WithPicture = jcol.SelectToken("WithPicture").Value <bool>(),
                    WrapText    = jcol.SelectToken("WrapText").Value <bool>(),
                };

                if (c.Width > 0)
                {
                    columns.Add(c);
                }
                else
                {
                    invisiblecolumns.Add(index);
                }
                index++;
            }
            q.Columns = columns.ToArray();
            List <CRow> rows = new List <CRow>();

            foreach (var jrow in (JArray)json.SelectToken("Rows"))
            {
                CRow c = new CRow()
                {
                    UID = jrow.SelectToken("UID").Value <string>(),
                };
                List <CCell> cells = new List <CCell>();
                index = 0;

                foreach (var jcell in (JArray)jrow.SelectToken("Items"))
                {
                    CCell cell = new CCell()
                    {
                        IsClientPicture = jcell.SelectToken("IsClientPicture").Value <bool>(),
                        NumericValue    = jcell.SelectToken("NumericValue").Value <double>(),
                        Picture         = jcell.SelectToken("Picture").Value <string>(),
                        Text            = jcell.SelectToken("Text").Value <string>(),
                        UID             = jcell.SelectToken("UID").Value <string>(),
                    };
                    if (!invisiblecolumns.Contains(index))
                    {
                        cells.Add(cell);
                    }
                    index++;
                }
                c.Items = cells.ToArray();
                rows.Add(c);
            }
            q.Rows = rows.ToArray();

            return(q);
        }
        public override CReportDataProcessingProperty DataToProcessingProperty(CTable o, ArrayList rows, int row)
        {
            int rowcount = rows.Count;

            CReportDataProcessingProperty rpp = new CReportDataProcessingProperty();

            CRow r  = (CRow)rowdef["DATA_LEVEL1"];
            CRow nr = r.Clone();

            CRow r1  = (CRow)rowdef["DATA_LEVEL2"];
            CRow nr1 = r1.Clone();

            CRow r2  = (CRow)rowdef["DATA_LEVEL3"];
            CRow nr2 = r2.Clone();

            CRow ft      = (CRow)rowdef["FOOTER_LEVEL1"];
            CRow ftr     = ft.Clone();
            CRow ftrLast = ft.Clone();

            double newh = AvailableSpace;
            int    temp = 0;

            MCashDoc v = new MCashDoc(o);

            D = v.AccountNo;

            if (!H.Equals(D))
            {
                //v.IsBalanceForward = true;
                nr.FillColumnsText(v.AccountNo, v.AccountName, v.BankName, v.BankBranchName);
                nr1.FillColumnsText("",
                                    CLanguage.getValue("balance_forward"),
                                    "", "",
                                    CUtil.FormatNumber(v.BeginAmount_BalanceeFmt, "-"));

                Account = v.AccountNo;
                // v.IsBalanceForward = false;

                if ((!H.Equals("")) && (!H.Equals(D)))
                {
                    ftr.FillColumnsText("",
                                        CLanguage.getValue("total"),
                                        CUtil.FormatNumber(totals[0].ToString(), "-"),
                                        CUtil.FormatNumber(totals[1].ToString(), "-"),
                                        CUtil.FormatNumber(totals[2].ToString(), "-"));

                    newh = newh - ftr.GetHeight();
                    if (newh > 0)
                    {
                        rpp.AddReportRow(ftr);

                        newh = newh - nr.GetHeight() - nr1.GetHeight();
                        if (newh > 0)
                        {
                            rpp.AddReportRow(nr);
                            rpp.AddReportRow(nr1);
                            temp++;

                            H = Account;

                            totals[0] = 0;
                            totals[1] = 0;
                            totals[2] = 0;

                            rowNo = 0;
                        }
                    }
                }
                else
                {
                    newh = newh - nr.GetHeight() - nr1.GetHeight();
                    if (newh > 0)
                    {
                        rpp.AddReportRow(nr);
                        rpp.AddReportRow(nr1);
                        temp++;
                    }
                }
            }

            if (newh > 0)
            {
                newh = newh - nr2.GetHeight();
                if (newh > 0)
                {
                    rowNo++;
                    nr2.FillColumnsText(
                        CUtil.FormatInt(rowNo.ToString()),
                        v.DocumentDateFmt,
                        CUtil.FormatNumber(v.InAmount_BalnceFmt, "-"),
                        CUtil.FormatNumber(v.OutAmount_BalanceFmt, "-"),
                        CUtil.FormatNumber(v.EndAmount_BalanceFmt, "-"));

                    totals[0] += CUtil.StringToDouble(v.InAmount_BalnceFmt);
                    totals[1] += CUtil.StringToDouble(v.OutAmount_BalanceFmt);
                    totals[2]  = CUtil.StringToDouble(v.EndAmount_BalanceFmt);
                    rpp.AddReportRow(nr2);
                }
            }

            if (newh > 0)
            {
                if (row == rowcount - 1)
                {
                    ftrLast.FillColumnsText("",
                                            CLanguage.getValue("total"),
                                            CUtil.FormatNumber(totals[0].ToString(), "-"),
                                            CUtil.FormatNumber(totals[1].ToString(), "-"),
                                            CUtil.FormatNumber(totals[2].ToString(), "-"));

                    newh = newh - ftrLast.GetHeight();
                    if (newh > 0)
                    {
                        rpp.AddReportRow(ftrLast);

                        rowNo = 0;

                        totals[0] = 0;
                        totals[1] = 0;
                        totals[2] = 0;
                    }
                }

                Account = v.AccountNo;

                H = Account;
            }

            if (newh < 0)
            {
                rpp.IsNewPageRequired = true;
                rpp.TempNotRowDetails = temp;
            }
            else
            {
                AvailableSpace = newh;
            }

            return(rpp);
        }
 public void AddCRow(CRow row) {
     this.Rows.Add(row);
 }
 public void RemoveCRow(CRow row) {
     this.Rows.Remove(row);
 }
 public CRowChangeEvent(CRow row, System.Data.DataRowAction action) {
     this.eventRow = row;
     this.eventAction = action;
 }
Пример #33
0
        public override CReportDataProcessingProperty DataToProcessingProperty(CTable o, ArrayList rows, int row)
        {
            String tmpPrevKey = prevProject;
            int    rowcount   = rows.Count;
            CReportDataProcessingProperty rpp = new CReportDataProcessingProperty();

            ArrayList keepTotal1 = copyTotalArray(projSums);
            ArrayList keepTotal2 = copyTotalArray(sums);

            CRow r  = (CRow)rowdef["DATA_LEVEL1"];
            CRow nr = r.Clone();

            double newh = AvailableSpace - nr.GetHeight();

            if (newh > 0)
            {
                filterDrCrAmount(o);
                populatePaymentIndex(o);

                String projCd = o.GetFieldValue(getGroupKey());
                if (row == 0)
                {
                    prevProject = projCd;
                }

                String rptType = Parameter.GetFieldValue("REPORT_TYPE");
                if (!projCd.Equals(prevProject))
                {
                    prevProject = projCd;

                    CRow ft  = (CRow)rowdef["FOOTER_LEVEL1"];
                    CRow ftr = ft.Clone();

                    ArrayList projTotals = displayTotalTexts("L1", projSums, 1, "total");
                    ftr.FillColumnsText(projTotals);

                    if (rptType.Equals("2") || rptType.Equals("3"))
                    {
                        //Only by project report
                        rpp.AddReportRow(ftr);
                        newh = newh - ftr.GetHeight();
                    }

                    //Reset
                    projSums = new ArrayList();
                }

                ArrayList temps = getColumnDataTexts("L1", row + 1, o);
                nr.FillColumnsText(temps);
                rpp.AddReportRow(nr);

                sums     = sumDataTexts("L1", sums, temps);
                projSums = sumDataTexts("L1", projSums, temps);

                if (row == rowcount - 1)
                {
                    //=== Project
                    CRow ft0  = (CRow)rowdef["FOOTER_LEVEL1"];
                    CRow ftr0 = ft0.Clone();

                    ArrayList projTotals = displayTotalTexts("L1", projSums, 1, "total");
                    ftr0.FillColumnsText(projTotals);

                    if (rptType.Equals("2") || rptType.Equals("3"))
                    {
                        //Only by project report
                        rpp.AddReportRow(ftr0);
                        newh = newh - ftr0.GetHeight();
                    }

                    //=== End row
                    CRow ft1  = (CRow)rowdef["FOOTER_LEVEL1"];
                    CRow ftr1 = ft1.Clone();

                    ArrayList totals = displayTotalTexts("L1", sums, 1, "total");
                    ftr1.FillColumnsText(totals);

                    rpp.AddReportRow(ftr1);
                    newh = newh - ftr1.GetHeight();
                }
            }

            if (newh < 1)
            {
                rpp.IsNewPageRequired = true;

                //พวก sum ทั้งหลายจะถูกคืนค่ากลับไปด้วย เพราะถูกบวกไปแล้ว
                projSums    = keepTotal1;
                sums        = keepTotal2;
                prevProject = tmpPrevKey;
            }
            else
            {
                AvailableSpace = newh;
            }

            return(rpp);
        }