public async Task <IActionResult> Create(InfoViewModel model)
        {
            if (ModelState.IsValid)
            {
                //validate if branc code exist
                if (!await Task.Run(() => context.Exist <tblBranch>((x) => x.Id == model.Branch_FK)))
                {
                    ViewBag.ErrorMessage = $"Brach with Id = {model.Branch_FK} cannot be found";
                    return(View("NotFound"));
                }

                //check if the user exist
                var user = await userManager.FindByIdAsync(model.User_FK);

                if (user == null)
                {
                    ViewBag.ErrorMessage = $"User with Id = {model.User_FK} cannot be found";
                    return(View("NotFound"));
                }

                //instatiate new instance of tblInfo
                tblInfo table = new tblInfo()
                {
                    Branch_FK   = model.Branch_FK,
                    Certificate = model.Certificate,
                    Created     = DateTime.Now,
                    Id          = Guid.NewGuid().ToString(),
                    User_FK     = model.User_FK
                };

                await context.AddAsync <tblInfo>(table);

                return(RedirectToAction("index"));
            }

            //get all branch codes
            ViewBag.Branches = await context.GetAsync <tblBranch>();

            return(View(model));
        }