Beispiel #1
0
        public void GetByFilter_ByType_ShouldReturnCorrectResult()
        {
            const int pageSize = 15;

            var error1 = GetValidDomainError();

            ErrorRepository.Add(error1);
            var error2 = GetAnotherValidDomainError();

            ErrorRepository.Add(error2);
            var error3 = GetValidGenericError();

            ErrorRepository.Add(error3);
            var error4 = GetAnotherValidGenericError();

            ErrorRepository.Add(error4);

            var pagedResult = ErrorRepository.FindByFilter(typeof(ApplicationException).FullName, null, 0, pageSize);

            Assert.IsNotNull(pagedResult);
            Assert.IsFalse(pagedResult.IsEmpty);
            Assert.IsTrue(pagedResult.Result.Count == 2);
            Assert.IsTrue(pagedResult.Total == 2);
            Assert.AreEqual(pageSize, pagedResult.PageSize);
            Assert.AreEqual(error3.Id, pagedResult.Result.ElementAt(0).Id);
            Assert.AreEqual(error4.Id, pagedResult.Result.ElementAt(1).Id);
        }
Beispiel #2
0
        protected RefusalWorkflowStatus UpdateCurrentState(long chatId, RefusalWorkflowStatusType state, int userId = 0)
        {
            var currentState = new RefusalWorkflowStatus();

            try
            {
                currentState = GetCurrentState(chatId);

                currentState.ChatId       = chatId;
                currentState.ProcessStage = state;
                if (userId > 0)
                {
                    currentState.UserId = userId;
                }

                UserProcessStatusRepository.AddEdit(currentState);
            }
            catch (Exception ex)
            {
                ErrorRepository.AddEdit(new Error()
                {
                    ChatId                  = chatId,
                    ErrorCode               = ex.HResult,
                    ErrorMessage            = ex.Message,
                    StackTrace              = ex.StackTrace,
                    RefusalWorkflowStatusId = currentState.ProcessStage
                });
            }

            return(currentState);
        }
        public void ShouldOrderByLevel(string orderDirection)
        {
            var fakeContext = new FakeContext("OrderByLevel");

            fakeContext.FillWith <Error>();

            using (var context = new CentralErrosContext(fakeContext.FakeOptions))
            {
                var service  = new ErrorRepository(context);
                var actual   = service.OrderByLevel(service.GetAll(), orderDirection).ToList();
                var expected = new List <Error>();

                if (orderDirection == "descending")
                {
                    expected = fakeContext.GetFakeData <Error>().OrderByDescending(x => x.LevelId).ToList();
                    Assert.Equal(expected, actual, new ErrorIdComparer());
                }

                else
                {
                    expected = fakeContext.GetFakeData <Error>().OrderBy(x => x.LevelId).ToList();
                    Assert.Equal(expected, actual, new ErrorIdComparer());
                }
            }
        }
Beispiel #4
0
        /// <summary>
        ///     Query for all Error Codes
        /// </summary>
        /// <returns>Collection of all Error Codes</returns>
        public IEnumerable <Error> GetAllNoteCodes()
        {
            var errors = ErrorRepository.GetAll()
                         .ToList();

            return(errors);
        }
Beispiel #5
0
        public void GetByFilter_ShouldReturnCorrectPageInCorrectOrder()
        {
            const int pageSize = 2;

            var error1 = GetValidDomainError();

            ErrorRepository.Add(error1);
            var error2 = GetAnotherValidDomainError();

            ErrorRepository.Add(error2);
            var error3 = GetValidGenericError();

            ErrorRepository.Add(error3);
            var error4 = GetAnotherValidGenericError();

            ErrorRepository.Add(error4);

            var pagedResult = ErrorRepository.FindByFilter(null, null, 1, pageSize);

            Assert.IsNotNull(pagedResult);
            Assert.IsFalse(pagedResult.IsEmpty);
            Assert.IsTrue(pagedResult.Result.Count == 2);
            Assert.IsTrue(pagedResult.Total == 4);
            Assert.AreEqual(pageSize, pagedResult.PageSize);
            Assert.AreEqual(error2.Id, pagedResult.Result.ElementAt(0).Id);
            Assert.AreEqual(error3.Id, pagedResult.Result.ElementAt(1).Id);
        }
