示例#1
0
        internal InlineKeyboardMarkup setMark(UserVulnerabilityDB vulnerabilityDB)
        {
            var numberToInput = (vulnerabilityDB.threats == null) ? "threats" : (vulnerabilityDB.techDamage == null) ? "techDamage" :
                                (vulnerabilityDB.bizDamage == null) ? "bizDamage" : "";

            numberToInput += "," + vulnerabilityDB.vulnerability.id;
            return(new InlineKeyboardMarkup(new[]
            {
                new []
                {
                    InlineKeyboardButton.WithCallbackData("1", "1," + numberToInput),
                    InlineKeyboardButton.WithCallbackData("2", "2," + numberToInput),
                    InlineKeyboardButton.WithCallbackData("3", "3," + numberToInput),
                    InlineKeyboardButton.WithCallbackData("4", "4," + numberToInput),
                    InlineKeyboardButton.WithCallbackData("5", "5," + numberToInput),
                },
                new []
                {
                    InlineKeyboardButton.WithCallbackData("6", "6," + numberToInput),
                    InlineKeyboardButton.WithCallbackData("7", "7," + numberToInput),
                    InlineKeyboardButton.WithCallbackData("8", "8," + numberToInput),
                    InlineKeyboardButton.WithCallbackData("9", "9," + numberToInput),
                    InlineKeyboardButton.WithCallbackData("10", "10," + numberToInput),
                },
            }));;
        }
        internal UserVulnerabilityDB FindTask(long userId)
        {
            var emptyVuln = GetAllEmptyVulnerabilities();
            var userVulnerabilityDBsID = crudUserVulnerabilitesDB.GetObjects().Select(x => x.vulnerability_id).ToList();

            UserVulnerabilityDB newUserVulnerabilityDB = null;

            foreach (var proccedVuln in emptyVuln)//emptyVuln.Where(inv => !userVulnerabilityDBsID.Contains(inv.id)).ToList())
            {
                newUserVulnerabilityDB = crudUserVulnerabilitesDB.ReadByUserVuln(userId, proccedVuln.id);
                if (newUserVulnerabilityDB == null)
                {
                    newUserVulnerabilityDB = new UserVulnerabilityDB(Convert.ToInt32(userId), proccedVuln.id);
                    crudUserVulnerabilitesDB.Create(newUserVulnerabilityDB);
                    break;
                }
                else if (newUserVulnerabilityDB.techDamage == null || newUserVulnerabilityDB.bizDamage == null ||
                         newUserVulnerabilityDB.threats == null)
                {
                    break;
                }
                else
                {
                    newUserVulnerabilityDB = null;
                }
            }
            if (newUserVulnerabilityDB == null)
            {
                return(null);
            }

            newUserVulnerabilityDB = crudUserVulnerabilitesDB.ReadByUserVuln(newUserVulnerabilityDB.userid, newUserVulnerabilityDB.vulnerability_id);
            return(newUserVulnerabilityDB);
        }
示例#3
0
        internal string textAboutVuln(UserVulnerabilityDB vulnerabilityDB)
        {
            var markFor = (vulnerabilityDB.threats == null) ? "threats" : (vulnerabilityDB.techDamage == null) ? "tech damage" :
                          (vulnerabilityDB.bizDamage == null) ? "biznes damage" : "";

            return("Vulnerability name: " + vulnerabilityDB.vulnerability.name + "\n" +
                   "Description: " + vulnerabilityDB.vulnerability.description + "\n" +
                   "Make an assessment of " + markFor);
        }
 public void Delet(UserVulnerabilityDB obj)
 {
     context = new Context();
     obj     = context.userVulnerabilityDBs.Find(obj.id);
     if (obj == null)
     {
         return;
     }
     context.userVulnerabilityDBs.Remove(obj);
     context.SaveChanges();
 }
        internal UserVulnerabilityDB UserCreateMark(int mark, string v, long vulnId, long userId)
        {
            var  userVulnDB = crudUserVulnerabilitesDB.ReadByUserVuln(userId, vulnId);
            bool ifNew      = false;

            if (userVulnDB == null)
            {
                ifNew      = true;
                userVulnDB = new UserVulnerabilityDB(userId, vulnId);
            }

            switch (v)
            {
            case "threats":
                if (userVulnDB.threats != null)
                {
                    return(null);
                }
                userVulnDB.threats = mark;
                break;

            case "techDamage":
                if (userVulnDB.techDamage != null)
                {
                    return(null);
                }
                userVulnDB.techDamage = mark;
                break;

            case "bizDamage":
                if (userVulnDB.bizDamage != null)
                {
                    return(null);
                }
                userVulnDB.bizDamage = mark;
                break;

            default:
                return(null);
            }
            if (ifNew)
            {
                crudUserVulnerabilitesDB.Create(userVulnDB);
            }
            else
            {
                crudUserVulnerabilitesDB.Update(userVulnDB);
            }
            if (userVulnDB != null)
            {
                userVulnDB.vulnerability = crudVulnerabilityDB.Read(userVulnDB.vulnerability_id);
            }
            return(userVulnDB);
        }
        public void Update(UserVulnerabilityDB obj)
        {
            context = new Context();
            var entity = context.userVulnerabilityDBs.Find(obj.id);

            if (entity == null)
            {
                return;
            }

            context.Entry(entity).CurrentValues.SetValues(obj);
            context.SaveChanges();
            return;
        }
示例#7
0
 private bool FindNewWork(long userId)
 {
     if (!modelVulnerabilityDB.FindEmptyVuln())
     {
         SendOneMessage(userId, view.nothingToDo, null);
     }
     else
     {
         UserVulnerabilityDB vuln = modelVulnerabilityDB.FindTask(userId);
         if (vuln == null)
         {
             SendOneMessage(userId, view.nothingToDo, null);
         }
         else
         {
             SendOneInlineMessage(userId, view.textAboutVuln(vuln), view.setMark(vuln));
             return(false);
         }
     }
     return(true);
 }
 public void Create(UserVulnerabilityDB userVulnerabilityDB)
 {
     context = new Context();
     context.userVulnerabilityDBs.Add(userVulnerabilityDB);
     context.SaveChanges();
 }