public static DicomItem LongHashID(DicomDataset oldds, List <TagOrIndex> path, DicomItem item)
        {
            var el = item as DicomElement;

            Trace.Assert(el != null);

            var id = el.Get <string>();

            if (string.IsNullOrEmpty(id))
            {
                return(new DicomLongString(item.Tag, string.Empty));
            }

            return(new DicomLongString(item.Tag, HashingFunctions.HashID(id)));
        }
예제 #2
0
        public ActionResult Login(Login login)
        {
            string Mess = "";

            if (ModelState.IsValid)
            {
                var findUser = _usersRepository.GetUser(login.Nickname);
                if (findUser != null)
                {
                    if (findUser.EmailVerification) // if the account is verified
                    {
                        string tryLoginHashPassword = HashingFunctions.Hash(login.Password);
                        bool   rightPassword        = string.Equals(findUser.Password, tryLoginHashPassword);
                        if (rightPassword)
                        {
                            var        authenticationTicket = new FormsAuthenticationTicket(findUser.Nickname, true, 1440);// 1440m= 24h
                            string     encryptTicket        = FormsAuthentication.Encrypt(authenticationTicket);
                            HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptTicket)
                            {
                                Expires  = DateTime.Now.AddDays(1),
                                HttpOnly = true
                            };
                            Response.Cookies.Add(cookie);
                            return(RedirectToAction("Index", "App"));
                        }
                        else
                        {
                            Mess = "Dane logowania nieprawidłowe";
                        }
                    }
                    else
                    {
                        Mess = "Aktywuj sowje konto, link wysłano emailem na podany adres";
                    }
                }
                else
                {
                    Mess = "Dane logowania nieprawidłowe";
                }
            }
            else
            {
                Mess = "Błąd!!";
            }

            ViewBag.Message = Mess;
            return(View());
        }
예제 #3
0
        public ActionResult SetNewPassword(NewPassword newPass, string id)
        {
            bool isChanged        = false;
            var  findByUniqueCode = _usersRepository.GetUser(id);

            if (findByUniqueCode != null)
            {
                findByUniqueCode.Password   = HashingFunctions.Hash(newPass.Password);
                findByUniqueCode.UniqueCode = Guid.NewGuid();
                isChanged       = _usersRepository.EditUser(findByUniqueCode);
                ViewBag.Message = "Pomyślnie zminiono hasło.";
            }
            else
            {
                ViewBag.Message = "Niewłaściwy link";
            }

            ViewBag.IsChanged = isChanged;
            return(View());
        }
예제 #4
0
        public ActionResult Registration([Bind(Exclude = "EmailVerification,UniqueCode,Role")] User newUser)
        {
            bool   IsRegistered = false;
            string Mess         = "";

            if (ModelState.IsValid)
            {
                if (CheckNickNameExist(newUser.Nickname))
                {
                    ModelState.AddModelError("CheckNickNameExist", "Ktoś inny używa juz tego nicku, wybierz inny");
                    return(View(newUser));
                }
                if (CheckEmailExist(newUser.Email))
                {
                    ModelState.AddModelError("CheckEmailExist", "Ktoś inny używa juz tego adresu e-mail, wybierz inny");
                    return(View(newUser));
                }

                newUser.EmailVerification = false;          // account is not activate yet
                newUser.UniqueCode        = Guid.NewGuid(); // activating code

                newUser.Password        = HashingFunctions.Hash(newUser.Password);
                newUser.ConfirmPassword = HashingFunctions.Hash(newUser.ConfirmPassword);
                newUser.Role            = "User";

                try
                {
                    Mess         = _usersRepository.AddNewUser(newUser);
                    IsRegistered = true;
                }
                catch { Mess = "Błąd.W razie problemów skontatkuj się z administratorem witryny."; }
            }
            else
            {
                Mess = "Błąd!! Nie utworzono konta, spróbuj ponownie";
            }

            ViewBag.Message      = Mess;
            ViewBag.IsRegistered = IsRegistered;
            return(View(newUser));
        }
예제 #5
0
        public ActionResult Edit([Bind(Include = "Forename,Surname,Email,Password")] User edit)
        {
            string username = System.Web.HttpContext.Current.User.Identity.Name;
            var    user     = _usersRepository.GetUser(username);

            if (HashingFunctions.Hash(edit.Password) == user.Password)
            {
                user.Forename = edit.Forename;
                user.Surname  = edit.Surname;
                user.Email    = edit.Email;
                _usersRepository.EditUser(user);
                TempData["IndexMessage"] = "Dane konta zostały zminione";
            }
            else
            {
                ViewBag.EditMessage = "Nieprawidłowe hasło";
                return(View(edit));
            }

            return(RedirectToAction("Index", "App"));
        }
예제 #6
0
        public List <File> GetFiles(string folderPath, string username)
        {
            List <File> userFiles = new List <File>();

            foreach (var path in System.IO.Directory.GetFiles(folderPath))
            {
                string filename  = System.IO.Path.GetFileNameWithoutExtension(path);
                string extension = System.IO.Path.GetExtension(path);

                if (filename[0] != 126 && filename.Contains(username))//  is not temporary file and contains user nick
                {
                    userFiles.Add(new File
                    {
                        FileName  = filename,
                        Extension = extension,
                        FilePaht  = path,
                        Hash      = HashingFunctions.InfoHash(filename + extension)
                    });
                }
            }
            return(userFiles);
        }
예제 #7
0
        public List <File> GetFiles(string folderPath)
        {
            List <File> filesList = new List <File>();

            foreach (var path in System.IO.Directory.GetFiles(folderPath))
            {
                string filename  = System.IO.Path.GetFileNameWithoutExtension(path);
                string extension = System.IO.Path.GetExtension(path);

                if (filename[0] != 126)
                {
                    filesList.Add(new File
                    {
                        FileName  = filename,
                        Extension = extension,
                        FilePaht  = path,
                        Hash      = HashingFunctions.InfoHash(filename + extension),
                    });
                }
            }
            return(filesList);
        }