Beispiel #1
0
        public ActionResult Details(Guid documentID)
        {
            DocumentDetailsViewModel viewModel = new DocumentDetailsViewModel()
            {
                AllowDocumentDisplay = true,
                Details = _repository.GetDocumentDetails(documentID)
            };

            if (viewModel.Details.Document == null)
            {
                viewModel.AllowDocumentDisplay = false;
                viewModel.DenyMessage          = "Dokument nie istnieje.";
            }
            else if (!AppContext.GetCIDs().Contains(viewModel.Details.Document.ClientID))
            {
                viewModel.AllowDocumentDisplay = false;
                viewModel.DenyMessage          = "Nie masz uprawnieñ do tego dokumentu.";
            }
            else
            {
                if (viewModel.Details.Document.ClientID != AppContext.GetCID())
                {
                    AppContext.ChangeClient(viewModel.Details.Document.ClientID);
                }
            }

            return(View(viewModel));
        }
Beispiel #2
0
        public ActionResult Users()
        {
            string clientName = string.Empty;

            IList <MembershipUser> users;

            if (AppContext.IsClientAdmin() && !AppContext.IsClientAdminButInOtherContext())
            {
                users = MembershipService.GetAllUsers();
            }
            else
            {
                clientName = new ClientsRepository().GetClientName(AppContext.GetCID());
                users      = MembershipService.GetClientUsers(AppContext.GetCID());
            }



            UsersViewModel viewModel = new UsersViewModel()
            {
                Users      = users,
                ClientName = clientName
            };

            return(View(viewModel));
        }
Beispiel #3
0
        private EditGroupViewModel GetNewGroupViewModel()
        {
            string[]      allRoles = Roles.GetAllRoles();
            List <string> tmp      = new List <string>(allRoles);

            tmp.Remove(RoleNames.RemoteScansImport);
            if (!AppContext.IsClientAdmin())
            {
                tmp.Remove(RoleNames.ClientAdministrator);
            }
            allRoles = tmp.ToArray();

            List <MembershipUser> allUsers;

            if (AppContext.IsClientAdmin())
            {
                allUsers = MembershipService.GetAllUsers();
            }
            else
            {
                allUsers = MembershipService.GetClientUsers(AppContext.GetCID());
            }

            EditGroupViewModel viewModel = new EditGroupViewModel()
            {
                Group      = new Group(),
                AllRoles   = allRoles,
                Clients    = new ClientsRepository().GetUserClients(AppContext.GetUserGuid()),
                GroupRoles = new List <string>(),
                AllUsers   = allUsers,
                GroupUsers = new List <MembershipUser>()
            };

            return(viewModel);
        }
Beispiel #4
0
        public ActionResult Edit(Guid documentID)
        {
            ScansRepository scansRepository = new ScansRepository();

            ScanBrowser scans = ScanBrowserFactory.Create();

            DocumentEditViewModel viewModel = new DocumentEditViewModel()
            {
                AllowDocumentDisplay = true,
                Details           = _repository.GetDocumentDetails(documentID),
                Categories        = _dictRepository.GetCategories().ToList(),
                Senders           = _dictRepository.GetSenders().ToList(),
                Types2            = _dictRepository.GetTypes2().ToList(),
                ScanSelectorModel = new ScanSelectorViewModel()
                {
                    AvailableScans  = scansRepository.GetAvailableScans().ToList(),
                    AllScansCount   = scans.GetScansCount(true),
                    KnownScansCount = scans.GetScansCount(false)
                }
            };

            #region Check if user can display this document
            if (viewModel.Details.Document == null)
            {
                viewModel.AllowDocumentDisplay = false;
                viewModel.DenyMessage          = "Dokument nie istnieje.";
            }
            else if (!AppContext.GetCIDs().Contains(viewModel.Details.Document.ClientID))
            {
                viewModel.AllowDocumentDisplay = false;
                viewModel.DenyMessage          = "Nie masz uprawnieñ do tego dokumentu.";
            }
            else
            {
                if (viewModel.Details.Document.ClientID != AppContext.GetCID())
                {
                    AppContext.ChangeClient(viewModel.Details.Document.ClientID);
                }
            }
            #endregion

            if (viewModel.Details.InfoTypeOne != null && viewModel.Details.InfoTypeOne.CategoryID.HasValue)
            {
                viewModel.Types = _dictRepository.GetTypes(viewModel.Details.InfoTypeOne.CategoryID.Value).ToList();
            }

            return(View(viewModel));
        }
