예제 #1
0
        private void GetCiselnikProjektExt(MigraciaStavovDto data, int nastavenieISOZdroj, string sConnString)
        {
            DateTime datumK = (DateTime)data.DatumDo;

            if (nastavenieISOZdroj == 1)
            {
                using (var tran = BeginTransaction())
                {
                    try
                    {
                        using (IDbConnection cn = GetNewDb(sConnString, nastavenieISOZdroj))
                        {
                            string sSql = Properties.Resources.Korwin_PRJ.Replace("DB_FROM", cn.Database);
                            sSql = sSql.Replace("2019", datumK.Year.ToString());
                            Db.ExecuteNonQuery(sSql);
                        }
                        tran.Commit();
                    }
                    catch (Exception ex)
                    {
                        tran.Rollback();
                        throw new WebEasException(null, "Nastala chyba pri importe projektov za rok " + datumK.Year.ToString(), ex);
                    }
                }
            }
        }
예제 #2
0
        private void GetCiselnikPokladnicaExt(MigraciaStavovDto data, int nastavenieISOZdroj, string sConnString, string madeLinkedServer)
        {
            string   sSql;
            DateTime datumK = (DateTime)data.DatumDo;

            if (nastavenieISOZdroj == 1)
            {
                using (var tran = BeginTransaction())
                {
                    try
                    {
                        using (IDbConnection cn = GetNewDb(sConnString, nastavenieISOZdroj))
                        {
                            sSql = Properties.Resources.Korwin_POK.Replace("DB_FROM", cn.Database);
                            sSql = sSql.Replace("2019", datumK.Year.ToString());
                            Db.ExecuteNonQuery(sSql);
                        }
                        tran.Commit();
                    }
                    catch (Exception ex)
                    {
                        tran.Rollback();
                        throw new WebEasException(null, "Nastala chyba pri importe pokladníc za rok " + datumK.Year.ToString(), ex);
                    }
                }
            }
            else if (nastavenieISOZdroj == 2)
            {
                var roky = Enumerable.Range(datumK.Year, DateTime.Now.Year - datumK.Year + 1).ToList();
                foreach (int rok in roky)
                {
                    using (var tran = BeginTransaction())
                    {
                        try
                        {
                            using (IDbConnection cn = GetNewDb(sConnString, nastavenieISOZdroj))
                            {
                                if (cn.TableExists("uco_pokdef" + rok.ToString()))
                                {
                                    sSql = Properties.Resources.Urbis_POK.Replace("URBIS_LS", madeLinkedServer).Replace("DB_FROM", cn.Database).Replace("@YEAR", rok.ToString());
                                    Db.ExecuteNonQuery(sSql);
                                }
                            }
                            tran.Commit();
                        }
                        catch (Exception ex)
                        {
                            tran.Rollback();
                            throw new WebEasException(null, "Nastala chyba pri importe pokladníc za rok " + rok.ToString(), ex);
                        }
                    }
                }
            }
            SetCislovanie();
        }
예제 #3
0
        private void MigraciaPociatocnehoStavu(MigraciaStavovDto request, string processKey)
        {
            request.DatumDo = CheckESAMStartDate(request.DatumDo);

            string madeLinkedServer   = "URBIS";
            int    nastavenieISOZdroj = (int)GetNastavenieI("cfe", "ISOZdroj");
            string sConnString        = GetNastavenieS("cfe", "ISOZdrojDatabaza");

            if (nastavenieISOZdroj == 2 && GetNastavenieS("sys", "Environment").Contains("ZPP"))
            {
                madeLinkedServer = sConnString.Split('\\')[0].Substring(7);
                sConnString      = ReplaceFirst(sConnString, "URBIS", "10.231.3.");
            }

            if (request.TypImportu.Contains("reg-str"))
            {
                LongOperationSetStateMessage(processKey, "Prebieha migrácia stredísk (1/4)");
                GetCiselnikStrediskoExt(request, nastavenieISOZdroj, sConnString, madeLinkedServer);
            }
            if (request.TypImportu.Contains("reg-ban"))
            {
                LongOperationSetStateMessage(processKey, "Prebieha migrácia bankových účtov (2/4)");
                GetCiselnikBankaUcetExt(request, nastavenieISOZdroj, sConnString, madeLinkedServer);
            }
            if (request.TypImportu.Contains("reg-pdk"))
            {
                LongOperationSetStateMessage(processKey, "Prebieha migrácia pokladníc (3/4)");
                GetCiselnikPokladnicaExt(request, nastavenieISOZdroj, sConnString, madeLinkedServer);
            }
            if (request.TypImportu.Contains("reg-proj"))
            {
                LongOperationSetStateMessage(processKey, "Prebieha migrácia projektov (4/4)");
                GetCiselnikProjektExt(request, nastavenieISOZdroj, sConnString);
            }
            SetCislovanie();
            SetPredkontacia(); // pregeneruj/vygeneruj uct.C_Predkontacia
            InvalidateTreeCountsForPath("reg-.*");
            LongOperationSetStateFinished(processKey, string.Empty, "Migrácia modulu 'Registre' prebehla úspešne.", state: LongOperationState.Done);
        }