Exemplo n.º 1
0
        public static void LoadAnaliticDetailsK(string accname, TempoDataBaseContext context, ContoAll conto)
        {
            if (!accname.Contains("/"))
            {
                int num;
                if (int.TryParse(accname, out num))
                {
                    var model = AllAccounts.FirstOrDefault(e => e.Num == num && e.SubNum == 0);
                    if (model != null)
                    {
                        conto.Conto.CreditAccount = model.Id;
                    }
                    var list = context.LoadAllAnaliticfields(model.Id);
                    conto.ItemsCredit = new List <SaldoItem>(LoadCreditAnaliticAtributes(list.ToList(), 1));
                    foreach (SaldoItem saldoItem in conto.ItemsCredit)
                    {
                        if (saldoItem.Type == SaldoItemTypes.Date)
                        {
                            saldoItem.Value = conto.Conto.Data.ToShortDateString();
                        }
                    }
                    if (conto.ItemsCredit.Count == 0)
                    {
                        conto.ItemsCredit = null;
                    }
                }
            }
            else
            {
                int num, subnum;
                var ac = accname.Split('/');

                if (int.TryParse(ac[0], out num) && int.TryParse(ac[1], out subnum))
                {
                    var model = AllAccounts.FirstOrDefault(e => e.Num == num && e.SubNum == subnum);
                    if (model != null)
                    {
                        conto.Conto.CreditAccount = model.Id;
                        var list = context.LoadAllAnaliticfields(model.Id);
                        conto.ItemsCredit = new List <SaldoItem>(LoadCreditAnaliticAtributes(list.ToList(), 1));
                        foreach (SaldoItem saldoItem in conto.ItemsCredit)
                        {
                            if (saldoItem.Type == SaldoItemTypes.Date)
                            {
                                saldoItem.Value = conto.Conto.Data.ToShortDateString();
                            }
                        }
                        if (conto.ItemsCredit.Count == 0)
                        {
                            conto.ItemsCredit = null;
                        }
                    }
                }
            }
        }
Exemplo n.º 2
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'"));
 }
