Example #1
0
        private static void SctReport(string sctName, TextWriter tw, SctMoving sctMoving)
        {
            Sum amount = sctMoving.SNach;

            tw.WriteLine("<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>");
            tw.WriteLine();
            tw.WriteLine("{0,-52} {1,20:0.00}", sctName, amount);

            List <WirePrint> wiers = new List <WirePrint>();

            foreach (Wire wier in sctMoving.DebList)
            {
                WirePrint wirePrint = new WirePrint(wier.Date, wier.KrdSct, wier.Sum, wier.Remark, wier.RunNumber);
                wiers.Add(wirePrint);
            }

            foreach (Wire wier in sctMoving.KrdList)
            {
                WirePrint wirePrint = new WirePrint(wier.Date, wier.DebSct, -wier.Sum, wier.Remark, wier.RunNumber);
                wiers.Add(wirePrint);
            }

            if (wiers.Count == 0)
            {
                return;
            }

            tw.WriteLine("--------------------------------------------------------------------------");

            Comparison <WirePrint> comparison = delegate(WirePrint p1, WirePrint p2)
            {
                int tmp = p1.Date.CompareTo(p2.Date);
                return(tmp != 0 ? tmp : p1.RunNumber.CompareTo(p2.RunNumber));
            };

            wiers.Sort(comparison);

            foreach (WirePrint wier in wiers)
            {
                amount += wier.Sum;

                tw.Write("{0:00} {1,-31}", wier.Date, wier.Sct);
                if (!wier.Sum.IsMinus)
                {
                    tw.WriteLine("{0,12:0.00}  {1,25:0.00}  {2}", wier.Sum, amount, wier.Remark);
                }
                else
                {
                    tw.WriteLine("{0,25:0.00}  {1,12:0.00}  {2}", -wier.Sum, amount, wier.Remark);
                }
            }
        }
Example #2
0
        public static void Run(Dictionary<string, SctMoving> movingList)
        {
            using (StreamWriter tw = new StreamWriter("vd002.txt", false, Encoding.UTF8))
            {
                Sum sNach = new Sum();
                Sum sDebt = new Sum();
                Sum sKred = new Sum();
                Sum sKont = new Sum();

                List<string> sctNames = new List<string>(movingList.Keys);
                sctNames.Sort();

                foreach (string key in sctNames)
                {
                    SctMoving moving = movingList[key];

                    tw.WriteLine("{0,-20} {1,12:0.00} {2,12:0.00} {3,12:0.00} {4,12:0.00}", key, moving.SNach,
                                 moving.SDebt, moving.SKred, moving.SKont);

                    sNach += moving.SNach;
                    sDebt += moving.SDebt;
                    sKred += moving.SKred;
                    sKont += moving.SKont;

                    List<WirePrint> wierPrintList = new List<WirePrint>();
                    foreach (Wire wier in moving.DebList)
                    {
                        wierPrintList.Add(new WirePrint(wier.Date, wier.KrdSct, wier.Sum, wier.Remark, wier.RunNumber));
                    }
                    foreach (Wire wier in moving.KrdList)
                    {
                        wierPrintList.Add(new WirePrint(wier.Date, wier.DebSct, -wier.Sum, wier.Remark, wier.RunNumber));
                    }

                    if (wierPrintList.Count > 0)
                    {
                        tw.WriteLine(new string('-', 72));

                        Comparison<WirePrint> comparison = delegate(WirePrint w1, WirePrint w2)
                                                           {
                                                               int compare = w1.Date.CompareTo(w2.Date);
                                                               return compare != 0 ? compare : w1.RunNumber.CompareTo(w2.RunNumber);
                                                           };

                        wierPrintList.Sort(comparison);

                        for (int i = 0; i < wierPrintList.Count; i++)
                        {
                            WirePrint wire = wierPrintList[i];

                            tw.Write("{0:00} {1,-31}", wire.Date, wire.Sct);
                            if (!wire.Sum.IsMinus)
                            {
                                tw.WriteLine("{0,12:0.00}                  {1}", wire.Sum, wire.Remark);
                            }
                            else
                            {
                                tw.WriteLine("{0,25:0.00}     {1}", -wire.Sum, wire.Remark);
                            }
                        }
                    }

                    tw.WriteLine(new string('=', 72));
                }

                tw.WriteLine("{0,-20} {1,12:0.00} {2,12:0.00} {3,12:0.00} {4,12:0.00}", "Amount", sNach, sDebt, sKred,
                             sKont);
            }
        }