Beispiel #6
0
        public void Remove_ShouldThrowException()
        {
            Error error = GetValidDomainError();

            error.Id = 1;
            ErrorRepository.Remove(error);
        }
Beispiel #7
0
        public void GetByFilter_ByHandledNull_ShouldReturnCorrectResult()
        {
            const int pageSize = 15;

            var error1 = GetValidDomainError();

            ErrorRepository.Add(error1);
            var error2 = GetAnotherValidDomainError();

            ErrorRepository.Add(error2);
            var error3 = GetValidGenericError();

            ErrorRepository.Add(error3);
            var error4 = GetAnotherValidGenericError();

            ErrorRepository.Add(error4);
            var error5 = GetNotHandledException();

            ErrorRepository.Add(error5);

            var pagedResult = ErrorRepository.FindByFilter(null, null, 0, pageSize);

            Assert.IsNotNull(pagedResult);
            Assert.IsFalse(pagedResult.IsEmpty);
            Assert.IsTrue(pagedResult.Result.Count == 5);
            Assert.IsTrue(pagedResult.Total == 5);
            Assert.AreEqual(pageSize, pagedResult.PageSize);
        }
Beispiel #8
0
        public virtual void Update()
        {
            IRepository <Error> repo = new ErrorRepository();

            this.updated_at = DateTime.Now;
            repo.Update(this);
        }
        public async void StoreConversation(string conversationId, string userId, string conversationDate, string conversationLog)
        {
            try
            {
                using (var connection = new SqlConnection(Connection))
                {
                    await connection.OpenAsync();

                    var conversation = new Conversation
                                       (
                        conversationId,
                        userId,
                        conversationDate,
                        conversationLog
                                       );

                    await connection.ExecuteAsync(
                        "usp_Add_Conversation",
                        conversation,
                        null, null,
                        CommandType.StoredProcedure);
                }
            }
            catch (Exception exception)
            {
                var errorRepository = new ErrorRepository(Connection);
                errorRepository.LogError(conversationId, userId, DateTime.Now.ToString(), conversationLog, exception.ToString());
                throw;
            }
        }
Beispiel #10
0
        public ActionResult Index()
        {
            List <FrayteApiErrorDto> item = new ErrorRepository().GetApiErrorCode();

            ViewBag.Title = "API Docs - FRAYTE";
            return(View(item));
        }
Beispiel #11
0
        public override void UpdateDocument(MongoCollection <BsonDocument> collection, BsonDocument document)
        {
            var       errorRepository = new ErrorRepository(collection.Database, null, null, null);
            BsonValue id = document.GetDocumentId();

            if (id == null || !id.IsObjectId)
            {
                return;
            }

            Error error = errorRepository.GetById(id.ToString());

            if (error == null)
            {
                return;
            }

            if (document.Contains("sig"))
            {
                document.Remove("sig");
            }

            var signatureFactory = new ErrorSignatureFactory();
            // updates the document to set the IsSignatureTarget
            ErrorSignature signature = signatureFactory.GetSignature(error);

            errorRepository.Update(error);
        }
Beispiel #12
0
        public void GetByFilter_WithOrder_ShouldReturnCorrectResult()
        {
            const int pageSize = 15;

            var error1 = GetValidDomainError();
            var error2 = GetAnotherValidDomainError();
            var error3 = GetValidGenericError();
            var error4 = GetAnotherValidGenericError();

            ErrorRepository.Add(error1);
            ErrorRepository.Add(error2);
            ErrorRepository.Add(error3);
            ErrorRepository.Add(error4);

            var pagedResult = ErrorRepository.FindByFilter(null, null, 0, pageSize, "Message", true);

            Assert.IsNotNull(pagedResult);
            Assert.IsFalse(pagedResult.IsEmpty);
            Assert.IsTrue(pagedResult.Result.Count == 4);
            Assert.IsTrue(pagedResult.Total == 4);
            Assert.AreEqual(pageSize, pagedResult.PageSize);
            Assert.AreEqual(error2.Message, pagedResult.Result.ElementAt(0).Message);
            Assert.AreEqual(error1.Message, pagedResult.Result.ElementAt(1).Message);
            Assert.AreEqual(error3.Message, pagedResult.Result.ElementAt(2).Message);
            Assert.AreEqual(error4.Message, pagedResult.Result.ElementAt(3).Message);
        }