Exemplo n.º 3
0
        private static void serialiseConto(TempoDataBaseContext context)
        {
            var      Allconto = context.GetAllConto(1, 2000, 20);
            ContoAll contoAll = new ContoAll();

            contoAll.Conto      = Allconto.First();
            contoAll.ItemsDebit =
                new List <SaldoItem>(DbHelper.LoadCreditAnaliticAtributes(context.LoadContoDetails(contoAll.Conto.Id, 1), 1));

            contoAll.ItemsCredit =
                new List <SaldoItem>(DbHelper.LoadCreditAnaliticAtributes(context.LoadContoDetails(contoAll.Conto.Id, 2), 2));
            SerializeUtil.SerializeToXML <ContoAll>("test.xml", contoAll);
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            try
            {
                ConfigTempoSinglenton currentconfig = ConfigTempoSinglenton.GetInstance();
                Entrence.ConnectionString = string.Format(currentconfig.ConectionString, AppDomain.CurrentDomain.BaseDirectory);
                LoadConfig();
                var context = new TempoDataBaseContext();
                FirmaId               = ConfigTempoSinglenton.GetInstance().ActiveFirma;
                KindDocLookup         = new ObservableCollection <LookUpSpecific>(context.GetAllDocTypes());
                TypeDocuments         = new ObservableCollection <LookUpSpecific>(context.GetAllDocTypes());
                ItemsDdsDnevPurchases = new ObservableCollection <DdsItemModel>(context.GetAllDnevItems(1));
                ItemsDdsDnevSales     = new ObservableCollection <DdsItemModel>(context.GetAllDnevItems(0));


                // Test if input arguments were supplied:
                if (args.Length < 1)
                {
                    System.Console.WriteLine("Невалидни Параметри");
                    return;
                }
                string path    = args[0];
                string command = "2";
                if (args.Length > 1)
                {
                    command = args[1];
                }
                int num;
                switch (command)
                {
                case "1":
                {
                    serialiseConto(context);
                    break;
                }

                case "2":
                {
                    InsertConto(context, path);
                    break;
                }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.ReadKey();
            }
            //serialiseConto(context);
        }
Exemplo n.º 5
0
        private IEnumerable <SaldoItem> LoadDetails(int contoid, int typeconto, TempoDataBaseContext context)
        {
            if (contoid == 0)
            {
                return(new List <SaldoItem>());
            }
            var items = ContoRepository.Instance.ContoItems(string.Format("{0}-{1}", contoid, typeconto));

            if (items != null)
            {
                return(items);
            }
            var itemsforcache = LoadCreditAnaliticAtributes(context.LoadContoDetails(contoid, typeconto), typeconto,
                                                            context);

            ContoRepository.Instance.Add(string.Format("{0}-{1}", contoid, typeconto), itemsforcache.ToList());
            return(itemsforcache);
        }
Exemplo n.º 6
0
        private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
            var Context = new TempoDataBaseContext();
            var sen     = (sender as Button);

            if (sen != null)
            {
                var cp = sen.CommandParameter as SaldoItem;
                if (cp != null && (cp.Relookup != 0 || cp.RCODELOOKUP != 0))
                {
                    List <FieldValuePair> current = new List <FieldValuePair>();
                    LookupModel           lookup  = null;
                    if (cp.Relookup > 0)
                    {
                        lookup = cp.SysLookup ? Context.GetSysLookup(cp.Relookup) : Context.GetLookup(cp.Relookup);
                    }
                    else
                    {
                        lookup = cp.SysLookup ? Context.GetSysLookup(cp.Relookup) : Context.GetLookup(cp.Relookup);
                    }
                    int i = 0;
                    foreach (var item in lookup.Fields)
                    {
                        if (cp.SysLookup && i == 0)
                        {
                            i++;
                            continue;
                        }
                        current.Add(new FieldValuePair
                        {
                            Name       = item.Name,
                            Value      = "",
                            Length     = item.Length,
                            ReadOnly   = (item.NameEng == "Id") ? false : true,
                            IsRequared = item.IsRequared,
                            IsUnique   = item.IsUnique,
                            RTABLENAME = item.RTABLENAME,
                            FieldName  = item.NameEng
                        });
                    }

                    LookupsEdidViewModels vmm = new LookupsEdidViewModels(current, lookup.LookUpMetaData.Tablename, true);
                    EditInsertLookups     ds  = new EditInsertLookups(vmm);
                    ds.ShowDialog();
                    if (ds.DialogResult.HasValue && ds.DialogResult.Value)
                    {
                        //nov red
                        lookup.Fields.Add(new TableField {
                            DbField = "integer", GROUP = 4, Id = 4, Length = 4, IsRequared = false, NameEng = "FIRMAID", Name = "Фирма Номер"
                        });
                        if (!Context.SaveRow(ds.GetNewFields(), lookup, ConfigTempoSinglenton.GetInstance().CurrentFirma.Id))
                        {
                            MessageBoxWrapper.Show("Получвава се дублиране на елемент от номенклатура! Номенклатурата не е записана!");
                        }
                        else
                        {
                            var dc  = DataContext as SaldoItem;
                            var dat = ds.GetNewFields();
                            if (dat != null)
                            {
                                if (dc != null)
                                {
                                    dc.Value     = dat[1];
                                    dc.Lookupval = dat[2];
                                }
                            }
                            if (dat != null && dat.Count > 5)
                            {
                                if (dc != null)
                                {
                                    dc.Bulstad = dat[3];
                                    dc.Vat     = dat[4];
                                }
                            }
                            OnRefreshExecuted(new FastLookupEventArgs(dc));
                        }
                    }
                    //cp.LookUp.Add(new SaldoItem { Value = ds.GetNewFields()[2], Key = ds.GetNewFields()[1] });
                }
            }
        }
