Ejemplo n.º 1
0
        //public void PopulateVariables()
        //{
        //    Variables.Add("@A1", "10");
        //    Variables.Add("@A2", "20");
        //    Variables.Add("@A3", "35");
        //    Variables.Add("@A4", "53");
        //}

        public void PopulateSysVariables()
        {
            var context = new Tempo2012.EntityFramework.TempoDataBaseContext();

            ContoVars = context.GetOborotnaVedTemplate(new DateTime(ConfigTempoSinglenton.GetInstance().WorkDate.Year, 1, 1), new DateTime(ConfigTempoSinglenton.GetInstance().WorkDate.Year, 12, 31));
            ContoVars.Add("@@FirmaName", Entrence.CurrentFirma.Name);
            ContoVars.Add("@@FirmaBulstat", Entrence.CurrentFirma.Bulstad);
            ContoVars.Add("@@FirmaAddress", Entrence.CurrentFirma.Address);
            ContoVars.Add("@@Operator", Entrence.UserName);
        }
Ejemplo n.º 2
0
        public void PopulateConto()
        {
            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>();

            Tempo2012.EntityFramework.TempoDataBaseContext context =
                new Tempo2012.EntityFramework.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'"));

            var allconto = context.GetAllConto(1);

            foreach (Conto conto in allconto)
            {
                var cont = conto.Clone();
                cont.DataInvoise.AddDays(1);
                AllWrapedConto.Add(new WraperConto(cont));
            }
            foreach (WraperConto wraperConto in AllWrapedConto)
            {
                ItemsCredit = new ObservableCollection <SaldoItem>(LoadDetails(wraperConto.CurrentConto.Id, 2, context));
                ItemsDebit  = new ObservableCollection <SaldoItem>(LoadDetails(wraperConto.CurrentConto.Id, 1, context));
                var oldid = wraperConto.Id;
                List <SaldoAnaliticModel> debit  = new List <SaldoAnaliticModel>();
                List <SaldoAnaliticModel> credit = new List <SaldoAnaliticModel>();
                if (ItemsCredit != null)
                {
                    foreach (SaldoItem currentsaldos in ItemsCredit)
                    {
                        SaldoAnaliticModel sa = new SaldoAnaliticModel();
                        sa.ACCFIELDKEY = currentsaldos.Fieldkey;
                        sa.ACCID       = wraperConto.CurrentConto.CreditAccount;
                        sa.DATA        = wraperConto.CurrentConto.DataInvoise;
                        sa.TYPEACCKEY  = 0;
                        sa.VALUEDATE   = currentsaldos.ValueDate;
                        sa.VAL         = currentsaldos.Value;
                        sa.VALUEMONEY  = currentsaldos.Valuedecimal;
                        sa.VALUENUM    = currentsaldos.ValueInt;
                        sa.VALUED      = currentsaldos.Valuedecimald;
                        sa.KURS        = currentsaldos.IsKol?currentsaldos.OnePrice:currentsaldos.ValueKurs;
                        sa.VALVAL      = currentsaldos.IsKol?currentsaldos.ValueKol:currentsaldos.ValueVal;
                        sa.KURSM       = currentsaldos.MainKurs;
                        sa.KURSD       = currentsaldos.KursDif;
                        sa.TYPE        = 2;
                        sa.LOOKUPID    = currentsaldos.Relookup;
                        sa.CONTOID     = wraperConto.CurrentConto.Id;
                        //context.SaveContoMovement(sa);
                        debit.Add(sa);
                    }
                }
                if (ItemsDebit != null)
                {
                    foreach (SaldoItem currentsaldos in ItemsDebit)
                    {
                        SaldoAnaliticModel sa = new SaldoAnaliticModel();

                        sa.ACCFIELDKEY = currentsaldos.Fieldkey;
                        sa.ACCID       = wraperConto.CurrentConto.DebitAccount;
                        sa.DATA        = DateTime.Now;
                        sa.TYPEACCKEY  = 0;
                        sa.VALUEDATE   = currentsaldos.ValueDate;
                        sa.VAL         = currentsaldos.Value;
                        sa.VALUEMONEY  = currentsaldos.Valuedecimal;
                        sa.VALUENUM    = currentsaldos.ValueInt;
                        sa.VALUED      = currentsaldos.Valuedecimald;
                        sa.KURS        = currentsaldos.IsKol ? currentsaldos.OnePrice : currentsaldos.ValueKurs;
                        sa.VALVAL      = currentsaldos.IsKol ? currentsaldos.ValueKol : currentsaldos.ValueVal;
                        sa.KURSM       = currentsaldos.MainKurs;
                        sa.KURSD       = currentsaldos.KursDif;
                        sa.TYPE        = 1;
                        sa.LOOKUPID    = currentsaldos.Relookup;

                        sa.CONTOID = wraperConto.CurrentConto.Id;
                        credit.Add(sa);
                        // context.SaveContoMovement(sa);
                    }
                }
                context.SaveConto(wraperConto.CurrentConto, debit, credit);
                #region sells

                if (wraperConto.IsSales)
                {
                    DdsDnevnikModel ddsDnevnikModel = context.LoadDenevnicItem(oldid, 2);
                    //ddsDnevnikModel.DocId = CurrentWraperConto.CurrentConto.DocNum;
                    ddsDnevnikModel.Date         = wraperConto.CurrentConto.Data;
                    ddsDnevnikModel.KindActivity = 2;

                    if (ddsDnevnikModel.LookupID == 0)
                    {
                        ddsDnevnikModel.CodeDoc = "01";
                        if (wraperConto.IsPurchases)
                        {
                            foreach (SaldoItem saldoItem in ItemsCredit)
                            {
                                if (saldoItem.IsLookUp)
                                {
                                    ddsDnevnikModel.LookupID = saldoItem.Relookup;
                                    if (saldoItem.SelectedLookupItem != null)
                                    {
                                        int lokalkey;
                                        if (int.TryParse(saldoItem.SelectedLookupItem.Key, out lokalkey))
                                        {
                                            ddsDnevnikModel.LookupElementID = lokalkey;
                                        }
                                    }
                                }
                                if (saldoItem.Name.Contains("Дата на фактура"))
                                {
                                    ddsDnevnikModel.DataF = saldoItem.ValueDate;
                                }
                                if (saldoItem.Name.Contains("Номер фактура"))
                                {
                                    ddsDnevnikModel.DocId = saldoItem.Value;
                                }
                            }
                        }
                        else
                        {
                            foreach (SaldoItem saldoItem in ItemsDebit)
                            {
                                if (saldoItem.IsLookUp)
                                {
                                    ddsDnevnikModel.LookupID = saldoItem.Relookup;
                                    if (saldoItem.SelectedLookupItem != null)
                                    {
                                        int lokalkey;
                                        if (int.TryParse(saldoItem.SelectedLookupItem.Key, out lokalkey))
                                        {
                                            ddsDnevnikModel.LookupElementID = lokalkey;
                                        }
                                    }
                                }
                                if (saldoItem.Name.Contains("Дата на фактура"))
                                {
                                    ddsDnevnikModel.DataF = saldoItem.ValueDate;
                                }
                                if (saldoItem.Name.Contains("Номер фактура"))
                                {
                                    ddsDnevnikModel.DocId = saldoItem.Value;
                                }
                            }
                        }
                    }

                    if (ddsDnevnikModel.LookupID > 0)
                    {
                        var SelectedLookup = new ObservableCollection <ContragentInfo>();
                        var Lookup         = Lookups.FirstOrDefault(e => e.Id == ddsDnevnikModel.LookupID);
                        var list           = context.GetLookup(Lookup.Tablename,
                                                               1);
                        foreach (List <string> li in list)
                        {
                            if (li != null && li.Count > 5)
                            {
                                SelectedLookup.Add(new ContragentInfo
                                {
                                    Id      = int.Parse(li[1]),
                                    Name    = li[2],
                                    Bulstad = li[4],
                                    Nzdds   = li[5]
                                });
                            }
                        }
                        if (ddsDnevnikModel.LookupElementID > 0)
                        {
                            LookupElementInfo =
                                SelectedLookup.FirstOrDefault(e => e.Id == ddsDnevnikModel.LookupElementID);
                            ddsDnevnikModel.Num = wraperConto.CurrentConto.Id;
                            if (LookupElementInfo != null)
                            {
                                ddsDnevnikModel.LookupElementID = LookupElementInfo.Id;
                                ddsDnevnikModel.Bulstat         = LookupElementInfo.Bulstad;
                                ddsDnevnikModel.Nzdds           = LookupElementInfo.Nzdds;
                                ddsDnevnikModel.NameKontr       = LookupElementInfo.Name;
                            }
                        }
                    }
                    ddsDnevnikModel.Num = wraperConto.CurrentConto.Id;
                    context.SaveDdsDnevnicModel(ddsDnevnikModel, ddsDnevnikModel.IsLinked);
                }


                #endregion

                #region purchases

                if (wraperConto.IsPurchases)
                {
                    var ddsDnevnikModel = context.LoadDenevnicItem(oldid, 1);
                    //ddsDnevnikModel.DocId = CurrentWraperConto.CurrentConto.DocNum;
                    ddsDnevnikModel.Date         = wraperConto.CurrentConto.Data;
                    ddsDnevnikModel.KindActivity = 1;

                    if (ddsDnevnikModel.LookupID == 0)
                    {
                        foreach (SaldoItem saldoItem in ItemsCredit)
                        {
                            if (saldoItem.IsLookUp)
                            {
                                ddsDnevnikModel.LookupID = saldoItem.Relookup;
                            }
                            if (saldoItem.Name.Contains("Дата на фактура"))
                            {
                                ddsDnevnikModel.DataF = saldoItem.ValueDate;
                            }
                            if (saldoItem.Name.Contains("Номер фактура"))
                            {
                                ddsDnevnikModel.DocId = saldoItem.Value;
                            }
                        }
                    }

                    if (ddsDnevnikModel.LookupID > 0)
                    {
                        var SelectedLookup = new ObservableCollection <ContragentInfo>();
                        var Lookup         = Lookups.FirstOrDefault(e => e.Id == ddsDnevnikModel.LookupID);
                        var list           = context.GetLookup(Lookup.Tablename,
                                                               1);
                        foreach (List <string> li in list)
                        {
                            if (li != null && li.Count > 5)
                            {
                                SelectedLookup.Add(new ContragentInfo
                                {
                                    Id      = int.Parse(li[1]),
                                    Name    = li[2],
                                    Bulstad = li[4],
                                    Nzdds   = li[5]
                                });
                            }
                        }
                        if (ddsDnevnikModel.LookupElementID > 0)
                        {
                            LookupElementInfo =
                                SelectedLookup.FirstOrDefault(e => e.Id == ddsDnevnikModel.LookupElementID);
                            ddsDnevnikModel.Num = wraperConto.CurrentConto.Id;
                            if (LookupElementInfo != null)
                            {
                                ddsDnevnikModel.LookupElementID = LookupElementInfo.Id;
                                ddsDnevnikModel.Bulstat         = LookupElementInfo.Bulstad;
                                ddsDnevnikModel.Nzdds           = LookupElementInfo.Nzdds;
                                ddsDnevnikModel.NameKontr       = LookupElementInfo.Name;
                            }
                        }
                    }
                    ddsDnevnikModel.Num = wraperConto.CurrentConto.Id;
                    context.SaveDdsDnevnicModel(ddsDnevnikModel, ddsDnevnikModel.IsLinked);
                }
                #endregion
            }
        }