Beispiel #13
0
        public string StopSearch([FromBody] JObject JsonReferralCode)
        {
            var referralCode = JsonReferralCode["referralCode"]?.ToString();
            var ip           = HttpContext.Connection.RemoteIpAddress;

            searchRepository = new SearchRepository();
            errorRepository  = new ErrorRepository();
            userRepository   = new UserRepository();


            errorRepository.LogIpAndCheckForDDOS(ip.ToString());

            var validationPass = ValidationHelper.ValidateReferralCode(referralCode);

            if (!validationPass)
            {
                return("Invalid Referral Code");
            }

            if (!bool.Parse(userRepository.CheckIfUserExists(referralCode)))
            {
                return("Error. User does not exist.");
            }

            var removedSuccessfully = searchRepository.RemoveSearchingRecord(referralCode);

            if (!removedSuccessfully)
            {
                return("Error Occurred.");
            }

            userRepository.InsertTrackingRecord(referralCode, "User Stopped Searching", $"{referralCode} has cancelled search.");

            return("Successfully Removed.");
        }
        static AppActs.API.Service.Interface.IDeviceService setup()
        {
            MongoClient client   = new MongoClient(ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString);
            string      database = ConfigurationManager.AppSettings["database"];

            AppActs.Repository.Interface.IApplicationRepository applicationRepository = new AppActs.Repository.ApplicationRepository(client, database);
            IDeviceRepository      deviceRepository   = new DeviceRepository(new DeviceMapper(client, database));
            IFeedbackRepository    feedbackRepository = new FeedbackRepository(new FeedbackMapper(client, database));
            IEventRepository       eventRep           = new EventRepository(new EventMapper(client, database));
            ICrashRepository       crashRep           = new CrashRepository(new CrashMapper(client, database));
            IAppUserRepository     appUserRep         = new AppUserRepository(new AppUserMapper(client, database));
            IErrorRepository       errorRep           = new ErrorRepository(new ErrorMapper(client, database));
            ISystemErrorRepository systemErrorRep     = new SystemErrorRepository(new SystemErrorMapper(client, database));

            return(new DeviceService
                   (
                       deviceRepository,
                       errorRep,
                       eventRep,
                       crashRep,
                       feedbackRepository,
                       systemErrorRep,
                       appUserRep,
                       applicationRepository,
                       new Model.Settings()
            {
                DataLoggingRecordRaw = true,
                DataLoggingRecordSystemErrors = true
            }
                   ));
        }
        public void Initialize()
        {
            InMemoryDatabaseSessionFactory.CreateDatabase();

            var databaseSessionFactory = new InMemoryDatabaseSessionFactory();

            ErrorRepository = new ErrorRepository(databaseSessionFactory);
        }
Beispiel #16
0
        public void Remove_CalledTwiceShouldThrowException()
        {
            Error error = GetValidDomainError();

            ErrorRepository.Add(error);
            ErrorRepository.Remove(error);
            ErrorRepository.Remove(error);
        }
Beispiel #17
0
        public void Remove_ShouldReturnCorrectResult()
        {
            var error = GetValidDomainError();

            Assert.AreEqual(0, error.Id); // Não salvo ainda.
            ErrorRepository.Add(error);

            ErrorRepository.Remove(error);
        }
Beispiel #18
0
        public void FindById_OnRemovedObjectShouldReturnNull()
        {
            Error error = GetValidDomainError();

            ErrorRepository.Add(error);
            ErrorRepository.Remove(error);
            Error loadedError = ErrorRepository.FindById(error.Id);

            Assert.IsNull(loadedError);
        }