Exemplo n.º 7
0
        private void Calculate()
        {
            var Context = new TempoDataBaseContext();
            var cp      = this.DataContext as SaldoItem;

            if (cp != null && (cp.Relookup != 0 || cp.RCODELOOKUP != 0))
            {
                string search = Entrence.ConfigFirmaToLookup.GetField(ConfigTempoSinglenton.GetInstance().CurrentFirma.Id,
                                                                      cp.Relookup);
                List <FieldValuePair> current = new List <FieldValuePair>();
                LookupModel           lookup  = null;
                if (cp.Relookup > 0)
                {
                    lookup = cp.SysLookup ? Context.GetSysLookup(cp.Relookup):Context.GetLookup(cp.Relookup);
                }
                else
                {
                    lookup = cp.SysLookup ? Context.GetSysLookup(cp.Relookup) : Context.GetLookup(cp.Relookup);
                }
                int i = 0;
                foreach (var item in lookup.Fields)
                {
                    if (cp.SysLookup && i == 0)
                    {
                        i++;
                        continue;
                    }
                    var nf = new FieldValuePair
                    {
                        Name       = item.Name,
                        Length     = item.Length,
                        Value      = i == 1 && string.IsNullOrWhiteSpace(search)?searcher.Text:"",
                        ReadOnly   = item.NameEng != "Id",
                        IsRequared = item.IsRequared,
                        IsUnique   = item.IsUnique,
                        RTABLENAME = item.RTABLENAME,
                        FieldName  = item.NameEng
                    };

                    if (item.NameEng == search)
                    {
                        nf.Value = searcher.Text;
                    }
                    current.Add(nf);
                }

                LookupsEdidViewModels vmm = new LookupsEdidViewModels(current, lookup.LookUpMetaData.Tablename, true);
                EditInsertLookups     ds  = new EditInsertLookups(vmm);
                ds.ShowDialog();
                if (ds.DialogResult.HasValue && ds.DialogResult.Value)
                {
                    //nov red
                    if (!cp.SysLookup)
                    {
                        lookup.Fields.Add(new TableField
                        {
                            DbField    = "integer",
                            GROUP      = 4,
                            Id         = 4,
                            Length     = 4,
                            IsRequared = false,
                            NameEng    = "FIRMAID",
                            Name       = "Фирма Номер"
                        });
                    }
                    bool sys = cp.SysLookup?!Context.SaveRow(ds.GetNewFields(), lookup):!Context.SaveRow(ds.GetNewFields(), lookup, ConfigTempoSinglenton.GetInstance().CurrentFirma.Id);
                    if (sys)
                    {
                        MessageBoxWrapper.Show(
                            "Получвава се дублиране на елемент от номенклатура! Номенклатурата не е записана!");
                    }
                    else
                    {
                        var dc  = DataContext as SaldoItem;
                        var dat = ds.GetNewFields();
                        if (dat != null)
                        {
                            dc.Value     = dat[1];
                            dc.Lookupval = dat[2];
                        }
                        if (dat != null && dat.Count > 5)
                        {
                            dc.Bulstad = dat[3];
                            dc.Vat     = dat[4];
                        }
                        dc.LiD = 0;
                        OnRefreshExecuted(new FastLookupEventArgs(dc));
                    }
                }
                //cp.LookUp.Add(new SaldoItem { Value = ds.GetNewFields()[2], Key = ds.GetNewFields()[1] });
            }
        }
