public void WriteLog(string eventName, string title, string fileName, string username, string content, string description)
 {
     try
     {
         NtsMed.InsertLogChange(eventName, title, fileName, username, content, description);
     }
     catch (Exception ex)
     {
         FORIS.Interbilling.NTS.Mediation.Logger.LogError(ex.ToString());
     }
 }
        public void ProcessSuspendedCDR(int sessionId)
        {
            try
            {
                DataTable sessionErrors = NtsMed.GetAllSessionErrors(sessionId);

                if (sessionErrors.Rows.Count > 0)
                {
                    string platformName = sessionErrors.Rows[0][0].ToString();
                    MediationServiceConfiguration medConfig = FORIS.Interbilling.NTS.Mediation.Configurations.Configuration.GetNotCashedConfiguration <MediationServiceConfiguration>();
                    var           id             = medConfig.InputDirectories;
                    string        inputDirectory = id.FirstOrDefault(p => p.FileType.ToLower().Equals(platformName.ToLower())).Directory;
                    StringBuilder sb             = new StringBuilder();
                    List <string> lines          = new List <string>();
                    foreach (DataRow dr in sessionErrors.Rows)
                    {
                        DataTable correctedLines = NtsMed.GetCorrectedLines(dr["cdr_id"].ToString());
                        string    line           = "";
                        foreach (DataRow dr2 in correctedLines.Rows)
                        {
                            line += dr2["field"].ToString() + ";";
                        }
                        line = line.Remove(line.Length - 1);
                        lines.Add(line);
                    }
                    UpdateFileStatus(sessionId, 5); // 5 - status: procesiran

                    System.IO.File.WriteAllLines(inputDirectory + "\\sporni\\" + "\\sporni_" + sessionId + ".txt", lines);
                }
                else
                {
                    UpdateFileStatus(sessionId, 5); // 5 - status: procesiran
                }
            }

            catch (Exception ex)
            {
                FORIS.Interbilling.NTS.Mediation.Logger.LogError(ex.ToString());
            }
        }
        public void DeletePlatformInformation(string index, string platformId, string platformName)
        {
            FileTypes ft = FORIS.Interbilling.NTS.Mediation.Configurations.Configuration.GetNotCashedConfiguration <FileTypes>();
            MediationServiceConfiguration ms = FORIS.Interbilling.NTS.Mediation.Configurations.Configuration.GetNotCashedConfiguration <MediationServiceConfiguration>();
            CheckInput ci           = FORIS.Interbilling.NTS.Mediation.Configurations.Configuration.GetNotCashedConfiguration <CheckInput>();
            var        fileTypeList = ft.FileTypesList;
            var        inputDir     = ms.InputDirectories;
            var        arhDir       = ms.ArchiveDirectories;
            var        files        = ci.Fajlovi;

            string fileTypeID   = platformId;
            string fileTypeName = platformName;
            var    delFile      = files.Find(p => p.FileType == fileTypeName);


            inputDir = inputDir.Where(p => p.FileType != fileTypeName).ToArray();
            arhDir   = arhDir.Where(p => p.FileType != fileTypeName).ToArray();
            fileTypeList.RemoveAt(Convert.ToInt32(index));
            files.Remove(delFile);
            ms.InputDirectories   = inputDir;
            ms.ArchiveDirectories = arhDir;

            string logString = "FileTypeID: " + fileTypeID + "|" +
                               "FileTypeName: " + fileTypeName;

            WriteLog("DELETE", "MED Configuration", "FileTypes", WindowsIdentity.GetCurrent().Name, logString, "");

            FORIS.Interbilling.NTS.Mediation.Configurations.Configuration.SaveConfiguration(ft.GetType(), ft);
            FORIS.Interbilling.NTS.Mediation.Configurations.Configuration.SaveConfiguration(ms.GetType(), ms);
            FORIS.Interbilling.NTS.Mediation.Configurations.Configuration.SaveConfiguration(ci.GetType(), ci);
            try
            {
                NtsMed.DeleteFileSource(int.Parse(fileTypeID), fileTypeName);
            }
            catch (Exception ex)
            {
                FORIS.Interbilling.NTS.Mediation.Logger.LogError(ex.ToString());
            }
        }
Ejemplo n.º 4
0
        public void ReprocessSessions(List <ReprocessRequest> req)
        {
            MediationServiceConfiguration mediationServiceConfig = FORIS.Interbilling.NTS.Mediation.Configurations.Configuration.GetNotCashedConfiguration <MediationServiceConfiguration>();

            foreach (var item in req)
            {
                string filePath = GetFilePath(item.Path);
                string folder   = Path.GetFileName(Path.GetDirectoryName(item.Path));

                if (File.Exists(filePath))
                {
                    string fileName = Path.GetFileName(filePath);
                    string oldFile  = Path.Combine(mediationServiceConfig.ProcessedDirectory, fileName);
                    string newFile  = Path.Combine(InputPath(folder), "rep_" + item.Id + "_" + fileName);
                    File.Move(oldFile, newFile);

                    MedSessionToUpdate medSessionToUpdate = new MedSessionToUpdate();
                    medSessionToUpdate.MedSessionId       = item.Id;
                    medSessionToUpdate.LastSuccessfulStep = 0;
                    NtsMed.UpdateMEDSession(medSessionToUpdate);
                }
            }
        }