Exemple #1
0
        public SearchInTeamPosts(IBusinessLogicFacade facade, IMediator mediator)
        {
            this.facade   = facade;
            this.mediator = mediator;

            SearchInPostsCommand = new RelayCommand(findMatches, canFindMatches);
        }
Exemple #2
0
        public void ApplyChanges(Order obj, IBusinessLogicFacade bl)
        {
            var target = obj;
            var source = this;

            target.Date      = DateTime.Now;
            target.From      = source.From;
            target.To        = source.To;
            target.OrderGuid = Guid.NewGuid();
            if (bl.IsAdmin || bl.IsVerwalter)
            {
                target.Entleiher = bl.GetUsers(source.Entleiher.Uid);
            }
            else
            {
                target.Entleiher = bl.GetUsers(bl.GetCurrentUid());
            }
            CreateOrderItems(obj, bl);
            target.Verwalter   = target.OrderItems.Select(i => i.Device.Person).FirstOrDefault();
            target.OrderReason = source.OrderReason;
            target.OrderStatus = source.OrderStatus == null
                ? bl.GetOrderStatus("offen")
                : bl.GetOrderStatus(source.OrderStatus.Slug);

            target.ReturnDate = source.ReturnDate;
        }
Exemple #3
0
        public TeamDetailViewModel(IBusinessLogicFacade facade, IMessageBoxService messageBoxService, IMediator mediator)
        {
            this.facade            = facade;
            this.messageBoxService = messageBoxService;
            this.mediator          = mediator;

            EditTeamMembersToggleVisibilityCommand     = new RelayCommand(EditTeamMembersToggleVisibility, LoggedUserIsAdminCheck);
            EditTeamInformationToggleVisibilityCommand = new RelayCommand(EditTeamInformationToggleVisibility, LoggedUserIsAdminCheck);
            ShowTeamPostsToggleVisibilityCommand       = new RelayCommand <TeamModel>(ShowTeamPostsToggleVisibility);

            CreateTeamCommand          = new RelayCommand <TeamModel>(SaveNewTeam, CanSaveNewTeam);
            DeleteTeamCommand          = new RelayCommand <TeamModel>(DeleteTeam, LoggedUserIsAdminCheck);
            EditTeamInformationCommand = new RelayCommand(UpdateTeamInformation, CanUpdateTeamInformation);

            mediator.Register <MyTeamSelectedMessage>(MyTeamSelected);
            mediator.Register <MyTeamSelectedMessage>(TurnVisibilityEditingToFalse);
            mediator.Register <MyTeamSelectedMessage>(TurnVisibilityCreatingToFalse);
            mediator.Register <UpdatedTeamSelectedMessage>(MyTeamUpdate);
            mediator.Register <EditTeamInformationToggleVisibilityMessage>(ToggleVisibilityEditingTeamInformation);
            mediator.Register <EditTeamMembersToggleVisibilityMessage>(TurnVisibilityEditingToFalse);
            mediator.Register <ShowTeamPostsToggleVisibilityMessage>(TurnVisibilityEditingToFalse);
            mediator.Register <CreateNewTeamMessage>(TurnVisibilityEditingToFalse);
            mediator.Register <CreateNewTeamMessage>(CreateNewTeam);
            mediator.Register <MyTeamsUpdated>(TurnVisibilityCreatingToFalse);
            mediator.Register <MyTeamsUpdated>(TurnVisibilityEditingToFalse);
            mediator.Register <UserAuthenticatedMessage>(LoadLoggedUser);
        }
        public void ApplyChanges(FieldGroup fg, IBusinessLogicFacade bl)
        {
            var target = fg;
            var source = this;


            if (target.Name == null)
            {
                target.Slug = SlugGenerator.GenerateSlug(bl, source.Name, "fieldGroup");
            }
            if (target.Name != null && !target.Name.Equals(source.Name))
            {
                target.Slug = SlugGenerator.GenerateSlug(bl, source.Name, "fieldGroup");
            }
            target.Name = source.Name;

            target.Fields = new List <Field>();
            source.Fields.ForEach(i =>
            {
                var f = bl.CreateField();
                i.ApplyChanges(f, bl);
                target.Fields.Add(f);
            });
            target.IsCountable = source.IsCountable;
            target.IsActive    = source.IsActive;
        }
        static ControllerHelper()
        {
            var mockPrincipal = new Mock <IBusinessLogicPrincipal>();

            mockPrincipal.Setup(x => x.IsAllowed).Returns(true);
            mockPrincipal.Setup(x => x.IsAdmin).Returns(true);
            mockPrincipal.Setup(x => x.IsVerwalter).Returns(true);
            mockPrincipal.Setup(x => x.CurrentUid).Returns("if15b032");
            _abl  = new AccessoryBusinessLogic(_dal, mockPrincipal.Object);
            _cbl  = new CustomFieldsBusinessLogic(_dal, mockPrincipal.Object);
            _dbl  = new DamageBusinessLogic(_dal, mockPrincipal.Object);
            _debl = new DeviceBusinessLogic(_dal, mockPrincipal.Object);
            _blbl = new BusinessLogic.BusinessLogic(_dal, mockPrincipal.Object);
            _obl  = new OrderBusinessLogic(_dal, mockPrincipal.Object);
            _sbl  = new SettingBusinessLogic(_dal, mockPrincipal.Object);
            _ubl  = new UserBusinessLogic(_dal, mockPrincipal.Object);
            _bl   = new BusinessLogicFacade(_dal, _blbl, _abl, _cbl, _dbl, _debl, _obl, _sbl, _ubl);

            Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
            var subject = new ClaimsIdentity("Federation", ClaimTypes.Name, ClaimTypes.Role);

            subject.AddClaim(new Claim(ClaimTypes.Role, "Admin", ClaimValueTypes.String));
            subject.AddClaim(new Claim(ClaimTypes.Name, "if15b032", ClaimValueTypes.String));
            Thread.CurrentPrincipal = new ClaimsPrincipal(subject);
        }
        protected ControllerTests()
        {
            var mockPrincipal = new Mock <IBusinessLogicPrincipal>();

            mockPrincipal.Setup(x => x.IsAllowed).Returns(true);
            mockPrincipal.Setup(x => x.IsAdmin).Returns(true);
            mockPrincipal.Setup(x => x.IsVerwalter).Returns(false);
            mockPrincipal.Setup(x => x.CurrentUid).Returns("if15b032");
            var abl  = new AccessoryBusinessLogic(Dal, mockPrincipal.Object);
            var cbl  = new CustomFieldsBusinessLogic(Dal, mockPrincipal.Object);
            var dbl  = new DamageBusinessLogic(Dal, mockPrincipal.Object);
            var debl = new DeviceBusinessLogic(Dal, mockPrincipal.Object);
            var blbl = new BusinessLogic.BusinessLogic(Dal, mockPrincipal.Object);
            var obl  = new OrderBusinessLogic(Dal, mockPrincipal.Object);
            var sbl  = new SettingBusinessLogic(Dal, mockPrincipal.Object);
            var ubl  = new UserBusinessLogic(Dal, mockPrincipal.Object);

            Bl = new BusinessLogicFacade(Dal, blbl, abl, cbl, dbl, debl, obl, sbl, ubl);
            Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
            var subject = new ClaimsIdentity("Federation", ClaimTypes.Name, ClaimTypes.Role);

            subject.AddClaim(new Claim(ClaimTypes.Role, "Admin", ClaimValueTypes.String));
            subject.AddClaim(new Claim(ClaimTypes.Name, "if15b032", ClaimValueTypes.String));
            _controllerContext = new ControllerContext
            {
                HttpContext = new DefaultHttpContext
                {
                    User = new ClaimsPrincipal(subject)
                }
            };
        }