Exemplo n.º 8
0
        public IEnumerable <SaldoItem> LoadCreditAnaliticAtributes(IEnumerable <SaldoAnaliticModel> fields, int typecpnto,
                                                                   TempoDataBaseContext context)
        {
            List <SaldoItem> saldoItems = new List <SaldoItem>();

            foreach (SaldoAnaliticModel analiticalFields in fields)
            {
                //Titles.Add(analiticalFields.Name);
                SaldoItemTypes saldotype = SaldoItemTypes.String;
                if (analiticalFields.DBField == "integer")
                {
                    saldotype = SaldoItemTypes.Integer;
                }
                if (analiticalFields.DBField.Contains("DECIMAL"))
                {
                    saldotype = SaldoItemTypes.Currency;
                }
                if (analiticalFields.DBField == "Date")
                {
                    saldotype = SaldoItemTypes.Date;
                }
                SaldoItem saldoItem = new SaldoItem
                {
                    Name        = analiticalFields.Name,
                    Type        = saldotype,
                    Value       = analiticalFields.VAL,
                    Fieldkey    = analiticalFields.ACCFIELDKEY,
                    IsK         = typecpnto == 0,
                    IsD         = typecpnto == 1,
                    Id          = analiticalFields.ID,
                    KursDif     = analiticalFields.KURSD,
                    ValueKurs   = analiticalFields.KURS,
                    MainKurs    = analiticalFields.KURSM,
                    ValueVal    = analiticalFields.VALVAL,
                    ValueCredit = analiticalFields.VALUEMONEY,
                    Lookupval   = analiticalFields.LOOKUPVAL
                };
                if (analiticalFields.ACCFIELDKEY == 29 || analiticalFields.ACCFIELDKEY == 30 ||
                    analiticalFields.ACCFIELDKEY == 31)
                {
                    saldoItem.IsDK = true;
                    if (analiticalFields.ACCFIELDKEY == 30)
                    {
                        saldoItem.InfoTitle = "Валутен курс";
                        saldoItem.IsVal     = true;
                    }
                    if (analiticalFields.ACCFIELDKEY == 31)
                    {
                        saldoItem.InfoTitle = "Единичнa цена";
                        saldoItem.IsKol     = true;
                    }
                }


                if (analiticalFields.LOOKUPID != 0)
                {
                    saldoItem.Key      = analiticalFields.LOOKUPFIELDKEY.ToString();
                    saldoItem.IsLookUp = true;
                    saldoItem.Relookup = analiticalFields.LOOKUPID;
                    LookupModel lm   = context.GetLookup(analiticalFields.LOOKUPID);
                    var         list = context.GetLookup(lm.LookUpMetaData.Tablename,
                                                         1);
                    int k = 0;
                    foreach (IEnumerable <string> enumerable in list)
                    {
                        int       i         = 0;
                        SaldoItem saldoitem = new SaldoItem();
                        saldoitem.Name = saldoItem.Name;
                        foreach (string s in enumerable)
                        {
                            if (i == 2)
                            {
                                saldoitem.Value = s;
                            }
                            if (i == 1)
                            {
                                saldoitem.Key = s;
                            }
                            if (k == 0 && i == 1)
                            {
                                k++;
                            }
                            if (k == 1 && i == 2)
                            {
                                k++;
                            }
                            i++;
                        }
                        saldoItem.LookUp.Add(saldoitem);
                        saldoItem.SelectedLookupItem =
                            saldoItem.LookUp.FirstOrDefault(e => e.Value == saldoItem.Value);
                    }
                }

                saldoItems.Add(saldoItem);
            }
            return(saldoItems);
        }
Exemplo n.º 9
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
                    {
                    }
                }
            }
        }
