Esempio n. 1
0
 public void MatchPersonLists(nm_e_gramatinas egrm,
                              out Dictionary <nm_e_gramatinasGigv, KlonsADataSet.PERSONSRow> dict,
                              out List <string> missingnames)
 {
     dict         = new Dictionary <nm_e_gramatinasGigv, KlonsADataSet.PERSONSRow>();
     missingnames = new List <string>();
     foreach (var grm in egrm.gigv)
     {
         var pk = grm.pers_kods.ToString();
         if (pk.Length == 10)
         {
             pk = "0" + pk;
         }
         if (pk.Length == 11)
         {
             pk = pk.Insert(6, "-");
         }
         var drpr = FindPerson(grm.vards_uzvards, pk);
         if (drpr == null)
         {
             missingnames.Add(grm.vards_uzvards);
         }
         else
         {
             dict[grm] = drpr;
         }
     }
 }
Esempio n. 2
0
        public string GetUntMinResult(string filename,
                                      DateTime dt1,
                                      DateTime dt2,
                                      out List <string> missingnames,
                                      out List <UntMinImportData> changes)
        {
            missingnames = new List <string>();
            changes      = new List <UntMinImportData>();
            string xml   = File.ReadAllText(filename);
            var    egrms = Deserialize(xml);

            EGramatinas   = egrms;
            UntMinChanges = changes;
            if (egrms == null)
            {
                return("Neizdevās nolasīt pārskata xml failu");
            }
            var edt1 = Utils.StringToDate(egrms.pamatdati.periods_no);
            var edt2 = Utils.StringToDate(egrms.pamatdati.periods_lidz);

            if (edt1 > dt1 || edt2 < dt2)
            {
                return("EDS pārskata periods neatbilst pieprasītajam.");
            }
            MatchPersonLists(egrms, out var dict_pr, out missingnames);
            foreach (var egrm in egrms.gigv)
            {
                if (!dict_pr.TryGetValue(egrm, out var drpr))
                {
                    continue;
                }
                var pi_db             = GetUntMinFromDB(drpr, dt1, dt2);
                var pi_egrm_untmin    = GetUntMinFromEgrm(egrm, dt1, dt2);
                var pi_egrm_iinrate   = GetIINRateFromEgrm(egrm, dt1, dt2);
                var pi_merged_iinrate = MergeUntMinAndIINRateData(pi_egrm_untmin, pi_egrm_iinrate);
                var pi_merged_untmin  = MergeUntMinData(pi_db, pi_merged_iinrate);
                var changes_pr        = GetUntMinChanges(pi_merged_untmin, pi_db);
                var changes_pr2       = changes_pr
                                        .Select(d => new UntMinImportData()
                {
                    IDP         = drpr.ID,
                    Name        = drpr.YNAME,
                    PersonsCode = drpr.PK,
                    Dt          = d.Dt1,
                    UntMin      = d.UntMin,
                    IINRateType = d.IINRateType
                });
                changes.AddRange(changes_pr2);
            }
            return("OK");
        }