/// <summary>
 /// Update the end time of file_load
 /// </summary>
 /// <param name="fileLoadId"></param>
 public void UpdateFileLoad(int fileLoadId)
 {
     using (var context = new indigo_databaseEntities(dbObject.EFSQLConnectionString))
     {
         context.usp_file_load_update(fileLoadId, DateTimeOffset.Now, -2, "SYSTEM");
     }
 }
        /// <summary>
        /// Create file_load
        /// </summary>
        /// <param name="searchFileName"></param>
        /// <returns></returns>
        public int CreateFileLoad(DateTimeOffset startTime, int filesToProcess)
        {
            ObjectParameter file_load_id = new ObjectParameter("file_load_id", typeof(int));

            using (var context = new indigo_databaseEntities(dbObject.EFSQLConnectionString))
            {
                context.usp_file_load_create(startTime, null, -2, filesToProcess, -2, "SYSTEM", file_load_id);
            }

            return(int.Parse(file_load_id.Value.ToString()));
        }
        /// <summary>
        /// Checks the DB if the file has already been processed. Returns true if file has been processed.
        /// </summary>
        /// <param name="searchFileName"></param>
        /// <returns></returns>
        public bool CheckIfFileExists(string searchFileName)
        {
            using (var context = new indigo_databaseEntities(dbObject.EFSQLConnectionString))
            {
                ObjectResult <file_history> results = context.usp_find_file_info_by_filename(searchFileName);

                if (results.Count() > 0)
                {
                    return(true);
                }
            }

            return(false);
        }
        /// <summary>
        /// Search for a list of file loader logs.
        /// </summary>
        /// <param name="fileStatus"></param>
        /// <param name="fileName"></param>
        /// <param name="issuerId"></param>
        /// <param name="dateFrom"></param>
        /// <param name="dateTo"></param>
        /// <param name="pageIndex"></param>
        /// <param name="rowsPerpage"></param>
        /// <param name="auditUserId"></param>
        /// <param name="auditWorkstation"></param>
        /// <returns></returns>
        public List <GetFileLoderLog_Result> SearchFileLoadLog(int?fileLoadId, FileStatus?fileStatus, string fileName, int?issuerId,
                                                               DateTime?dateFrom, DateTime?dateTo, int languageId, int pageIndex, int rowsPerpage,
                                                               long auditUserId, string auditWorkstation)
        {
            List <GetFileLoderLog_Result> rtnValue = new List <GetFileLoderLog_Result>();

            using (var context = new indigo_databaseEntities(dbObject.EFSQLConnectionString))
            {
                var results = context.usp_get_fileloaderlog(fileLoadId, (int?)fileStatus, fileName, issuerId, dateFrom, dateTo, languageId, pageIndex,
                                                            rowsPerpage, auditUserId, auditWorkstation);


                return(results.ToList());
            }
        }
Exemple #5
0
        /// <summary>
        /// Returns all active issuers.
        /// </summary>
        /// <returns></returns>
        internal List <issuer> GetIssuerConfiguration()
        {
            var rtnList = new List <issuer>();

            try
            {
                using (var context = new indigo_databaseEntities(dbObject.EFSQLConnectionString))
                {
                    ObjectResult <issuer> results = context.usp_find_issuer_by_status((int)IssuerStatus.ACTIVE);

                    foreach (issuer result in results)
                    {
                        rtnList.Add(result);
                    }
                }
            }
            catch (Exception ex)
            {
                LogFileWriter.WriteFileLoaderComment("Unable to access the database, cannot run the file loader");
                LogFileWriter.WriteFileLoaderError(ToString(), ex);
            }
            return(rtnList);
        }
        public bool SaveFileInfo(file_history fileHistory)
        {
            ObjectParameter fileId = new ObjectParameter("file_id", typeof(long));

            using (var context = new indigo_databaseEntities(dbObject.EFSQLConnectionString))
            {
                context.usp_insert_file_history(fileHistory.file_load_id,
                                                fileHistory.issuer_id,
                                                fileHistory.name_of_file,
                                                fileHistory.file_created_date,
                                                fileHistory.file_size,
                                                DateTimeOffset.Now,
                                                fileHistory.file_status_id,
                                                fileHistory.file_directory,
                                                fileHistory.number_successful_records,
                                                fileHistory.number_failed_records,
                                                fileHistory.file_load_comments,
                                                fileHistory.file_type_id,
                                                fileId);
            }

            return(true);
        }
        /// <summary>
        /// Fetch an issuer based on bin code and branch code.
        /// Should produce one eunique issuer.
        /// </summary>
        /// <param name="binCode"></param>
        /// <param name="branchCode"></param>
        /// <returns></returns>
        internal bool FetchIssuerByProductAndBinCode(string binCode, string branchCode, out issuer cardFileIssuer)
        {
            cardFileIssuer = new issuer();
            using (var context = new indigo_databaseEntities(dbObject.EFSQLConnectionString))
            {
                var results = context.usp_get_issuer_by_product_and_branchcode(binCode, branchCode);

                List <issuer> issuers = results.ToList();

                if (issuers.Count() > 1)
                {
                    //throw new Exception("BIN code and branch code linked to more than, one issuer. Check configuaration.");
                    return(false);
                }
                else if (issuers.Count == 0)
                {
                    return(false);
                }

                cardFileIssuer = issuers.First();
                return(true);
            }
        }