Exemplo n.º 10
0
        private static void SetAnaliticVal(string s, TempoDataBaseContext context, ContoAll allconto, int i)
        {
            SaldoItem item = null;

            switch (i)
            {
            case 0:
                if (allconto.ItemsDebit != null && allconto.ItemsDebit.Count > 0)
                {
                    item = allconto.ItemsDebit[0];
                }
                Bulstad = s;
                if (item == null)
                {
                    var item1 = new SaldoItem {
                        SysLookup = false, Relookup = 17
                    };
                    var mainrez = item1.GetDictionary(
                        string.Format("AND \"{0}\"='{1}'", "BULSTAT", s),
                        string.Format(" order by \"{0}\"", "BULSTAT"));
                    if (mainrez.Count <= 1)
                    {
                        var lookupModel = context.GetLookup(17);
                        CodeClient = context.SelectMax(lookupModel.LookUpMetaData.Tablename, lookupModel.Fields[1].NameEng);
                        var lookupval = allconto.NameClient;
                        lookupModel.Fields.Add(new TableField {
                            DbField = "integer", GROUP = 4, Id = 4, Length = 4, IsRequared = false, NameEng = "FIRMAID", Name = "Фирма Номер"
                        });
                        context.SaveRow(new List <string> {
                            CodeClient, CodeClient, lookupval, lookupval, s, s
                        }, lookupModel, FirmaId);
                    }
                    else
                    {
                        CodeClient          = mainrez[1][0];
                        allconto.NameClient = mainrez[1][1];
                        int h = 0;
                        if (int.TryParse(mainrez[1][0], out h))
                        {
                            LiD = item1.GetLookUpId(0);
                        }
                        if (mainrez[1].Count > 4)
                        {
                            Bulstad = mainrez[1][3];
                            Vat     = mainrez[1][4];
                        }
                    }
                }
                break;

            case 1:
                if (allconto.ItemsDebit != null && allconto.ItemsDebit.Count > 1)
                {
                    item = allconto.ItemsDebit[1];
                }

                Factura = s;
                break;

            case 2:
                if (allconto.ItemsDebit != null && allconto.ItemsDebit.Count > 2)
                {
                    item = allconto.ItemsDebit[2];
                }
                DateTime date1;
                if (DateTime.TryParse(s, out date1))
                {
                    DataFactura = date1;
                }
                else
                {
                    var c = s.Split('.');
                    if (c.Length > 2)
                    {
                        DataFactura = new DateTime(int.Parse(c[2]), int.Parse(c[1]), int.Parse(c[0]));
                    }
                    else
                    {
                        DataFactura = DateTime.Now;
                    }
                }
                break;

            case 3:
                if (allconto.ItemsDebit != null && allconto.ItemsDebit.Count > 3)
                {
                    item = allconto.ItemsDebit[3];
                }
                break;

            case 4:
                if (allconto.ItemsCredit != null && allconto.ItemsCredit.Count > 0)
                {
                    item = allconto.ItemsCredit[0];
                }
                Bulstad = s;
                if (item == null)
                {
                    var item1 = new SaldoItem {
                        SysLookup = false, Relookup = 17
                    };
                    var mainrez = item1.GetDictionary(
                        string.Format("AND \"{0}\"='{1}'", "BULSTAT", s),
                        string.Format(" order by \"{0}\"", "BULSTAT"));
                    if (mainrez.Count <= 1)
                    {
                        var lookupModel = context.GetLookup(17);
                        CodeClient = context.SelectMax(lookupModel.LookUpMetaData.Tablename, lookupModel.Fields[1].NameEng);
                        var lookupval = allconto.NameClient;
                        lookupModel.Fields.Add(new TableField {
                            DbField = "integer", GROUP = 4, Id = 4, Length = 4, IsRequared = false, NameEng = "FIRMAID", Name = "Фирма Номер"
                        });
                        context.SaveRow(new List <string> {
                            CodeClient, CodeClient, lookupval, lookupval, s, s
                        }, lookupModel, FirmaId);
                    }
                    else
                    {
                        CodeClient          = mainrez[1][1];
                        allconto.NameClient = mainrez[1][2];
                        int h = 0;
                        if (int.TryParse(mainrez[1][0], out h))
                        {
                            LiD = item1.GetLookUpId(0);
                        }
                        if (mainrez[1].Count > 4)
                        {
                            Bulstad = mainrez[1][3];
                            Vat     = mainrez[1][4];
                        }
                    }
                }
                break;

            case 5:
                if (allconto.ItemsCredit != null && allconto.ItemsCredit.Count > 1)
                {
                    item = allconto.ItemsCredit[1];
                }
                Factura = s;
                break;

            case 6:
                if (allconto.ItemsCredit != null && allconto.ItemsCredit.Count > 2)
                {
                    item = allconto.ItemsCredit[2];
                }
                DateTime date2;
                if (DateTime.TryParse(s, out date2))
                {
                    DataFactura = date2;
                }
                else
                {
                    var c = s.Split('.');
                    if (c.Length > 2)
                    {
                        DataFactura = new DateTime(int.Parse(c[2]), int.Parse(c[1]), int.Parse(c[0]));
                    }
                    else
                    {
                        DataFactura = DateTime.Now;
                    }
                }
                break;

            case 7:
                if (allconto.ItemsCredit != null && allconto.ItemsCredit.Count > 3)
                {
                    item = allconto.ItemsCredit[3];
                }
                break;
            }
            if (item != null)
            {
                if (!item.IsLookUp)
                {
                    item.Value = s;
                }
                else
                {
                    if (item.Name == "Контрагент")
                    {
                        var mainrez = item.GetDictionary(
                            string.Format("AND \"{0}\"='{1}'", "BULSTAT", s),
                            string.Format(" order by \"{0}\"", "BULSTAT"));
                        if (mainrez != null && mainrez.Count > 1)
                        {
                            item.Value     = mainrez[1][0];
                            item.Lookupval = mainrez[1][1];
                            int h = 0;
                            if (int.TryParse(mainrez[1][0], out h))
                            {
                                item.LiD = item.GetLookUpId(0);
                            }
                            if (mainrez[1].Count > 4)
                            {
                                item.Bulstad = mainrez[1][3];
                                item.Vat     = mainrez[1][4];
                            }
                        }
                        else
                        {
                            var lookupModel = context.GetLookup(17);
                            item.Value     = context.SelectMax(lookupModel.LookUpMetaData.Tablename, lookupModel.Fields[1].NameEng);
                            item.Lookupval = allconto.NameClient;
                            item.Bulstad   = s;
                            item.Vat       = s;
                            lookupModel.Fields.Add(new TableField {
                                DbField = "integer", GROUP = 4, Id = 4, Length = 4, IsRequared = false, NameEng = "FIRMAID", Name = "Фирма Номер"
                            });
                            context.SaveRow(new List <string> {
                                item.Value, item.Value, item.Lookupval, item.Lookupval, s, s
                            }, lookupModel, FirmaId);
                        }
                    }
                }
            }
        }