Exemple #7
0
        public static string GenerateSlug(IBusinessLogicFacade bl, string value, string entity = null)
        {
            _bl = bl;

            //First to lower case
            value = value.ToLowerInvariant();

            //Replace ß with ss
            value = value.Replace("ß", "ss");

            //Replace spaces
            value = Regex.Replace(value, @"\s", "-", RegexOptions.Compiled);


            //Remove invalid chars
            value = Regex.Replace(value, @"[^a-z0-9\s-_]", "", RegexOptions.Compiled);

            //Trim dashes from end
            value = value.Trim('-', '_');

            //Replace double occurences of - or _
            value = Regex.Replace(value, @"([-_]){2,}", "$1", RegexOptions.Compiled);


            if (!string.IsNullOrWhiteSpace(entity))
            {
                value = CheckDuplicates(value, entity);
            }


            return(value);
        }
        public TeamsNewestPostsListViewModel(IBusinessLogicFacade facade, IMediator mediator)
        {
            this.facade   = facade;
            this.mediator = mediator;

            mediator.Register <UserAuthenticatedMessage>(LoadLoggedUser);

            //visibility and value loading handling
            mediator.Register <ShowTeamPostsToggleVisibilityMessage>(Load);
            mediator.Register <MyTeamSelectedMessage>(TurnVisibilityToFalse);
            mediator.Register <EditTeamInformationToggleVisibilityMessage>(TurnVisibilityToFalse);
            mediator.Register <EditTeamMembersToggleVisibilityMessage>(TurnVisibilityToFalse);
            mediator.Register <AddPostMessage>(TurnVisibilityToFalse);
            mediator.Register <CreateNewTeamMessage>(TurnVisibilityToFalse);

            mediator.Register <SearchWindowClosedMessage>(SearchWindowClosedReload);

            ShowMorePostsTeamCommand    = new RelayCommand(ShowMorePosts);
            ShowLessPostsTeamCommand    = new RelayCommand(ShowLessPosts);
            ShowMoreCommentsTeamCommand = new RelayCommand(ShowMoreComments);
            ShowLessCommentsTeamCommand = new RelayCommand(ShowLessComments);

            AddPostCommand    = new RelayCommand(AddPost, CanAddPost);
            AddCommentCommand = new RelayCommand <int?>(AddComment, CanAddComment);
            mediator.Register <CommentAddedMessage>(CommentAddedReload);
            mediator.Register <CloseCommentWindowTeamsMessage>(CloseCommentWindowHandle);

            DeletePostCommand = new RelayCommand <int?>(DeletePost, CanDeletePost);
        }
