Example #1
0
        public async Task <IActionResult> RegisterCase(UserCaseViewModel model)
        {
            var user = await userManager.GetUserAsync(HttpContext.User);

            var newCase = new Case()
            {
                AppUser   = user,
                Details   = model.Details,
                TimeStamp = DateTime.Now,
                Type      = model.Type
            };

            await dbContect.Cases.AddAsync(newCase);

            await dbContect.SaveChangesAsync();

            //Console.WriteLine(registeredCase);

            var userCase = new UserCase()
            {
                AppUserId = user.Id,
                Stamp     = DateTime.Now,
                Case      = newCase,
                CaseId    = newCase.CaseId,
                User      = user,
                ContactNo = model.ContactNo
            };

            await dbContect.UserCase.AddAsync(userCase);

            await dbContect.SaveChangesAsync();

            return(View());
        }
Example #2
0
        public static IList <UserCase> GenerateRequests(int totalCount, int rejectedPercent = 15)
        {
            var rejectedNumber = (totalCount / 100) * rejectedPercent;

            if (rejectedPercent < 1)
            {
                rejectedNumber = 1;
            }
            var userCases = new List <UserCase>();

            //for items inside one of three generated parameters wouldn't pass validation
            for (var i = 0; i < rejectedNumber; i++)
            {
                var rand  = new Random().Next(0, 30);
                var @case = new UserCase
                {
                    PersonalCode = rand >= 10 && rand < 20 ?
                                   $"{rand}{i}{rand * 2}{(i * 2).ToString().Substring(1)}{(char)rand}{i}{(i * 2).ToString().Substring(1)}{rand * 3}" :
                                   $"{rand}{i}{rand * 2}{(i * 2).ToString().Substring(1)}-{i}{(i * 2).ToString().Substring(1)}{rand * 3}",
                    FirstName             = rand >= 0 && rand < 5 ? "" : RandomString(rand * 2),
                    LastName              = rand >= 5 && rand < 10 ? "" : RandomString(rand),
                    ExpectedMonthlyIncome = rand >= 20 && rand <= 30 ? rand * rand : rand * rand * (rand / 10)
                };
                userCases.Add(@case);
            }
            var approvedNumber = totalCount - rejectedNumber;

            //here for all three generated params we have correct values
            for (var i = 0; i < approvedNumber; i++)
            {
                var rand  = new Random().Next(13, 20);
                var @case = new UserCase
                {
                    PersonalCode          = $"{rand}{i}{rand * 2}{(i * 2).ToString().Substring(1)}-{i}{(i * 2).ToString().Substring(1)}{rand * 3}",
                    FirstName             = RandomString(rand * 2),
                    LastName              = RandomString(rand),
                    ExpectedMonthlyIncome = rand * rand * rand
                };
                userCases.Add(@case);
            }
            return(userCases);
        }
 private bool CheckPersonalCode(UserCase request)
 {
     return(!string.IsNullOrWhiteSpace(request.PersonalCode) &&
            request.PersonalCode.Contains("-") &&
            request.PersonalCode.Split('-').Length == 2);
 }
 //here we just validate it is correct number; is it enough and other prerequisites are not to be decided on that node
 private bool CheckIncome(UserCase request)
 {
     return(request.ExpectedMonthlyIncome >= 0);
 }
 private bool CheckName(UserCase request)
 {
     return(!string.IsNullOrWhiteSpace(request.FirstName) && !string.IsNullOrWhiteSpace(request.LastName));
 }