Exemplo n.º 11
0
        private static void SaveMainConto(TempoDataBaseContext context, ContoAll allconto)
        {
            int ii = 0;
            List <SaldoAnaliticModel> debit  = new List <SaldoAnaliticModel>();
            List <SaldoAnaliticModel> credit = new List <SaldoAnaliticModel>();

            if (allconto.ItemsCredit != null)
            {
                foreach (SaldoItem currentsaldos in allconto.ItemsCredit)
                {
                    SaldoAnaliticModel sa = new SaldoAnaliticModel();
                    sa.ACCFIELDKEY = currentsaldos.Fieldkey;
                    sa.ACCID       = allconto.Conto.CreditAccount;
                    sa.DATA        = DateTime.Now;
                    //if (currentsaldos.SelectedLookupItem != null && !string.IsNullOrWhiteSpace(currentsaldos.SelectedLookupItem.Key))
                    //{
                    //    if (currentsaldos.SelectedLookupItem.Key != null)
                    //    {
                    //        int rez;
                    //        sa.LOOKUPFIELDKEY = int.TryParse(currentsaldos.SelectedLookupItem.Key,out rez)?rez:0;
                    //        sa.LOOKUPVAL = currentsaldos.SelectedLookupItem.Value;
                    //    }

                    //}
                    sa.LOOKUPFIELDKEY = currentsaldos.LiD;
                    sa.LOOKUPVAL      = currentsaldos.Lookupval;
                    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.KURSD          = currentsaldos.KursDif;
                    sa.TYPE           = 2;
                    sa.LOOKUPID       = currentsaldos.Relookup;
                    sa.CONTOID        = allconto.Conto.Id;
                    sa.SORTORDER      = ii;
                    debit.Add(sa);
                    ii++;
                }
            }
            ii = 0;
            if (allconto.ItemsDebit != null)
            {
                foreach (SaldoItem currentsaldos in allconto.ItemsDebit)
                {
                    SaldoAnaliticModel sa = new SaldoAnaliticModel();

                    sa.ACCFIELDKEY    = currentsaldos.Fieldkey;
                    sa.ACCID          = allconto.Conto.DebitAccount;
                    sa.DATA           = DateTime.Now;
                    sa.LOOKUPFIELDKEY = currentsaldos.LiD;
                    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.KURSD          = currentsaldos.KursDif;
                    sa.TYPE           = 1;
                    sa.LOOKUPID       = currentsaldos.Relookup;
                    sa.LOOKUPVAL      = currentsaldos.Lookupval;
                    sa.CONTOID        = allconto.Conto.Id;
                    sa.SORTORDER      = ii;
                    credit.Add(sa);
                    ii++;
                }
            }
            context.SaveConto(allconto.Conto, debit, credit);
        }
