Exemple #1
0
        public static void Run(Dictionary <string, SctMoving> movingList, string outputFilePath)
        {
            using (StreamWriter tw = new StreamWriter(outputFilePath, false, Encoding.UTF8))
            {
                Sum nOst = new Sum();
                Sum deb  = new Sum();
                Sum krd  = new Sum();
                Sum kOst = new Sum();

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

                foreach (string key in keys)
                {
                    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);

                    nOst += moving.SNach;
                    deb  += moving.SDebt;
                    krd  += moving.SKred;
                    kOst += moving.SKont;
                }

                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", nOst, deb, krd, kOst);
            }
        }
Exemple #2
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);
                }
            }
        }
Exemple #3
0
        public static Dictionary <string, SctMoving> GetMovingList(IEnumerable <Amount> amounts, IEnumerable <WiresFile> wireFiles)
        {
            Dictionary <string, SctMoving> movings = new Dictionary <string, SctMoving>();

            foreach (Amount amount in amounts)
            {
                SctMoving sctMovie;
                if (!movings.TryGetValue(amount.Sct, out sctMovie))
                {
                    sctMovie            = new SctMoving();
                    movings[amount.Sct] = sctMovie;
                }

                sctMovie.SNach += amount.Sum;
            }

            foreach (WiresFile file in wireFiles)
            {
                foreach (Wire wier in file.Wires.Where(wier => wier != null && wier.GetType() == typeof(Wire)).Select(wier => (Wire)wier))
                {
                    SctMoving sctMovie;
                    if (!movings.TryGetValue(wier.DebSct, out sctMovie))
                    {
                        sctMovie             = new SctMoving();
                        movings[wier.DebSct] = sctMovie;
                    }
                    sctMovie.DebList.Add(wier);

                    if (!movings.TryGetValue(wier.KrdSct, out sctMovie))
                    {
                        sctMovie             = new SctMoving();
                        movings[wier.KrdSct] = sctMovie;
                    }
                    sctMovie.KrdList.Add(wier);
                }
            }

            return(movings);
        }
Exemple #4
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);
            }
        }