Beispiel #19
0
        public void Add_ShouldReturnCorrectResult()
        {
            var error = GetValidDomainError();

            Assert.AreEqual(0, error.Id); // Não salvo ainda.
            ErrorRepository.Add(error);

            Assert.IsNotNull(error);
            Assert.AreNotEqual(0, error.Id); // Já salvo.
        }
Beispiel #20
0
        public string GetNumberOfUsersSearching()
        {
            var ip = HttpContext.Connection.RemoteIpAddress;

            searchRepository = new SearchRepository();
            errorRepository  = new ErrorRepository();

            errorRepository.LogIpAndCheckForDDOS(ip.ToString());

            return(searchRepository.GetNumberOfUsersSearching());
        }
Beispiel #21
0
        public HttpResponseMessage AddEdit(Error error)
        {
            var repo   = new ErrorRepository();
            var entity = repo.AddEdit(error);

            var json = JsonConvert.SerializeObject(entity);

            return(new HttpResponseMessage {
                Content = new StringContent(json, Encoding.UTF8, "application/json")
            });
        }
Beispiel #22
0
        private void button1_Click(object sender, EventArgs e)
        {
            var message = richTextBox1.Text;

            var result = ErrorRepository.CreateError(message);

            if (result)
            {
                MessageBox.Show("Rapor oluşturuldu");
            }
        }
Beispiel #23
0
        public string[] FindMatch([FromBody] JObject JsonReferralCode)
        {
            var referralCode = JsonReferralCode["referralCode"]?.ToString();
            var ip           = HttpContext.Connection.RemoteIpAddress;

            searchRepository = new SearchRepository();
            errorRepository  = new ErrorRepository();
            userRepository   = new UserRepository();

            errorRepository.LogIpAndCheckForDDOS(ip.ToString());

            var userFound = new string[2];

            var validationPass = ValidationHelper.ValidateReferralCode(referralCode);

            if (!validationPass)
            {
                return(new string[] { "Invalid Referral Code" });
            }

            if (!bool.Parse(userRepository.CheckIfUserExists(referralCode)))
            {
                return(new[] { "Error. User does not exist." });
            }

            //we will to write a function to ensure they are already searching just in case

            userFound = searchRepository.CheckIfUserAlreadyMatched(referralCode);

            //checkifuseralreadymatched will return an array either with the referralCode and username or a reason why that value was not returned
            if (userFound.Length == 2)
            {
                return(userFound);
            }

            userFound = searchRepository.FindAnotherUserSearching(referralCode);
            var matchedUserReferralCode = userFound[0];

            //findAnotherUserSearching returns an array of empty strings if no user if found
            if (matchedUserReferralCode == "" || matchedUserReferralCode == "Error Occurred.")
            {
                return(new[] { "No match found yet." });
            }

            //we will need to handle to the error strings that this function returns
            searchRepository.RemoveBothSearchingRecords(referralCode, matchedUserReferralCode);

            //we will need to handle to the error strings that this function returns
            searchRepository.InsertUserMatchedRecord(referralCode, matchedUserReferralCode);
            userRepository.InsertTrackingRecord(referralCode, "Found Match", $"{referralCode} has matched with {userFound[0]}.");

            return(userFound);
        }