Beispiel #5
0
        public JsonResult CreateSender(string firstName, string lastName, string company, string position,
                                       string email, string webpage, string phonehome, string phonemobile, string phonework,
                                       string faxwork, string postCode, string city, string street, string building, string flat, string post, string notes)
        {
            DictionaryRepository _repository = new DictionaryRepository();

            Sender sender = new Sender()
            {
                FirstName   = firstName,
                LastName    = lastName,
                Company     = company,
                Position    = position,
                Email       = email,
                Webpage     = webpage,
                PhoneHome   = phonehome,
                PhoneMobile = phonemobile,
                PhoneWork   = phonework,
                FaxWork     = faxwork,
                PostCode    = postCode,
                Post        = post,
                City        = city,
                Street      = street,
                Building    = building,
                Flat        = flat,
                Notes       = notes,
                ClientID    = AppContext.GetCID()
            };

            _repository.CreateSender(sender);
            _repository.SubmitChanges();

            List <Sender> senders = _repository.GetSenders().ToList();

            List <SelectListItem> list = new List <SelectListItem>();

            foreach (Sender s in senders)
            {
                bool selected = (s.FirstName.Equals(firstName) && s.LastName.Equals(lastName) && s.Company.Equals(company));
                list.Add(new SelectListItem()
                {
                    Text     = s.FullName,
                    Value    = s.SenderID.ToString(),
                    Selected = selected
                });
            }

            return(Json(list));
        }
Beispiel #6
0
        public ActionResult EditGroup(Guid id)
        {
            // Guid guid = new Guid((string)id);
            string[]      allRoles = Roles.GetAllRoles();
            List <string> tmp      = new List <string>(allRoles);

            tmp.Remove(RoleNames.RemoteScansImport);
            if (!AppContext.IsClientAdmin())
            {
                tmp.Remove(RoleNames.ClientAdministrator);
            }
            allRoles = tmp.ToArray();

            List <string> roles = new List <string>();

            List <MembershipUser> allUsers;

            if (AppContext.IsClientAdmin())
            {
                allUsers = MembershipService.GetAllUsers();
            }
            else
            {
                allUsers = MembershipService.GetClientUsers(AppContext.GetCID());
            }

            EditGroupViewModel viewModel = new EditGroupViewModel()
            {
                Group      = _repository.GetGroup(id),
                AllRoles   = allRoles,
                Clients    = new ClientsRepository().GetUserClients(AppContext.GetUserGuid()),
                GroupRoles = _repository.GetGroupRoles(id),
                AllUsers   = allUsers,
                GroupUsers = MembershipService.GetMembershipUsersByGuids(_repository.GetGroupUsers(id)),
            };

            return(View(viewModel));
        }
Beispiel #7
0
 public ActionResult NewSender(FormCollection formValues)
 {
     if (formValues["Submit"] == Resources.Strings.S64)
     {
         Sender sender = new Sender();
         UpdateModel <Sender>(sender);
         sender.ClientID = AppContext.GetCID();
         if (ValidateSender(sender))
         {
             _repository.CreateSender(sender);
             _repository.SubmitChanges();
             return(RedirectToAction("Senders"));
         }
         else
         {
             return(View());
         }
     }
     else
     {
         return(RedirectToAction("Senders"));
     }
 }
Beispiel #8
0
        public static bool IsUserInRoleInContext(string RoleName)
        {
            try
            {
                MembershipUser user = Membership.GetUser();

                //tego wpuszczamy zawsze
                if (Roles.IsUserInRole(user.UserName, RoleNames.ClientAdministrator))
                {
                    return(true);
                }

                EArchiverDataContext ctx = new EArchiverDataContext();
                var roles = ctx.GetUserRolesInClient((Guid)user.ProviderUserKey, AppContext.GetCID());

                return(roles.Where(r => r.RoleName == RoleName).Count() > 0);
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(ex.Message);
                return(false);
            }
        }
