示例#1
0
        public IActionResult Create(DrugModel drugModel)
        {
            try
            {
                int? userId = HttpContext.Session.GetInt32("userId");
                User user   = _context.Users.Where(u => u.Id == userId)
                              .Include(u => u.Applicant)
                              .Include(u => u.Manufacturer)
                              .FirstOrDefault();

                if (user != null && user.Applicant != null)
                {
                    if (ModelState.IsValid !)
                    {
                        Drug drug = new Drug
                        {
                            TradeName         = drugModel.TradeName,
                            InternationalName = drugModel.InternationalName,
                            Form      = drugModel.Form,
                            Formula   = drugModel.Formula,
                            Applicant = user.Applicant
                        };
                        _context.Drugs.Add(drug);
                        _context.SaveChanges();
                        return(RedirectToAction("Personal", "Drug"));
                    }
                    return(View());
                }
            }
            catch { }
            return(RedirectToAction("Login", "User"));
        }
示例#2
0
        public IActionResult Register(Registration registration)
        {
            if (ModelState.IsValid)
            {
                User existingUser = _context.Users.Where(u => u.Email == registration.Email).FirstOrDefault();
                if (existingUser == null)
                {
                    if (registration.Password1 == registration.Password2)
                    {
                        User user = new User
                        {
                            Email    = registration.Email,
                            Password = PasswordHandler.CreatePasswordHash(registration.Password1)
                        };

                        _context.Users.Add(user);
                        _context.SaveChanges();

                        if (registration.RegistrationType == "Applicant")
                        {
                            Applicant applicant = new Applicant
                            {
                                Name          = registration.Name,
                                Country       = registration.Country,
                                City          = registration.City,
                                StreetAddress = registration.StreetAddress,
                                UserId        = user.Id
                            };

                            _context.Applicants.Add(applicant);
                            _context.SaveChanges();
                        }
                        else if (registration.RegistrationType == "Manufacturer")
                        {
                            Manufacturer manufacturer = new Manufacturer
                            {
                                Name          = registration.Name,
                                Country       = registration.Country,
                                City          = registration.City,
                                StreetAddress = registration.StreetAddress,
                                UserId        = user.Id
                            };

                            _context.Manufacturers.Add(manufacturer);
                            _context.SaveChanges();
                        }

                        return(RedirectToAction("Login", "User"));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, "Passwords aren't the same");
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Email is already taken");
                }
            }
            return(View(registration));
        }