Exemple #1
0
        public ActionResult Register(ValdytojoRegictracijosViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    bool userExists  = repository.Set <Darbuotojas>().Any(x => x.el_pastas == model.Email);
                    bool userExists2 = repository.Set <Klientas>().Any(x => x.el_pastas == model.Email);
                    if (userExists || userExists2)
                    {
                        throw new ITPProException("Toks el. paštas jau registruotas sistemoje");
                    }
                    if (model.Password != model.RepeatPassword)
                    {
                        throw new ITPProException("Slaptažodis blogai įvestas");
                    }

                    byte[] salt;
                    new RNGCryptoServiceProvider().GetBytes(salt = new byte[16]);

                    var    pbkdf2 = new Rfc2898DeriveBytes(model.Password, salt, 10000);
                    byte[] hash   = pbkdf2.GetBytes(20);

                    byte[] hashBytes = new byte[36];
                    Array.Copy(salt, 0, hashBytes, 0, 16);
                    Array.Copy(hash, 0, hashBytes, 16, 20);
                    string savedPasswordHash = Convert.ToBase64String(hashBytes);

                    WebSecurity.CreateUserAndAccount(model.Email, model.Password, new
                    {
                        slaptazodis           = savedPasswordHash,
                        vardas                = model.Name,
                        pavarde               = model.Surname,
                        el_pastas             = model.Email,
                        adresas               = model.Address,
                        lytis                 = model.Gender,
                        telefonas             = model.Phone,
                        darbo_pradzios_laikas = DateTime.Now,
                        darbuotojo_tipas      = 1
                    });

                    return(RedirectToAction("Index", "Home"));
                }
            }
            catch (ITPProException ex)
            {
                ModelState.AddModelError("", ex.Message);
            }

            return(View(model));
        }
Exemple #2
0
        public ActionResult Register()
        {
            ValdytojoRegictracijosViewModel model = new ValdytojoRegictracijosViewModel();

            return(View(model));
        }
Exemple #3
0
        public ActionResult Register(ValdytojoRegictracijosViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    bool userExists  = repository.Set <Darbuotojas>().Any(x => x.el_pastas == model.Email);
                    bool userExists2 = repository.Set <Klientas>().Any(x => x.el_pastas == model.Email);
                    if (userExists || userExists2)
                    {
                        throw new ITPProException("Toks el. paštas jau registruotas sistemoje");
                    }
                    if (model.Password != model.RepeatPassword)
                    {
                        throw new ITPProException("Slaptažodis blogai įvestas");
                    }

                    byte[] salt;
                    new RNGCryptoServiceProvider().GetBytes(salt = new byte[16]);

                    var    pbkdf2 = new Rfc2898DeriveBytes(model.Password, salt, 10000);
                    byte[] hash   = pbkdf2.GetBytes(20);

                    byte[] hashBytes = new byte[36];
                    Array.Copy(salt, 0, hashBytes, 0, 16);
                    Array.Copy(hash, 0, hashBytes, 16, 20);
                    string savedPasswordHash = Convert.ToBase64String(hashBytes);

                    var client = repository.Set <Klientas>().Add(new Klientas
                    {
                        vardas        = model.Name,
                        pavarde       = model.Surname,
                        el_pastas     = model.Email,
                        slaptazodis   = savedPasswordHash,
                        adresas       = model.Address,
                        lytis         = model.Gender,
                        telefonas     = model.Phone,
                        sukurimo_data = DateTime.Now
                    });
                    repository.SaveChanges();
                    int           clientid  = repository.Set <Klientas>().Where(x => x.el_pastas == model.Email).Select(x => x.kliento_kodas).FirstOrDefault();
                    List <string> HotelsNet = repository.Set <Viesbutis>().Select(x => x.viesbuciu_tinklas).ToList();
                    List <string> uniqNet   = HotelsNet.Distinct().ToList();
                    if (uniqNet != null)
                    {
                        IEnumerable <Teisiu_Tipo_Enum> teisiu_tipas = repository.Set <Teisiu_Tipo_Enum>();
                        foreach (string value in uniqNet)
                        {
                            var rights = repository.Set <Teises>().Add(new Teises
                            {
                                teisiu_statusas          = true,
                                viesbuciu_tinklas        = value,
                                fk_Klientaskliento_kodas = clientid,
                                tipas    = teisiu_tipas.First(),
                                data_iki = DateTime.Now
                            });
                        }
                    }
                    repository.SaveChanges();

                    return(RedirectToAction("Index", "Home"));
                }
            }
            catch (ITPProException ex)
            {
                ModelState.AddModelError("", ex.Message);
            }

            return(View(model));
        }