Example #1
0
 public void Write(string statisticsFileName, IssueTypes issueType, int issueCount)
 {
     using (var statisticsWriter = new StreamWriter(statisticsFileName))
     {
         statisticsWriter.WriteLine($"Found {issueCount} {issueType.ToString().ToLower()} in report.");
     }
 }
Example #2
0
        public virtual IssueReport Parse(IssueTypes issueType)
        {
            string issueReportFileName;

            switch (issueType)
            {
            case IssueTypes.Errors:
                issueReportFileName = "errors.xml";
                break;

            case IssueTypes.Warnings:
                issueReportFileName = "warnings.xml";
                break;

            default: throw new IssueTypeNotSupportedException($"'{issueType}' issues type is not supported.");
            }

            var rawIssueReport = new XmlDocument();

            rawIssueReport.LoadXml(issueReportFileName);

            var issueReport = new IssueReport
            {
                DateTime = new IssueReportDateTimeParser().Parse(rawIssueReport),
                Issues   = new IssueReportIssueParser().Parse(rawIssueReport, issueType)
            };

            return(issueReport);
        }
Example #3
0
        public static ImportanceLevel IssueImportance(IssueTypes issuetype, ImportanceLevel?forceDifferent = null)
        {
            if (forceDifferent.HasValue)
            {
                return(forceDifferent.Value);
            }
            else
            {
                switch (issuetype)
                {
                case IssueTypes.Neuveden_dodavatel:
                case IssueTypes.SmlouvaZverejnenaPozdeNezacalaPlatit:
                case IssueTypes.Neplatny_datum_uzavreni_smlouvy:
                case IssueTypes.Chybi_predmet_smlouvy:
                case IssueTypes.Zcela_Chybi_identifikace_smluvni_strany:
                    return(ImportanceLevel.Fatal);

                case IssueTypes.Vadne_ICO:
                case IssueTypes.Stejne_strany_smlouvy:
                case IssueTypes.Chybne_strany_smlouvy:
                case IssueTypes.Firma_vznikla_az_po:
                case IssueTypes.SmlouvaZverejnenaPozde:
                case IssueTypes.Neplatna_cena:
                    return(ImportanceLevel.Major);

                case IssueTypes.NecitelnostSmlouvy:
                case IssueTypes.Budouci_datum_uzavreni:
                case IssueTypes.NeverejnyUdaj:
                case IssueTypes.Neexistujici_ICO:
                case IssueTypes.Chybi_identifikace_smluvni_strany:
                case IssueTypes.SmlouvaUzavrena_s_NespolehlivymPlatcemDPH:
                case IssueTypes.Nulova_hodnota_smlouvy:
                    return(ImportanceLevel.Minor);

                case IssueTypes.Cena_bez_DPH_nulova:
                case IssueTypes.Cena_s_DPH_nulova:
                case IssueTypes.Zaporna_cena_bez_DPH:
                case IssueTypes.Zaporna_cena_s_DPH:
                case IssueTypes.Nulova_hodnota_smlouvy_u_dodatku:
                case IssueTypes.Nulova_hodnota_smlouvy_ostatni:
                case IssueTypes.SmlouvaZverejnenaPozde_DodatekVynutilPublikaci:
                    return(ImportanceLevel.Formal);

                case IssueTypes.Chybi_ICO:
                case IssueTypes.Chybi_datova_schranka:
                case IssueTypes.Firma_Cizi_Stat:
                case IssueTypes.Osoba:
                case IssueTypes.Firma_vznikla_kratce_pred:
                    return(ImportanceLevel.Ok);


                case IssueTypes.bezDPH_x_DPH:
                case IssueTypes.Neplatna_cena_vypocetDPH:
                    return(ImportanceLevel.NeedHumanReview);

                default:
                    throw new NotImplementedException();
                }
            }
        }
        public virtual void Process(IssueTypes issueType, string statisticsFileName)
        {
            var issueReport = new IssueReportParser().Parse(issueType);

            if (StatisticsDateTime == default(DateTime))
            {
                StatisticsDateTime = DateTime.Now;
            }

            new IssueStatisticsWriter().Write(statisticsFileName, issueType, issueReport.Issues.Count);
        }
Example #5
0
        public IIssueInfoAndInstanceProvider Retrieve(IssueTypes issueType)
        {
            var issueTypeIndex = (int)issueType;

            if (issueTypeIndex >= _issueInfoAndInstanceProviders.Length)
            {
                throw new IssueTypeNotSupportedException($"'{issueType}' issues type is not supported.");
            }

            return(_issueInfoAndInstanceProviders[issueTypeIndex]);
        }
        public bool ValidateIssueTypes()
        {
            if (IssueTypes.Any())
            {
                return(true);
            }

            dialogService.ShowDialog(AppResources.CreateIssueIssueTypeValidationErrorMessage, AppResources.Warning);

            return(false);
        }
Example #7
0
        public virtual IssueReport Parse(IssueTypes issueType)
        {
            var issueInfoAndInstanceProvider = _issueInfoAndInstanceProviderRetriever.Retrieve(issueType);

            var rawIssueReport = _xmlDocumentFactory.Create(issueInfoAndInstanceProvider.ReportFileName);

            var issueReport = new IssueReport
            {
                DateTime = _issueReportDateTimeParser.Parse(rawIssueReport),
                Issues   = _issueReportIssueParser.Parse(rawIssueReport, issueInfoAndInstanceProvider)
            };

            return(issueReport);
        }