Exemple #9
0
        public Mail(Guid orderGuid, IBusinessLogicFacade bl, ILogger <Mail> log = null)
        {
            _bl  = bl;
            _log = log ?? new LoggerFactory().CreateLogger <Mail>();

            var un   = MailConfig.Current.UserName;
            var pw   = MailConfig.Current.Password;
            var ms   = MailConfig.Current.SmtpServer;
            var port = MailConfig.Current.Port;

            var cred = new NetworkCredential(un, pw);

            smtpClient = new SmtpClient(ms, port)
            {
                UseDefaultCredentials = false,
                DeliveryMethod        = SmtpDeliveryMethod.Network,
                EnableSsl             = false,
                Credentials           = cred
            };

            _order = _bl.GetOrders(orderGuid);
            string to   = _order.Entleiher.Email;
            string from = MailConstants.FromMailAddress;


            mail                 = new MailMessage(from, to);
            mail.IsBodyHtml      = true;
            mail.Subject         = MailConstants.Subject;
            mail.SubjectEncoding = Encoding.UTF8;


            mail.BodyEncoding = Encoding.UTF8;
            ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
        }
        public void ApplyChanges(DeviceStatus ds, IBusinessLogicFacade bl)
        {
            var target = ds;
            var source = this;

            target.Description = source.Description;
        }
Exemple #11
0
 public void Accept(Order obj, IBusinessLogicFacade bl)
 {
     obj.OrderStatus = bl.GetOrderStatus("akzeptiert");
     obj.OrderItems
     .Where(i => !i.IsDeclined)
     .ToList()
     .ForEach(i => i.Device.Status = bl.GetDeviceStatus(2));
 }
Exemple #12
0
 public CreateAccountViewModel(IBusinessLogicFacade facade, IMediator mediator)
 {
     this.facade          = facade;
     this.mediator        = mediator;
     CreateAccountCommand = new RelayCommand(createAccount, canCreateAccount);
     BackToLoginCommand   = new RelayCommand(backToLogin);
     mediator.Register <CreateAccountMessage>(displayRegisterPage);
 }