Exemplo n.º 12
0
        private static decimal SaveDDS(TempoDataBaseContext context, ContoAll allconto)
        {
            var itemsDdsDnevPurchases    = new List <DdsItemModel>(context.GetAllDnevItems(1));
            var itemsDdsDnevSales        = new List <DdsItemModel>(context.GetAllDnevItems(0));
            var currItemDdsDnevPurchases = itemsDdsDnevPurchases.FirstOrDefault(e => e.Code == allconto.KindDds);
            var currItemDdsDnevSales     = itemsDdsDnevSales.FirstOrDefault(e => e.Code == allconto.KindDds);
            int codeDnev = 2;

            if (allconto.KindDeal == "1")
            {
                codeDnev = 1;
            }
            DdsDnevnikModel ddsDnevnikModel = context.LoadDenevnicItem(allconto.Conto.Id, codeDnev);

            //ddsDnevnikModel.DocId = allconto.Conto.DocNum;
            ddsDnevnikModel.Date         = allconto.Conto.Data;
            ddsDnevnikModel.DataF        = allconto.Conto.Data;
            ddsDnevnikModel.KindActivity = codeDnev;
            ddsDnevnikModel.KindDoc      = 1;
            ddsDnevnikModel.Title        = codeDnev == 1 ? "Дневник покупки" : "Дневник продажби";
            ddsDnevnikModel.CodeDoc      = allconto.Conto.KD;
            ddsDnevnikModel.Stoke        = allconto.Conto.Reason;
            ddsDnevnikModel.DdsIncluded  = allconto.IsDdsInclude ? "ВКЛЮЧЕН ДДС" : "НЕВКЛЮЧЕН ДДС";
            if (codeDnev == 2)
            {
                if (allconto.ItemsCredit != null)
                {
                    foreach (SaldoItem saldoItem in allconto.ItemsCredit)
                    {
                        if (saldoItem.IsLookUp && saldoItem.Name.Contains("Контрагент"))
                        {
                            ddsDnevnikModel.LookupID        = saldoItem.Relookup;
                            ddsDnevnikModel.LookupElementID = saldoItem.LiD;
                            ddsDnevnikModel.ClNum           = saldoItem.Value;
                        }
                        if (saldoItem.Name.Contains("Дата на фактура"))
                        {
                            ddsDnevnikModel.DataF = saldoItem.ValueDate;
                        }
                        if (saldoItem.Name.Contains("Номер фактура"))
                        {
                            ddsDnevnikModel.DocId = saldoItem.Value;
                        }
                    }
                }
                if (allconto.ItemsDebit != null)
                {
                    foreach (SaldoItem saldoItem in allconto.ItemsDebit)
                    {
                        if (saldoItem.IsLookUp && saldoItem.Name.Contains("Контрагент"))
                        {
                            ddsDnevnikModel.LookupID        = saldoItem.Relookup;
                            ddsDnevnikModel.LookupElementID = saldoItem.LiD;
                            ddsDnevnikModel.ClNum           = saldoItem.Value;
                        }
                        if (saldoItem.Name.Contains("Дата на фактура"))
                        {
                            ddsDnevnikModel.DataF = saldoItem.ValueDate;
                        }
                        if (saldoItem.Name.Contains("Номер фактура"))
                        {
                            ddsDnevnikModel.DocId = saldoItem.Value;
                        }
                    }
                }
            }
            else
            {
                if (allconto.ItemsDebit != null)
                {
                    foreach (SaldoItem saldoItem in allconto.ItemsDebit)
                    {
                        if (saldoItem.IsLookUp && saldoItem.Name.Contains("Контрагент"))
                        {
                            ddsDnevnikModel.LookupID        = saldoItem.Relookup;
                            ddsDnevnikModel.LookupElementID = saldoItem.LiD;
                            ddsDnevnikModel.ClNum           = saldoItem.Value;
                        }
                        if (saldoItem.Name.Contains("Дата на фактура"))
                        {
                            ddsDnevnikModel.DataF = saldoItem.ValueDate;
                        }
                        if (saldoItem.Name.Contains("Номер фактура"))
                        {
                            ddsDnevnikModel.DocId = saldoItem.Value;
                        }
                    }
                }
                if (allconto.ItemsDebit != null)
                {
                    foreach (SaldoItem saldoItem in allconto.ItemsCredit)
                    {
                        if (saldoItem.IsLookUp && saldoItem.Name.Contains("Контрагент"))
                        {
                            ddsDnevnikModel.LookupID        = saldoItem.Relookup;
                            ddsDnevnikModel.LookupElementID = saldoItem.LiD;
                            ddsDnevnikModel.ClNum           = saldoItem.Value;
                        }
                        if (saldoItem.Name.Contains("Дата на фактура"))
                        {
                            ddsDnevnikModel.DataF = saldoItem.ValueDate;
                        }
                        if (saldoItem.Name.Contains("Номер фактура"))
                        {
                            ddsDnevnikModel.DocId = saldoItem.Value;
                        }
                    }
                }
            }

            if (allconto.ItemsCredit == null && allconto.ItemsDebit == null)
            {
                ddsDnevnikModel.DataF    = DataFactura;
                ddsDnevnikModel.Bulstat  = Bulstad;
                ddsDnevnikModel.Nzdds    = Vat ?? Bulstad;
                ddsDnevnikModel.DocId    = Factura;
                ddsDnevnikModel.LookupID = 17;
                ddsDnevnikModel.ClNum    = CodeClient;
            }
            decimal ddspercent = 0;

            ddspercent = codeDnev == 1
                    ? currItemDdsDnevPurchases != null ? currItemDdsDnevPurchases.DdsPercent : 0
                    : currItemDdsDnevSales != null ? currItemDdsDnevSales.DdsPercent : 0;
            string name = codeDnev == 1
                    ? currItemDdsDnevPurchases != null ? currItemDdsDnevPurchases.Name : ""
                    : currItemDdsDnevSales != null ? currItemDdsDnevSales.Name : "";
            var vm = new DdsViewModel(ddsDnevnikModel, new DdsDnevnicItem
            {
                DdsPercent = ddspercent,
                DdsSuma    = allconto.Conto.Oborot,
                Name       = name,
                In         = true
            });

            vm.SaveCommand.Execute(null);
            return(Decimal.Round(allconto.Conto.Oborot * ddspercent / 100, 2));
        }