Example #8
0
        public async Task <Issue> SetIssueTypeAsync(string issue, IssueTypes type)
        {
            var queryParamValues = new Dictionary <string, object>
            {
                [nameof(issue)] = issue,
                [nameof(type)]  = IssueTypesConverter.ToString(type)
            };

            var response = await GetIssuesUrl("set_type")
                           .SetQueryParams(queryParamValues)
                           .PostAsync(s_emptyHttpContent)
                           .ConfigureAwait(false);

            return(await HandleResponseFirstNodeAsync <Issue>(response).ConfigureAwait(false));
        }
Example #9
0
        public virtual IssueReport Parse(IssueTypes issueType)
        {
            var issueInfoAndInstanceProvider = _issueInfoAndInstanceProviderRetriever.Retrieve(issueType);

            var rawIssueReport = new XmlDocument();

            rawIssueReport.LoadXml(issueInfoAndInstanceProvider.ReportFileName);

            var issueReport = new IssueReport
            {
                DateTime = new IssueReportDateTimeParser().Parse(rawIssueReport),
                Issues   = new IssueReportIssueParser().Parse(rawIssueReport, issueInfoAndInstanceProvider)
            };

            return(issueReport);
        }
        public void Process(IssueTypes issueType, string statisticsFileName)
        {
            if (issueType != IssueTypes.Errors)
            {
                throw new IssueTypeNotImportantException($"'{issueType}' issues type is not important.");
            }

            var issueReport = new IssueReportParserImportantIssueFilter(new IssueReportParser()).Parse(issueType);

            if (issueReport != null)
            {
                StatisticsDateTime = DateTime.Now;

                new IssueStatisticsWriter().Write(statisticsFileName, issueType, issueReport.Issues.Count);
            }
        }
Example #11
0
        private void CreateIssue(IssueTypes issueType, Action <IIssue> issueProcessing)
        {
            var issue = new Issue
            {
                DistributionChannel = DistributionChannels.KA | DistributionChannels.OnTrade | DistributionChannels.OffTrade,
                Region = Regions.WestUkraine | Regions.EastUkraine,
                Type   = issueType,
                Set    = _set
            };

            if (issueProcessing != null)
            {
                issueProcessing(issue);
            }

            Issues.IssueDb.Issues.Add(issue);

            CurrentIssueNumber = SetIssues.Count - 1;
            CurrentIssue       = SetIssues[CurrentIssueNumber];
        }
Example #12
0
        public IssueReport TryParse(IssueTypes issueType)
        {
            var issueReport = default(IssueReport);

            try
            {
                issueReport = Parse(issueType);
            }
            catch (IssueTypeNotSupportedException)
            {
            }
            catch (ElementNotFoundException)
            {
            }
            catch (ElementIsEmptyException)
            {
            }

            return(issueReport);
        }
        private void TrySelectDefaultIssueType()
        {
            if (IssueTypes == null)
            {
                return;
            }

            var defaultIssueTypeName = ConfigurationManager.AppSettings["defaultIssueType"];

            if (string.IsNullOrWhiteSpace(defaultIssueTypeName))
            {
                return;
            }

            var defaultIssueType = IssueTypes.FirstOrDefault(p => string.Compare(p.Name, defaultIssueTypeName, true) == 0);

            if (defaultIssueType != null)
            {
                SelectedIssueTypeId = defaultIssueType.Id;
            }
        }
Example #14
0
        public List <IIssue> Parse(XmlDocument rawIssueReport, IssueTypes issueType)
        {
            string issueTag;

            switch (issueType)
            {
            case IssueTypes.Errors:
                issueTag = "Error";
                break;

            case IssueTypes.Warnings:
                issueTag = "Warning";
                break;

            default: throw new IssueTypeNotSupportedException($"'{issueType}' issues type is not supported.");
            }

            var issues = new List <IIssue>();

            var rawIssues = rawIssueReport.GetElementsByTagName(issueTag);

            for (var issueIndex = 0; issueIndex < rawIssues.Count; issueIndex++)
            {
                var issueMessage = rawIssues[issueIndex].InnerText;
                if (string.IsNullOrWhiteSpace(issueMessage))
                {
                    throw new ElementIsEmptyException($"{issueTag} element is empty in source xml report.");
                }

                var issue = issueType == IssueTypes.Errors ? (IIssue) new Error() : new Warning();
                issue.Message = issueMessage;

                issues.Add(issue);
            }

            return(issues);
        }
Example #15
0
        public IssueReport Parse(IssueTypes issueType)
        {
            var issueReport = _issueReportParser.Parse(issueType);

            return(issueReport.Issues.Count > IssueImportanceThreshold ? issueReport : null);
        }
 public IssueReport TryParse(IssueTypes issueType)
 {
     throw new NotImplementedException();
 }
Example #17
0
 internal void updateIssueType(IssueTypes issueType)
 {
     String sql = "update ISSUE_TYPE set type=:x where id=:y";
     using (MedMidsContext db = new MedMidsContext())
     {
         db.Database.ExecuteSqlCommand(sql, new OracleParameter(":x", issueType.Type),
                                             new OracleParameter(":y", issueType.Id));
     }
 }
        public override IssueReport Parse(IssueTypes issueType)
        {
            var issueReport = base.Parse(issueType);

            return(issueReport.Issues.Count > IssueImportanceThreshold ? issueReport : null);
        }