Exemple #1
0
 public void PopulateContoFromFile()
 {
     Entrence.ConnectionString =
         "User ID=sysdba;Password=masterkey;Database=localhost:E:\\Samples\\Tempo2012MVVM\\Tempo2012\\Tempo2012.UI.WPF\\bin\\Debug\\data\\TEMPO2012.FDB;DataSource=localhost;";
     ObservableCollection <SaldoItem>   ItemsCredit    = new ObservableCollection <SaldoItem>();
     ObservableCollection <SaldoItem>   ItemsDebit     = new ObservableCollection <SaldoItem>();
     TempoDataBaseContext               context        = new TempoDataBaseContext();
     ObservableCollection <WraperConto> AllWrapedConto = new ObservableCollection <WraperConto>();
     var AllAccountsK =
         new ObservableCollection <AccountsModel>(
             context.GetAllAccounts(1));
     var Lookups = new ObservableCollection <LookUpMetaData>(context.GetAllLookups(" where NAMEENG='k'"));
 }
Exemple #2
0
        private static void InsertConto(TempoDataBaseContext context, string path)
        {
            ContoAll allconto = new ContoAll();

            allconto.Conto        = new Conto();
            allconto.Conto.UserId = Entrence.UserId;
            allconto.Conto.FirmId = FirmaId;
            var lines = File.ReadAllLines(path, Encoding.GetEncoding("Windows-1251"));

            foreach (string line in lines)
            {
                var command = line.Split('|');
                if (command.Length > 1)
                {
                    var oper = command[0];
                    switch (oper)
                    {
                    case "A":
                        DateTime date = DateTime.Now;
                        if (DateTime.TryParse(command[1], out date))
                        {
                            allconto.Conto.Data = date;
                        }
                        else
                        {
                            var c = command[1].Split('.');
                            if (c.Length > 2)
                            {
                                date = new DateTime(int.Parse(c[2]), int.Parse(c[1]), int.Parse(c[0]));
                                allconto.Conto.Data = date;
                            }
                            else
                            {
                                allconto.Conto.Data = DateTime.Now;
                            }
                        }
                        AllAccounts = new ObservableCollection <AccountsModel>(context.GetAllAccounts(FirmaId, allconto.Conto.Data.Year));
                        break;

                    case "Z":
                        DateTime date1 = DateTime.Now;
                        if (DateTime.TryParse(command[1], out date1))
                        {
                            allconto.Conto.DataInvoise = date1;
                        }
                        else
                        {
                            var c = command[1].Split('.');
                            if (c.Length > 2)
                            {
                                date = new DateTime(int.Parse(c[2]), int.Parse(c[1]), int.Parse(c[0]));
                                allconto.Conto.DataInvoise = date1;
                            }
                            else
                            {
                                allconto.Conto.DataInvoise = DateTime.Now;
                            }
                        }

                        break;

                    case "C":
                    {
                        allconto.Conto.Oborot = mydecimal.Parse(command[1]);
                        break;
                    }

                    case "N":
                        allconto.Conto.DocNum = command[1];
                        break;

                    case "P":
                        allconto.Conto.Folder = command[1];
                        break;

                    case "O":
                        if (command.Length > 50)
                        {
                            command[1] = command[1].Substring(0, 50);
                        }
                        allconto.Conto.Reason = command[1];
                        break;

                    case "T":
                        if (command.Length > 50)
                        {
                            command[1] = command[1].Substring(0, 50);
                        }
                        allconto.Conto.Note = command[1];
                        break;

                    case "K":
                        allconto.Conto.KD = command[1];
                        break;

                    case "H":
                        allconto.KindDeal = command[1];
                        break;

                    case "W":
                        allconto.KindDds = command[1];
                        break;

                    case "Q":
                        allconto.CountActions = command[1];
                        break;

                    case "U":
                        int t = 0;
                        if (int.TryParse(command[1], out t))
                        {
                            allconto.Conto.UserId = t;
                        }
                        break;

                    case "S":
                        //дебит
                        LoadAnaliticDetailsD(command[1], context, allconto);
                        break;

                    case "D":
                        //кредит
                        LoadAnaliticDetailsK(command[1], context, allconto);
                        break;

                    case "I":
                        //кредит
                        allconto.NameClient = command[1];
                        break;

                    case "9":
                        allconto.Conto.NumberObject = int.Parse(command[1]);
                        break;

                    case "1":
                        SetAnaliticVal(command[1], context, allconto, 0);
                        break;

                    case "3":
                        SetAnaliticVal(command[1], context, allconto, 1);
                        break;

                    case "5":
                        SetAnaliticVal(command[1], context, allconto, 2);
                        break;

                    case "7":
                        SetAnaliticVal(command[1], context, allconto, 3);
                        break;

                    case "2":
                        SetAnaliticVal(command[1], context, allconto, 4);
                        break;

                    case "4":
                        SetAnaliticVal(command[1], context, allconto, 5);
                        break;

                    case "6":
                        SetAnaliticVal(command[1], context, allconto, 6);
                        break;

                    case "8":
                        SetAnaliticVal(command[1], context, allconto, 7);
                        break;
                    }
                }
            }
            allconto.Conto.CDetails = "";
            allconto.Conto.DDetails = "";
            if (allconto.ItemsCredit != null)
            {
                foreach (SaldoItem currentsaldos in allconto.ItemsCredit)
                {
                    if (currentsaldos.Fieldkey == 30)
                    {
                        allconto.Conto.OborotValutaK = currentsaldos.ValueVal;
                        allconto.Conto.CDetails     += string.Format("{0} - {1} {2}\n", currentsaldos.Name,
                                                                     currentsaldos.ValueVal, currentsaldos.Lookupval);
                        currentsaldos.Value = currentsaldos.ValueVal.ToString(Vf.LevFormatUI);
                    }
                    else
                    {
                        if (currentsaldos.Fieldkey == 31)
                        {
                            allconto.Conto.OborotKolK = currentsaldos.ValueKol;
                            allconto.Conto.CDetails  += string.Format("{0} - {1} {2}\n", currentsaldos.Name,
                                                                      currentsaldos.ValueKol, currentsaldos.Lookupval);
                            //currentsaldos.Value = currentsaldos.ValueVal.ToString(Vf.LevFormatUI);
                        }
                        else
                        {
                            allconto.Conto.CDetails += string.Format("{0} - {1} {2}\n", currentsaldos.Name,
                                                                     currentsaldos.Value, currentsaldos.Lookupval);
                        }
                    }
                }
            }
            if (allconto.ItemsDebit != null)
            {
                foreach (SaldoItem currentsaldos in allconto.ItemsDebit)
                {
                    if (currentsaldos.Fieldkey == 30)
                    {
                        allconto.Conto.OborotValutaD = currentsaldos.ValueVal;
                        allconto.Conto.DDetails     += string.Format("{0} - {1} {2}\n", currentsaldos.Name,
                                                                     currentsaldos.ValueVal, currentsaldos.Lookupval);
                        currentsaldos.Value = currentsaldos.ValueVal.ToString(Vf.LevFormatUI);
                    }
                    else
                    {
                        if (currentsaldos.Fieldkey == 31)
                        {
                            allconto.Conto.OborotKolD = currentsaldos.ValueKol;
                            allconto.Conto.DDetails  += string.Format("{0} - {1} {2}\n", currentsaldos.Name,
                                                                      currentsaldos.ValueKol, currentsaldos.Lookupval);
                        }
                        else
                        {
                            allconto.Conto.DDetails += string.Format("{0} - {1} {2}\n", currentsaldos.Name,
                                                                     currentsaldos.Value, currentsaldos.Lookupval);
                        }
                    }
                }
            }
            if (allconto.KindDeal == "2")
            {
                allconto.Conto.IsDdsSales = 1;
                allconto.Conto.VopSales   = allconto.KindDds;
                allconto.Conto.IsSales    = 1;
            }
            else
            {
                if (allconto.KindDeal == "1")
                {
                    allconto.Conto.IsDdsPurchases = 1;
                    allconto.Conto.IsPurchases    = 1;
                    allconto.Conto.VopPurchases   = allconto.KindDds;
                }
                else
                {
                    if (allconto.KindDeal == "3")
                    {
                        allconto.Conto.IsDdsSales     = 1;
                        allconto.Conto.IsSales        = 1;
                        allconto.Conto.IsPurchases    = 1;
                        allconto.Conto.IsDdsPurchases = 1;
                    }
                    else
                    {
                        allconto.Conto.IsDdsSales     = 0;
                        allconto.Conto.IsSales        = 0;
                        allconto.Conto.IsPurchases    = 0;
                        allconto.Conto.IsDdsPurchases = 0;
                    }
                }
            }

            SaveMainConto(context, allconto);
            if (allconto.KindDeal == "1" || allconto.KindDeal == "2" && allconto.CountActions != "3")
            {
                SaveDDS(context, allconto);
            }

            if (allconto.CountActions == "3")
            {
                var dds = SaveDDS(context, allconto);
                allconto.Conto.IsDdsSales     = 0;
                allconto.Conto.IsSales        = 0;
                allconto.Conto.VopSales       = "";
                allconto.Conto.IsDdsPurchases = 0;
                allconto.Conto.IsPurchases    = 0;
                allconto.Conto.VopPurchases   = "";
                allconto.Conto.Oborot         = dds;
                if (allconto.KindDeal == "2")
                {
                    LoadAnaliticDetailsK(Entrence.DdsSmetkaK, context, allconto);
                    SaveMainConto(context, allconto);
                }
                else
                {
                    if (allconto.KindDeal == "1")
                    {
                        LoadAnaliticDetailsD(Entrence.DdsSmetkaD, context, allconto);
                        SaveMainConto(context, allconto);
                    }
                    else
                    {
                    }
                }
            }
        }