Exemplo n.º 13
0
        protected override void OnStartup(StartupEventArgs e)
        {
            // Get Reference to the current Process
            bool retV;

            theMutex = new Mutex(true, "Tempo-3e8c9b1f-7798-4c3c-be4f-f4a39c0d8eb1", out retV);

            if (!retV)
            {
                MessageBoxWrapper.Show("Темпо е стартирано!");
                theMutex = null;
                Application.Current.Shutdown();
                return;
            }


            // *******************************************************************
            // TODO - Uncomment one of the lines of code that create a CultureInfo
            // in order to see the application run with localized text in the UI.
            // *******************************************************************

            CultureInfo culture = new CultureInfo("bg-BG");

            culture.NumberFormat.NumberDecimalSeparator = ".";
            var context = new TempoDataBaseContext();

            Vf.SetFormaters(context.GetSettings("LV"), context.GetSettings("KURS"), context.GetSettings("VAL"), context.GetSettings("KOL"));

            // ITALIAN
            // *******************************************************************
            // Thanks to Corrado Cavalli for translating this application's display
            // text to Italian, as spoken in Italy.
            // Corrado's blog: http://blogs.ugidotnet.org/corrado/Default.aspx
            //
            //culture = new CultureInfo("it-IT");


            // FRENCH
            // *******************************************************************
            // Thanks to Laurent Bugnion for translating this application's display
            // text to French, as spoken in Switzerland.
            // Laurent's blog: http://www.galasoft.ch/
            //
            //culture = new CultureInfo("fr-CH");


            // GERMAN
            // *******************************************************************
            // Thanks to Marco Goertz , Microsoft Cider Team Senior Development Lead,
            // for translating this application's display text to German, as spoken in Germany.
            //
            //culture = new CultureInfo("de-DE");

            Thread.CurrentThread.CurrentCulture   = culture;
            Thread.CurrentThread.CurrentUICulture = culture;

            // Ensure the current culture passed into bindings is the OS culture.
            // By default, WPF uses en-US as the culture, regardless of the system settings.
            FrameworkElement.LanguageProperty.OverrideMetadata(
                typeof(FrameworkElement),
                new FrameworkPropertyMetadata(
                    XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
            // define application exception handler
            Application.Current.DispatcherUnhandledException += new
                                                                DispatcherUnhandledExceptionEventHandler(
                AppDispatcherUnhandledException);
            EventManager.RegisterClassHandler(typeof(Window), Window.LoadedEvent,
                                              new RoutedEventHandler(WindowLoaded));
            //EventManager.RegisterClassHandler(typeof(UserControl), UserControl.LoadedEvent,
            //new RoutedEventHandler(UserControlLoaded));
            // defer other startup processing to base class

            EventManager.RegisterClassHandler(typeof(DatePicker),
                                              DatePicker.PreviewKeyDownEvent,
                                              new KeyEventHandler(DatePicker_PreviewKeyDown));
            base.OnStartup(e);
        }
Exemplo n.º 14
0
        public void LoadFromDb()
        {
            var context = new TempoDataBaseContext();

            mDictionary = context.LoadConfig();
        }