public HttpResponseMessage CreateMessageLogStatistic() { var msgForResponse = string.Empty; var allMesasgeLogs = _messageLogRepository.GetAndCreateMissingMesageLogsInStatistic(); if (allMesasgeLogs.Count > 0) { foreach (var mlNeedToBeCreated in allMesasgeLogs) { try { _messageLogStatisticRepository.InsertMessageLogStatistic(new MessageLogStatistic { Consumer = mlNeedToBeCreated.Consumer, Provider = mlNeedToBeCreated.Provider, RoutingToken = mlNeedToBeCreated.RoutingToken, Service = mlNeedToBeCreated.Service, ServiceMethod = mlNeedToBeCreated.ServiceMethod, TransactionId = mlNeedToBeCreated.TransactionId, Dir = mlNeedToBeCreated.Dir, CallType = mlNeedToBeCreated.CallType, PublicKey = mlNeedToBeCreated.PublicKey, Status = mlNeedToBeCreated.Status, MimeType = mlNeedToBeCreated.MimeType, Timestamp = mlNeedToBeCreated.Timestamp, CreateDate = mlNeedToBeCreated.CreateDate, Signature = mlNeedToBeCreated.Signature, CorrelationId = mlNeedToBeCreated.CorrelationId, ParticipantUri = "CS", TokenTimestamp = mlNeedToBeCreated.TokenTimestamp, IsCorrect = mlNeedToBeCreated.IsCorrect, ParticipantCode = "CS", ConsumerName = mlNeedToBeCreated.ConsumerName, RoutingTokenName = mlNeedToBeCreated.RoutingTokenName }); msgForResponse += mlNeedToBeCreated.TransactionId + "; "; } catch (Exception ex) { _logger.Error("Nastanata e greska pri racno kreiranje vo MessageLogStatistic, greshkata e: " + ex); throw new Exception(ex.Message); } } return(SetResponseMessage(msgForResponse)); } //if (allMesasgeLogs.Count > 0) //{ // foreach (var mLog in allMesasgeLogs) // { // msgForResponse += mLog + "; "; // } // return SetResponseMessage(msgForResponse); //} return(SetResponseMessage("Не постојат такви случаи.")); }
private void CreateMessageLogStatistics(IEnumerable <StatisticLogsFaults> participantMessageLogs, string participantUri, string participantCode, Dictionary <string, string> allServices) { LogToLocalFile(DateTime.Now + " --**--Pocnuva da zapisuva vo message log statistics tabelata"); bool loggedP = false; bool loggedCs = false; foreach (var logsAndFaults in participantMessageLogs) { var messageLogStatisticExist = _messageLogStatisticRepository.MessageLogStatisticExist(logsAndFaults.TransactionId, logsAndFaults.MessageLog.Dir, participantCode); var makeConsumerWithMim12 = logsAndFaults.MessageLog.Consumer; LogToLocalFile(DateTime.Now + " --**--transakcija,dir,participant code: " + logsAndFaults.TransactionId + "," + logsAndFaults.MessageLog.Dir + "," + participantCode); //LogToLocalFile(DateTime.Now + " --**--consumer,provider,routingtoken,service,servicemethod,transactionid,dir,calltype,publickey,status,mimetype,timestamp,createdate,signature,correlationid,participanturi,timestamp, iscorrect," + // "participantcode,consumername,routingtokenname,faultcode,faultsubcode,faulktreason,faultdetails,faultdatecreated: " + logsAndFaults.MessageLog.Consumer + "/" + // logsAndFaults.MessageLog.Provider + "/" + logsAndFaults.MessageLog.RoutingToken + "/" + logsAndFaults.MessageLog.Service + "/" + logsAndFaults.MessageLog.ServiceMethod // + "/" + logsAndFaults.MessageLog.TransactionId + "/" + logsAndFaults.MessageLog.Dir + "/" + logsAndFaults.MessageLog.CallType + "/" + logsAndFaults.MessageLog.PublicKey // + "/" + logsAndFaults.MessageLog.MimeType // + "/" + logsAndFaults.MessageLog.Timestamp // + "/" + logsAndFaults.MessageLog.CreateDate // + "/" + logsAndFaults.MessageLog.Signature + "/" + logsAndFaults.MessageLog.CorrelationId // + "/" + participantUri // + "/" + logsAndFaults.MessageLog.TokenTimestamp // + "/" + logsAndFaults.MessageLog.IsCorrect // + "/" + participantCode // + "/" + _participantRepository.GetParticipantByBus(makeConsumerWithMim12).Name // + "/" + _participantRepository.GetParticipant(logsAndFaults.MessageLog.RoutingToken).Name // + "/" + logsAndFaults.SoapFault.Code // + "/" + logsAndFaults.SoapFault.SubCode // + "/" + logsAndFaults.SoapFault.Reason // + "/" + logsAndFaults.SoapFault.Details // + "/" + logsAndFaults.SoapFault.DateCreated); LogToLocalFile(DateTime.Now + " --**--messageLogStatisticExist: " + messageLogStatisticExist); if (!messageLogStatisticExist) { //try //{ //Ova e samo privremeno se duri ne se postavat Participant-tite od dva razlicni Bus-a da se so razlicen ParticipantCode string makeConsumerWithMim1; if (logsAndFaults.MessageLog.Consumer == "AVRM") { makeConsumerWithMim1 = "MIM2$$" + logsAndFaults.MessageLog.Consumer; } else { makeConsumerWithMim1 = logsAndFaults.MessageLog.Consumer; } var serviceCodeFromMessageLog = logsAndFaults.MessageLog.Service; var serviceNameFromCode = allServices[serviceCodeFromMessageLog]; _messageLogStatisticRepository.InsertMessageLogStatistic(new MessageLogStatistic { Consumer = logsAndFaults.MessageLog.Consumer, Provider = logsAndFaults.MessageLog.Provider, RoutingToken = logsAndFaults.MessageLog.RoutingToken, //Service = logsAndFaults.MessageLog.Service, Service = serviceNameFromCode, ServiceMethod = logsAndFaults.MessageLog.ServiceMethod, TransactionId = logsAndFaults.MessageLog.TransactionId, Dir = logsAndFaults.MessageLog.Dir, CallType = logsAndFaults.MessageLog.CallType, PublicKey = logsAndFaults.MessageLog.PublicKey, Status = logsAndFaults.MessageLog.Status, MimeType = logsAndFaults.MessageLog.MimeType, Timestamp = logsAndFaults.MessageLog.Timestamp, CreateDate = logsAndFaults.MessageLog.CreateDate, Signature = logsAndFaults.MessageLog.Signature, CorrelationId = logsAndFaults.MessageLog.CorrelationId, ParticipantUri = participantUri, TokenTimestamp = logsAndFaults.MessageLog.TokenTimestamp, IsCorrect = logsAndFaults.MessageLog.IsCorrect, /*Za testiranje ako neshto ne e vo red so Create vo statistika dali kje prodolzi so sleden participant, kje prati mail, kje zapise vo .txt*/ ParticipantCode = participantCode, ConsumerName = _participantRepository.GetParticipantByBus(makeConsumerWithMim1).Name, RoutingTokenName = _participantRepository.GetParticipant(logsAndFaults.MessageLog.RoutingToken).Name, FaultCode = logsAndFaults.SoapFault.Code, FaultSubCode = logsAndFaults.SoapFault.SubCode, FaultReason = logsAndFaults.SoapFault.Reason, FaultDetails = logsAndFaults.SoapFault.Details, FaultDateCreated = logsAndFaults.SoapFault.DateCreated }); if (participantCode == "CS" && !loggedCs) { loggedCs = true; LogsInCreatingStatistics(DateTime.Now + "--**-- Uspeshno kreirani logovi od CS vo statistics tabelata"); } else if (participantCode != "CS" && !loggedP) { loggedP = true; LogsInCreatingStatistics(DateTime.Now + "--**-- Uspeshno kreirani logovi za participant " + participantCode); } //LogToLocalFile(DateTime.Now + " --**--Zapisal eden podatok"); //} //catch (Exception exception) //{ // LogToLocalFile(DateTime.Now + "Se slucila greska pri zapisuvanje vo MessageLogStatistic" + exception); // //TODO:Diskutabilno // /*throw exception;*/ //} } } if (participantCode == "CS") { LogToLocalFile(DateTime.Now + " --**-- Napravil insert vo tabela MessageLogsStatistic"); } LogToLocalFile(DateTime.Now + " --**-- napravil insert na message logs vo message logs statistic za participantot " + participantCode); }
private List <string> CreateMessageLogStatistics(IEnumerable <StatisticLogsFaults> participantMessageLogs, string participantUri, string participantCode, DateTime?forDate) { //_logger.Info(DateTime.Now + " --**--Pocnuva da zapisuva vo message log statistics tabelata"); var macCultureInfo = CultureInfo.CreateSpecificCulture("mk-MK"); var msgForDisplay = new List <string>(); bool msgFound = false; var allServices = _serviceRepository.GetServices().ToDictionary(s => s.Code, s => s.Name); foreach (var logsAndFaults in participantMessageLogs) { //_logger.Info(DateTime.Now + " --**--Za participant: " + participantUri); var messageLogStatisticExist = _messageLogStatisticRepository.MessageLogStatisticExist(logsAndFaults.TransactionId, logsAndFaults.MessageLog.Dir, participantCode); //_logger.Info(" --**--consumer,provider,routingtoken,service,servicemethod,transactionid,dir,calltype,publickey,status,mimetype,timestamp,createdate,signature,correlationid,participanturi,timestamp, iscorrect," + // "participantcode,consumername,routingtokenname,faultcode,faultsubcode,faulktreason,faultdetails,faultdatecreated: " + logsAndFaults.MessageLog.Consumer + "/" + // logsAndFaults.MessageLog.Provider + "/" + logsAndFaults.MessageLog.RoutingToken + "/" + logsAndFaults.MessageLog.Service + "/" + logsAndFaults.MessageLog.ServiceMethod // + "/" + logsAndFaults.MessageLog.TransactionId + "/" + logsAndFaults.MessageLog.Dir + "/" + logsAndFaults.MessageLog.CallType + "/" + logsAndFaults.MessageLog.PublicKey // + "/" + logsAndFaults.MessageLog.MimeType // + "/" + logsAndFaults.MessageLog.Timestamp // + "/" + logsAndFaults.MessageLog.CreateDate // + "/" + logsAndFaults.MessageLog.Signature + "/" + logsAndFaults.MessageLog.CorrelationId // + "/" + participantUri // + "/" + logsAndFaults.MessageLog.TokenTimestamp // + "/" + logsAndFaults.MessageLog.IsCorrect // + "/" + participantCode // + "/" + _participantsRepository.GetParticipant(logsAndFaults.MessageLog.Consumer).Name // + "/" + _participantsRepository.GetParticipant(logsAndFaults.MessageLog.RoutingToken).Name // + "/" + logsAndFaults.SoapFault.Code // + "/" + logsAndFaults.SoapFault.SubCode // + "/" + logsAndFaults.SoapFault.Reason // + "/" + logsAndFaults.SoapFault.Details // + "/" + logsAndFaults.SoapFault.DateCreated); if (!messageLogStatisticExist) { try { //Ova e samo privremeno se duri ne se postavat Participant-tite od dva razlicni Bus-a da se so razlicen ParticipantCode string makeConsumerWithMim1; if (logsAndFaults.MessageLog.Consumer == "AVRM") { makeConsumerWithMim1 = "MIM2$$" + logsAndFaults.MessageLog.Consumer; } else { makeConsumerWithMim1 = logsAndFaults.MessageLog.Consumer; } var serviceCodeFromMessageLog = logsAndFaults.MessageLog.Service; var serviceNameFromCode = allServices[serviceCodeFromMessageLog]; _messageLogStatisticRepository.InsertMessageLogStatistic(new MessageLogStatistic { Consumer = logsAndFaults.MessageLog.Consumer, Provider = logsAndFaults.MessageLog.Provider, RoutingToken = logsAndFaults.MessageLog.RoutingToken, //Service = logsAndFaults.MessageLog.Service, //ova e service code Service = serviceNameFromCode, ServiceMethod = logsAndFaults.MessageLog.ServiceMethod, TransactionId = logsAndFaults.MessageLog.TransactionId, Dir = logsAndFaults.MessageLog.Dir, CallType = logsAndFaults.MessageLog.CallType, PublicKey = logsAndFaults.MessageLog.PublicKey, Status = logsAndFaults.MessageLog.Status, MimeType = logsAndFaults.MessageLog.MimeType, Timestamp = logsAndFaults.MessageLog.Timestamp, CreateDate = logsAndFaults.MessageLog.CreateDate, Signature = logsAndFaults.MessageLog.Signature, CorrelationId = logsAndFaults.MessageLog.CorrelationId, ParticipantUri = participantUri, TokenTimestamp = logsAndFaults.MessageLog.TokenTimestamp, IsCorrect = logsAndFaults.MessageLog.IsCorrect, ParticipantCode = participantCode, //ConsumerName = _participantsRepository.GetParticipant(logsAndFaults.MessageLog.Consumer).Name, ConsumerName = _participantsRepository.GetParticipantByBus(makeConsumerWithMim1).Name, RoutingTokenName = _participantsRepository.GetParticipant(logsAndFaults.MessageLog.RoutingToken).Name, FaultCode = logsAndFaults.SoapFault.Code, FaultSubCode = logsAndFaults.SoapFault.SubCode, FaultReason = logsAndFaults.SoapFault.Reason, FaultDetails = logsAndFaults.SoapFault.Details, FaultDateCreated = logsAndFaults.SoapFault.DateCreated }); if (!msgFound) { msgForDisplay.Add("Успешно: Креиран е запис во табелата MessageLogStatistic за учесник " + participantCode + " за датум " + forDate.Value.ToString("dd.MM.yyyy", macCultureInfo) + "."); } msgFound = true; //_logger.Info(DateTime.Now + " --**--Zapisal eden podatok za message logs vo statistic tabelata za participant " + participantCode); } catch (Exception exception) { _logger.Error(DateTime.Now + "Se slucila greska pri zapisuvanje vo MessageLogStatistic" + exception); //throw exception; } } else { msgForDisplay.Add("Неуспешно: Записот за учесник " + participantCode + " и датум " + forDate.Value.ToString("dd.MM.yyyy", macCultureInfo) + " веќе постои. Трансакција: " + logsAndFaults.TransactionId + ", тип на повик: " + logsAndFaults.MessageLog.Dir + ", код на учесник: " + participantCode); } } return(msgForDisplay); }