Exemple #13
0
        public void ApplyChanges(Field fg, IBusinessLogicFacade bl)
        {
            var target = fg;
            var source = this;

            target.Name = source.Name;
            target.Slug = SlugGenerator.GenerateSlug(bl, source.Name, "field");
        }
Exemple #14
0
        public void ApplyChanges(Setting obj, IBusinessLogicFacade bl)
        {
            var target = obj;
            var source = this;

            target.Key   = source.Key;
            target.Value = source.Value;
        }
 public ViewModelLocator()
 {
     mapper            = new Mapper();
     dbContextFactory  = new DefaultDbContextFactory();
     facade            = new BusinessLogicFacade(dbContextFactory, mapper);
     messageBoxService = new MessageBoxService();
     mediator          = new Mediator();
 }
Exemple #16
0
 public void Return(Order obj, IBusinessLogicFacade bl)
 {
     obj.OrderStatus = bl.GetOrderStatus("abgeschlossen");
     obj.OrderItems
     .Where(i => !i.IsDeclined)
     .ToList()
     .ForEach(i => i.Device.Status = bl.GetDeviceStatus(1));
     obj.ReturnDate = DateTime.Now;
 }
        public void ApplyChanges(DeviceMetaViewModel vmdl, IBusinessLogicFacade bl)
        {
            var target = vmdl;

            target.Fg = bl.GetFieldGroup(target.FieldGroupSlug);
            target.F  = target.Fg.Fields.SingleOrDefault(i => i.Name.Equals(target.Field));

            target.FieldGroup = bl.GetFieldGroup(target.FieldGroupSlug).Name;
            target.FieldSlug  = target.Fg.Fields.SingleOrDefault(i => i.Name.Equals(target.Field))?.Slug;
        }
Exemple #18
0
        public UserLightViewModel(IBusinessLogicFacade facade, IMessageBoxService messageBoxService, IMediator mediator)
        {
            this.facade            = facade;
            this.messageBoxService = messageBoxService;
            this.mediator          = mediator;

            UserDetailToggleVisibilityCommand = new RelayCommand <UserLightModel>(UserDetailToggleVisibility);

            mediator.Register <AccountUpdatedMessage>(AccountUpdated);
            mediator.Register <UserAuthenticatedMessage>(LoadUser);
        }
Exemple #19
0
        public TeamsMembersListViewModel(IBusinessLogicFacade facade, IMediator mediator)
        {
            this.facade   = facade;
            this.mediator = mediator;

            RemoveUserCommand            = new RelayCommand(RemoveMember, CanRemoveMember);
            DelegateAdminPositionCommand = new RelayCommand(DelegateAdminPosition, CanDelegateAdminPosition);

            mediator.Register <MyTeamSelectedMessage>(MyTeamMembersLoad);
            mediator.Register <TeamMembersUpdatedMessage>(UpdateCollection);
        }
        public void ApplyChanges(Accessory obj, IBusinessLogicFacade bl)
        {
            var target = obj;
            var source = this;

            if (target.Slug == null)
            {
                target.Slug = SlugGenerator.GenerateSlug(bl, source.Name, "accessory");
            }
            target.Name = source.Name;
        }
        public UserRecentActivityViewModel(IBusinessLogicFacade facade, IMessageBoxService messageBoxService, IMediator mediator)
        {
            this.facade            = facade;
            this.messageBoxService = messageBoxService;
            this.mediator          = mediator;

            mediator.Register <UserAuthenticatedMessage>(LoadLoggedUser);
            mediator.Register <PostAddedMessage>(ReloadContent);
            mediator.Register <CommentAddedMessage>(ReloadContent);
            mediator.Register <PostOrCommentDeletedMessage>(ReloadContent);
        }
        public void ApplyChanges(DeviceMeta dm, IBusinessLogicFacade bl)
        {
            var target = dm;
            var source = this;

            target.MetaValue      = source.Value;
            target.FieldGroupName = source.Fg.Name;
            target.FieldName      = source.Field;
            target.FieldGroupSlug = source.FieldGroupSlug;
            target.FieldSlug      = source.F.Slug;
        }