Beispiel #24
0
        public TelegramChatBot()
        {
            Api = new TelegramBotClient(Settings.Default.TELEGRAM_API_KEY);

            UserRepository = new UserRepository();
            UserProcessStatusRepository = new RefusalWorkflowStatusRepository();
            ProductRepository           = new ProductRepository();
            RefusalRepository           = new RefusalRepository();
            RefusalTypeRepository       = new RefusalTypeRepository();
            ErrorRepository             = new ErrorRepository();

            BarCodeReader = new BarCodeRecognition();
        }
 public bool LogToErrorLog(Exception ex, String url)
 {
     try
     {
         var helper = _helper ?? ConnectionHelper.Helper();
         var repo   = new ErrorRepository(helper);
         repo.LogError(ex, url, -1, Names.Application.PerformanceDashboard);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
        public void ShouldAddNewWhenSave()
        {
            var fakeContext = new FakeContext("AddWhenSave");
            var data        = fakeContext.GetFakeData <Error>().First();

            data.Id = 0;

            using (var context = new CentralErrosContext(fakeContext.FakeOptions))
            {
                var service = new ErrorRepository(context);
                service.Save(data);

                Assert.NotEqual(0, context.Errors.First().Id);
            }
        }
Beispiel #27
0
        public void FindById_ShouldReturnCorrectResult()
        {
            Error originalError = GetValidDomainError();

            ErrorRepository.Add(originalError);

            Error loadedError = ErrorRepository.FindById(originalError.Id);

            Assert.IsNotNull(loadedError);
            Assert.AreEqual(originalError.Id, loadedError.Id);
            Assert.AreEqual(originalError.Message, loadedError.Message);
            Assert.AreEqual(originalError.Details, loadedError.Details);
            Assert.AreEqual(originalError.AdditionalInformation, loadedError.AdditionalInformation);
            Assert.AreEqual(originalError.Handled, loadedError.Handled);
        }
        public void ShouldGetAll()
        {
            var fakeContext = new FakeContext("GetAll");

            fakeContext.FillWith <Error>();

            using (var context = new CentralErrosContext(fakeContext.FakeOptions))
            {
                var expected = fakeContext.GetFakeData <Error>();
                var service  = new ErrorRepository(context);
                var actual   = service.GetAll();

                Assert.Equal(expected, actual, new ErrorIdComparer());
            }
        }
Beispiel #29
0
        protected override async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            using (var scope = scopeFactory.CreateScope())
            {
                try
                {
                    var    dbContext  = scope.ServiceProvider.GetRequiredService <ApplicationDbContext>();
                    string connString = dbContext.Database.GetDbConnection().ConnectionString;
                    var    userRepo   = new UserActivityRepository(connString);
                    var    errorRepo  = new ErrorRepository(connString);

                    var errorLogger        = new ErrorLoggerService(errorRepo);
                    var userActivityLogger = new UserActivityLogService(
                        userRepo,
                        errorLogger);


                    while (!cancellationToken.IsCancellationRequested)
                    {
                        if (await this._errorLogItems.QueueIsEmpty(cancellationToken) &&
                            await this._userActivityLogItems.QueueIsEmpty(cancellationToken))
                        {
                            await Task.Delay(TimeSpan.FromSeconds(10), cancellationToken);
                        }
                        else
                        {
                            if (await this._userActivityLogItems.QueueIsEmpty(cancellationToken) == false)
                            {
                                var item = await this._userActivityLogItems.DequeueAsync(cancellationToken);

                                await userActivityLogger.LogThisActivity((UserActivityLogItem)item);
                            }
                            if (await this._errorLogItems.QueueIsEmpty(cancellationToken) == false)
                            {
                                var item = await this._errorLogItems.DequeueAsync(cancellationToken);

                                errorLogger.LogError((ErrorLogItem)item);
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    StopAsync(cancellationToken);
                }
            }
        }
Beispiel #30
0
        private void GetErrorList()
        {
            var errors = ErrorRepository.GetErrorList();

            var i = 0;

            foreach (var item in errors)
            {
                var panel = new Panel();
                panel.Width     = 250;
                panel.Height    = 100;
                panel.Location  = new Point(9, 40 + (i * 120));
                panel.BackColor = Color.DarkRed;

                var datePanel = new Panel();
                datePanel.BackColor = Color.White;
                datePanel.Location  = new Point(0, 0);
                datePanel.Size      = new Size(100, 20);

                var dateLabel = new Label();
                dateLabel.Text      = item.CreateDate.ToLongDateString();
                dateLabel.ForeColor = Color.Black;

                datePanel.Controls.Add(dateLabel);

                var label = new Label();
                label.Text      = item.Message;
                label.Size      = new Size(230, 40);
                label.ForeColor = Color.White;
                label.Location  = new Point(10, 30);
                label.Font      = new Font("Microsoft Sans Serif", 10);

                var button = new CustomButton();
                button.Text        = "Tamamını Oku";
                button.MessageText = item.Message;
                button.Click      += new EventHandler(btnClick);
                button.BackColor   = Color.Beige;
                button.Location    = new Point(120, 70);
                button.Size        = new Size(120, 25);

                panel.Controls.Add(button);
                panel.Controls.Add(label);
                panel.Controls.Add(datePanel);
                groupBox4.Controls.Add(panel);
                i++;
            }
        }
        public void SaveThrowsDataAccessLayerException()
        {
            IErrorRepository iErrorRepository = new ErrorRepository(this.connectionString);

            iErrorRepository.Save
                (
                    0,
                    0,
                    new ErrorItem("07545197580", "searched",
                    new DeviceDynamicInformation(2342344423333332333, 2342344423333332333, 10),
                    new AppActs.DomainModel.Exception.DeviceException("some error", "strack trace", "source", "data"),
                    "someScreen",
                    Guid.NewGuid(),
                    DateTime.Now,
                    "1.1.1.1")
                );
        }
        public override void UpdateDocument(MongoCollection<BsonDocument> collection, BsonDocument document) {
            var errorRepository = new ErrorRepository(collection.Database, null, null, null);
            BsonValue id = document.GetDocumentId();
            if (id == null || !id.IsObjectId)
                return;

            Error error = errorRepository.GetById(id.ToString());
            if (error == null)
                return;

            if (document.Contains("sig"))
                document.Remove("sig");

            var signatureFactory = new ErrorSignatureFactory();
            // updates the document to set the IsSignatureTarget
            ErrorSignature signature = signatureFactory.GetSignature(error);
            errorRepository.Update(error);
        }
        public void Save()
        {
            IErrorRepository iErrorRepository = new ErrorRepository(this.connectionString);

            ErrorItem errorItem = new ErrorItem
                (
                    "data",
                    "eventName",
                    new DeviceDynamicInformation(2342344423333332333, 2342344423333332333, 50),
                    new AppActs.DomainModel.Exception.DeviceException("message", "stackTrace", "source", "data"),
                    "screenName",
                    Guid.NewGuid(),
                    DateTime.Now,
                    "1.1"
                );

            iErrorRepository.Save(this.Application.Id, this.Device.Id, errorItem);
        }
 public DataHelper(OrganizationRepository organizationRepository,
     ProjectRepository projectRepository,
     UserRepository userRepository,
     ErrorRepository errorRepository,
     ErrorStackRepository errorStackRepository,
     DayStackStatsRepository dayStackStats,
     MonthStackStatsRepository monthStackStats,
     DayProjectStatsRepository dayProjectStats,
     MonthProjectStatsRepository monthProjectStats,
     ErrorStatsHelper errorStatsHelper,
     BillingManager billingManager) {
     _organizationRepository = organizationRepository;
     _projectRepository = projectRepository;
     _userRepository = userRepository;
     _errorRepository = errorRepository;
     _errorStackRepository = errorStackRepository;
     _dayStackStats = dayStackStats;
     _monthStackStats = monthStackStats;
     _dayProjectStats = dayProjectStats;
     _monthProjectStats = monthProjectStats;
     _statsHelper = errorStatsHelper;
     _billingManager = billingManager;
 }
 public EnforceRetentionLimitsAction(ErrorRepository errorRepository, OrganizationRepository organizationRepository) {
     _errorRepository = errorRepository;
     _organizationRepository = organizationRepository;
 }
 public CheckForRegressionAction(ErrorStackRepository errorStackRepository, ErrorRepository errorRepository) {
     _errorStackRepository = errorStackRepository;
     _errorRepository = errorRepository;
 }
 public EnforceRetentionLimitsJob(OrganizationRepository organizationRepository, ErrorRepository errorRepository) {
     _organizationRepository = organizationRepository;
     _errorRepository = errorRepository;
 }
 public ThrottleBotsAction(ICacheClient cacheClient, ErrorRepository errorRepository) {
     _cacheClient = cacheClient;
     _errorRepository = errorRepository;
 }