Example #1
0
        private void OnLoginEvent(LoginEventArgs arg)
        {
            if (arg != null)
            {
                switch (arg.ActionType)
                {
                case "Login":
                {
                    this.Name       = IdentityUtility.GetLoggedInName();
                    this.UserName   = IdentityUtility.GetLoggedInUserName();
                    this.Role       = IdentityUtility.GetLoggedInUserRole();
                    this.IsLoggedIn = Visibility.Visible;
                    break;
                }

                case "SignUp":
                {
                    break;
                }

                case "Logout":
                {
                    this.Name       = "Anonymous";
                    this.UserName   = "******";
                    this.Role       = "NIL";
                    this.IsLoggedIn = Visibility.Collapsed;
                    break;
                }
                }
            }
        }
Example #2
0
 public UserProfileFlyoutViewModel(UserManagementDb dbContext)
 {
     this.dbContext = dbContext;
     this.Name      = IdentityUtility.GetLoggedInName();
     this.UserName  = IdentityUtility.GetLoggedInUserName();
     this.Role      = IdentityUtility.GetLoggedInUserRole();
     InitializeCommands();
     SubscribeEvents();
 }
        private async void OnGroupAccountEvent(GroupAccountEventArg arg)
        {
            if (arg != null && arg.Group != null)
            {
                string loggedInUserName = IdentityUtility.GetLoggedInUserName();
                switch (arg.ActionType)
                {
                case GroupAccountAction.GroupAdded:
                {
                    var groupDetail = new GroupDetail()
                    {
                        GroupID   = 0,
                        GroupName = arg.Group.Name
                    };

                    List <GroupFormRight> groupFormRights = new List <GroupFormRight>();
                    foreach (var form in arg.Group.Forms)
                    {
                        if (form.IsSelected)
                        {
                            GroupFormRight groupFormRight1 = new GroupFormRight()
                            {
                                FormID  = form.ID,
                                GroupID = form.Parent.GroupID,
                                Options = "ADD"
                            };

                            GroupFormRight groupFormRight2 = new GroupFormRight()
                            {
                                FormID  = form.ID,
                                GroupID = form.Parent.GroupID,
                                Options = "EDIT"
                            };

                            GroupFormRight groupFormRight3 = new GroupFormRight()
                            {
                                FormID  = form.ID,
                                GroupID = form.Parent.GroupID,
                                Options = "VIEW"
                            };

                            groupFormRights.Add(groupFormRight1);
                            groupFormRights.Add(groupFormRight2);
                            groupFormRights.Add(groupFormRight3);
                        }
                    }

                    var errorInfo = this.userManagementDb.UpdateGroup(groupDetail, "ADD", groupFormRights, loggedInUserName);
                    if (errorInfo.Code == 0)
                    {
                        this.Groups.Add(arg.Group);
                    }
                    else
                    {
                        await this.Container.Resolve <IMetroMessageDisplayService>(ServiceNames.MetroMessageDisplayService).ShowMessageAsnyc("New Group", errorInfo.Info);
                    }
                    break;
                }

                case GroupAccountAction.GroupEdited:
                {
                    var groupDetail = new GroupDetail()
                    {
                        GroupID   = 0,
                        GroupName = arg.Group.Name
                    };

                    List <GroupFormRight> groupFormRights = new List <GroupFormRight>();
                    foreach (var form in arg.Group.Forms)
                    {
                        if (form.IsSelected)
                        {
                            GroupFormRight groupFormRight1 = new GroupFormRight()
                            {
                                FormID  = form.ID,
                                GroupID = form.Parent.GroupID,
                                Options = "ADD"
                            };

                            GroupFormRight groupFormRight2 = new GroupFormRight()
                            {
                                FormID  = form.ID,
                                GroupID = form.Parent.GroupID,
                                Options = "EDIT"
                            };

                            GroupFormRight groupFormRight3 = new GroupFormRight()
                            {
                                FormID  = form.ID,
                                GroupID = form.Parent.GroupID,
                                Options = "VIEW"
                            };

                            groupFormRights.Add(groupFormRight1);
                            groupFormRights.Add(groupFormRight2);
                            groupFormRights.Add(groupFormRight3);
                        }
                    }

                    var errorInfo = this.userManagementDb.UpdateGroup(groupDetail, "EDIT", groupFormRights, loggedInUserName);
                    if (errorInfo.Code == 0)
                    {
                    }
                    else
                    {
                        await this.Container.Resolve <IMetroMessageDisplayService>(ServiceNames.MetroMessageDisplayService).ShowMessageAsnyc("Edit Group", errorInfo.Info);
                    }
                    break;
                }

                case GroupAccountAction.GroupDeleted:
                {
                    var groupDetail = new GroupDetail()
                    {
                        GroupID   = 0,
                        GroupName = arg.Group.Name
                    };

                    List <GroupFormRight> groupFormRights = new List <GroupFormRight>();
                    foreach (var form in arg.Group.Forms)
                    {
                        GroupFormRight groupFormRight1 = new GroupFormRight()
                        {
                            FormID  = form.ID,
                            GroupID = form.Parent.GroupID,
                            Options = "ADD"
                        };

                        GroupFormRight groupFormRight2 = new GroupFormRight()
                        {
                            FormID  = form.ID,
                            GroupID = form.Parent.GroupID,
                            Options = "EDIT"
                        };

                        GroupFormRight groupFormRight3 = new GroupFormRight()
                        {
                            FormID  = form.ID,
                            GroupID = form.Parent.GroupID,
                            Options = "VIEW"
                        };

                        groupFormRights.Add(groupFormRight1);
                        groupFormRights.Add(groupFormRight2);
                        groupFormRights.Add(groupFormRight3);
                    }

                    var errorInfo = this.userManagementDb.UpdateGroup(groupDetail, "DELETE", groupFormRights, loggedInUserName);
                    if (errorInfo.Code == 0)
                    {
                        this.Groups.Remove(arg.Group);
                    }
                    else
                    {
                        await this.Container.Resolve <IMetroMessageDisplayService>(ServiceNames.MetroMessageDisplayService).ShowMessageAsnyc("Delete Group", errorInfo.Info);
                    }
                    break;
                }

                case GroupAccountAction.OperationFailed:
                {
                    await this.Container.Resolve <IMetroMessageDisplayService>(ServiceNames.MetroMessageDisplayService).ShowMessageAsnyc("Group Operation", "Unable to perform this operation");

                    break;
                }
                }
            }
        }
        private async void OnUserAccountEvent(UserAccountEventArg arg)
        {
            if (arg != null && arg.User != null)
            {
                string loggedInUserName = IdentityUtility.GetLoggedInUserName();
                switch (arg.ActionType)
                {
                case UserAccountAction.UserAdded:
                {
                    var userDetail = new UserDetail()
                    {
                        UserID   = 0,
                        Name     = arg.User.Name,
                        UserName = arg.User.Username,
                        Password = arg.User.Password,
                        GroupID  = arg.User.SelectedGroup.GroupID
                    };
                    var errorInfo = this.userManagementDb.UpdateUser(userDetail, "ADD", loggedInUserName);
                    if (errorInfo.Code == 0)
                    {
                        this.Users.Add(arg.User);
                    }
                    else
                    {
                        await this.Container.Resolve <IMetroMessageDisplayService>(ServiceNames.MetroMessageDisplayService).ShowMessageAsnyc("New User", errorInfo.Info);
                    }
                    break;
                }

                case UserAccountAction.UserEdited:
                {
                    var userDetail = new UserDetail()
                    {
                        UserID   = arg.User.ID,
                        UserName = arg.User.Name,
                        //Password = arg.User.Password,
                        GroupID = arg.User.SelectedGroup.GroupID
                    };
                    var errorInfo = this.userManagementDb.UpdateUser(userDetail, "EDIT", loggedInUserName);
                    if (errorInfo.Code == 0)
                    {
                    }
                    else
                    {
                        await this.Container.Resolve <IMetroMessageDisplayService>(ServiceNames.MetroMessageDisplayService).ShowMessageAsnyc("Edit User", errorInfo.Info);
                    }
                    break;
                }

                case UserAccountAction.UserDeleted:
                {
                    var userDetail = new UserDetail()
                    {
                        UserID   = arg.User.ID,
                        Name     = arg.User.Name,
                        UserName = arg.User.Username,
                        Password = arg.User.Password,
                        GroupID  = arg.User.SelectedGroup.GroupID
                    };
                    var errorInfo = this.userManagementDb.UpdateUser(userDetail, "DELETE", loggedInUserName);
                    if (errorInfo.Code == 0)
                    {
                        this.Users.Remove(arg.User);
                    }
                    else
                    {
                        await this.Container.Resolve <IMetroMessageDisplayService>(ServiceNames.MetroMessageDisplayService).ShowMessageAsnyc("Delete User", errorInfo.Info);
                    }
                    break;
                }

                case UserAccountAction.OperationFailed:
                {
                    await this.Container.Resolve <IMetroMessageDisplayService>(ServiceNames.MetroMessageDisplayService).ShowMessageAsnyc("User Operation", "Unable to perform this operation");

                    break;
                }
                }
            }
        }