Exemple #23
0
        public MyTeamsListViewModel(IBusinessLogicFacade facade, IMediator mediator)
        {
            this.facade   = facade;
            this.mediator = mediator;

            MyTeamSelectedCommand = new RelayCommand <TeamLightModel>(MyTeamSelected);
            CreateNewTeamCommand  = new RelayCommand(CreateNewTeam);

            mediator.Register <MyTeamsUpdated>(ReloadTeams);
            mediator.Register <UserAuthenticatedMessage>(LoadLoggedUser);
        }
        public UserDetailViewModel(IBusinessLogicFacade facade, IMessageBoxService messageBoxService, IMediator mediator)
        {
            this.mediator          = mediator;
            this.facade            = facade;
            this.messageBoxService = messageBoxService;

            mediator.Register <UserDetailToggleVisibilityMessage>(UserDetailToggleVisibility);

            SaveAccountChangesCommand = new RelayCommand(SaveAccountChanges, CanSaveAccountChanges);
            ChangePasswordCommand     = new RelayCommand(ChangePassword, CanChangePassword);
            AddImageCommand           = new RelayCommand(AddImage);
        }
        public void ApplyChanges(DamageStatus obj, IBusinessLogicFacade bl)
        {
            var target = obj;
            var source = this;

            target.Name = source.Name;

            if (target.Slug == null)
            {
                target.Slug = SlugGenerator.GenerateSlug(bl, source.Name, "DamageStatus");
            }
        }
Exemple #26
0
        public ICollection <Device> FilteredListUser(IBusinessLogicFacade bl)
        {
            var metaViewModel = MetaQuery.Select(i =>
            {
                var deviceMeta = new DeviceMeta();
                i.ApplyValues(deviceMeta);
                return(deviceMeta);
            }).ToList();

            return(bl.GetFilteredDevicesUser(metaViewModel, DeviceType, Order, OrderBy, OnlyActive, IsVerwalterView)
                   .ToList());
        }
Exemple #27
0
 public void Reset(Order obj, IBusinessLogicFacade bl)
 {
     obj.OrderStatus = bl.GetOrderStatus("offen");
     obj.OrderItems
     .Where(i => !i.IsDeclined)
     .ToList()
     .ForEach(i =>
     {
         i.Device.Status = bl.GetDeviceStatus(1);
         i.IsDeclined    = false;
     });
 }
        public UsersTagsListViewModel(IBusinessLogicFacade facade, IMediator mediator)
        {
            this.mediator = mediator;
            this.facade   = facade;

            TaggedInPostSelectedCommand    = new RelayCommand <PostLightModel>(TaggedInPostSelected);
            TaggedInCommentSelectedCommand = new RelayCommand <CommentLightModel>(TaggedInCommentSelected);

            mediator.Register <UserDetailToggleVisibilityMessage>(ToggleVisibility);
            mediator.Register <UserAuthenticatedMessage>(Load);
            mediator.Register <CommentAddedMessage>(Load);
            mediator.Register <PostAddedMessage>(Load);
            mediator.Register <PostOrCommentDeletedMessage>(Load);
        }
Exemple #29
0
        public void ApplyChanges(OrderItem obj, IBusinessLogicFacade bl)
        {
            var target = obj;
            var source = this;

            target.Device      = bl.GetSingleDevice(source.Device.DeviceId);
            target.IsDeclined  = source.IsDeclined;
            target.Accessories = source.Accessories.Any() ? string.Join(",", source.Accessories) : "";

            if (target.CreateDate == DateTime.MinValue)
            {
                target.CreateDate = DateTime.Now;
            }
        }
        public CommentInUsersDetailViewModel(IBusinessLogicFacade facade, IMessageBoxService messageBoxService, IMediator mediator)
        {
            this.facade            = facade;
            this.messageBoxService = messageBoxService;
            this.mediator          = mediator;

            mediator.Register <AddCommentUsersMessage>(AddCommentHandle);
            mediator.Register <UserAuthenticatedMessage>(LoadLoggedUser);

            UserTagAddedCommand  = new RelayCommand <UserLightModel>(AddUserTag);
            UserTagRemoveCommand = new RelayCommand <UserLightModel>(RemoveUserTag);

            AddNewCommentCommand      = new RelayCommand(AddNewComment, CanAddNewComment);
            CloseCommentWindowCommand = new RelayCommand(CloseCommentWindow);
        }