Beispiel #9
0
        public ActionResult UploadScanVersion(Guid originalID, Guid documentID, HttpPostedFileBase file)
        {
            if (file != null)
            {
                ScansRepository scanRepo    = new ScansRepository();
                Scan            visibleScan = scanRepo.GetScan(originalID);

                //jeœli skan jest dodany do dokumentu podczas tej edycji, to nie mam jeszcze przypisanego ID dokumentu
                if (!visibleScan.DocumentID.HasValue)
                {
                    _repository.SetDocumentScan(visibleScan.ScanID, documentID);
                    _repository.SubmitChanges();
                }

                if (visibleScan.OriginalScanID.HasValue)
                {
                    originalID = visibleScan.OriginalScanID.Value;
                }

                ScanBrowser browser = ScanBrowserFactory.Create();
                byte[]      content = new byte[file.ContentLength];
                file.InputStream.Read(content, 0, file.ContentLength);
                ScanInfo info = browser.GetScanFromFile(content, file.FileName);
                try
                {
                    _repository.AddScanVersion(originalID, info.FileName, info.MimeType, info.Scan, info.ScanPreview ?? new byte[0], "image/png", info.ScanZoom ?? new byte[0], AppContext.GetCID());
                }
                catch { }
            }

            return(RedirectToAction("Edit", new { documentID = documentID }));// (result);
        }
Beispiel #10
0
        public ActionResult SetRemoteScansUserPassword()
        {
            MembershipUser rsUser;

            string clientRSUserName = string.Format("{0}RSUser", AppContext.GetClientPrefix());


            if (Membership.FindUsersByName(clientRSUserName).Count == 0)
            {
                rsUser = Membership.CreateUser(clientRSUserName, "password");
                if (!Roles.IsUserInRole(clientRSUserName, RoleNames.RemoteScansImport))
                {
                    Roles.AddUserToRole(clientRSUserName, RoleNames.RemoteScansImport);
                }
                new ClientsRepository().AssignUserToClient((Guid)rsUser.ProviderUserKey, AppContext.GetCID());
            }

            rsUser = Membership.GetUser(clientRSUserName);
            if (rsUser.IsLockedOut)
            {
                rsUser.UnlockUser();
            }
            return(View());
        }
Beispiel #11
0
        public ActionResult NewUser(FormCollection formValues, string Login, string Name, string Email)
        {
            bool validationFailed = false;

            if (formValues["Submit"].Equals("Zapisz", StringComparison.InvariantCultureIgnoreCase))
            {
                string userName       = formValues["Login"];
                string password       = formValues["Password"];
                string repeatPassword = formValues["RepeatPassword"];
                string email          = formValues["UserEmail"];
                bool   isActive       = !formValues["Active"].Equals("false");


                if (ValidateRegistration(userName, password, repeatPassword))
                {
                    MembershipCreateStatus createStatus;
                    MembershipUser         user = MembershipService.CreateUser(userName, password, email, isActive, out createStatus);

                    if (createStatus == MembershipCreateStatus.Success)
                    {
                        user.Comment = formValues["Name"];
                        Membership.UpdateUser(user);
                        Guid id = (Guid)user.ProviderUserKey;
                        new ClientsRepository().AssignUserToClient(id, AppContext.GetCID());

                        #region Add/Remove Groups

                        List <string> userGroups;
                        if (formValues["UserGroups"] != null)
                        {
                            //lista grup uzytkownika po zmianie
                            userGroups = new List <string>(formValues["UserGroups"].Split(new char[] { ',' }));
                        }
                        else
                        {
                            userGroups = new List <string>();
                        }

                        List <Guid> userGroupsBefore = _repository.GetUserGroups(id).Select(g => g.GroupId).ToList();

                        List <Guid> groupsToAdd    = new List <Guid>();
                        List <Guid> groupsToRemove = new List <Guid>();

                        foreach (Guid groupId in userGroupsBefore)
                        {
                            if (!userGroups.Contains(groupId.ToString()))
                            {
                                groupsToRemove.Add(groupId);
                            }
                        }
                        foreach (string groupId in userGroups)
                        {
                            Guid g = new Guid(groupId);
                            if (!userGroupsBefore.Contains(g))
                            {
                                groupsToAdd.Add(g);
                            }
                        }

                        _repository.RemoveUserFromGroups(id, groupsToRemove);
                        _repository.AddUserToGroups(id, groupsToAdd);

                        #endregion

                        _repository.SubmitChanges();
                    }
                    else
                    {
                        ModelState.AddModelError("_FORM", ErrorCodeToString(createStatus));
                        validationFailed = true;
                    }
                }
                else
                {
                    validationFailed = true;
                }
            }

            if (validationFailed)
            {
                EditUserViewModel viewModel = new EditUserViewModel()
                {
                    AllGroups  = _repository.GetGroups().ToList(),
                    UserGroups = new List <Group>()
                };
                return(View(viewModel));
            }

            return(RedirectToAction("Users"));
        }