Exemplo n.º 1
0
        private async Task <bool> EditUser()
        {
            var model = new EditUserModel
            {
                Id = User.Id
            };

            if (CurrentPassword != Settings.UserPassword)
            {
                Message = "Fel lösenord.";
                return(false);
            }
            if (PhoneNumber == "")
            {
                model.PhoneNumber = PhoneNumber;
            }
            else
            {
                if (NumberBehavior.IsNumbers(PhoneNumber))
                {
                    model.PhoneNumber = PhoneNumber;
                }
                else
                {
                    Message = "Ange ett telefonnummer med 10 siffror";
                    return(false);
                }
            }
            if (FirstName != "" && LastName != "")
            {
                if (TextOnlyBehavior.IsTextOnly(FirstName) && TextOnlyBehavior.IsTextOnly(LastName))
                {
                    model.FirstName = FirstName;
                    model.LastName  = LastName;
                }
                else
                {
                    Message = "Förnamn och efternamn får inte innehålla siffror eller otillåtna tecken.";
                    return(false);
                }
            }
            else
            {
                Message = "Förnamn och efternamn får inte lämnas blanka.";
                return(false);
            }
            if (Pic == null)
            {
                var assembly = Assembly.GetExecutingAssembly();
                model.ProfilePicture = EmbeddedResourceToByteArray.GetEmbeddedResourceBytes(assembly, "profile.png");
            }
            else
            {
                model.ProfilePicture = Pic;
            }

            var success = await _api.EditUser(model);

            return(success);
        }
Exemplo n.º 2
0
        public async void OnLoad()
        {
            User = await _api.GetLoggedInUser();

            if (User == null)
            {
                var assembly = Assembly.GetExecutingAssembly();
                var pic      = EmbeddedResourceToByteArray.GetEmbeddedResourceBytes(assembly, "profile.png");
                ProfilePicture               = pic;
                FirstName                    = "No user";
                Settings.AccessToken         = "";
                Settings.UserId              = "";
                Settings.UserName            = "";
                Settings.UserPassword        = "";
                Settings.UserRole            = "";
                Application.Current.MainPage = new NavigationPage(new FrontPage());
            }
            else
            {
                if (User.ProfilePicture != null)
                {
                    ProfilePicture = User.ProfilePicture;
                }
                FirstName = User.FirstName;

                if (User.Role == "Admin")
                {
                    IsAdmin = true;
                    IsIntro = true;
                }
                else
                {
                    IsAdmin = false;
                    if (User.Role == "Fadder" || User.Role == "Intro")
                    {
                        IsIntro = true;
                    }
                    else
                    {
                        IsIntro = false;
                    }
                }
            }
        }
Exemplo n.º 3
0
        async void OnLoad()
        {
            ChatDisplayModels      = new ObservableRangeCollection <ChatDisplayModel>();
            Chats                  = new ObservableRangeCollection <Chat>();
            GroupChats             = new ObservableRangeCollection <GroupChat>();
            GroupChatDisplayModels = new ObservableRangeCollection <GroupChatDisplayModel>();
            User = await _api.GetLoggedInUser();

            AllUsers = await _api.GetAllUsers();

            if (User.Chats.Count != 0)
            {
                Chats.AddRange(User.Chats);
            }
            if (User.GroupChats.Count != 0)
            {
                //GroupChats.AddRange(User.GroupChats);
            }
            if (GroupChats.Count != 0)
            {
                foreach (var gc in GroupChats)
                {
                    bool IsMessagesNotViewed = true;
                    var  gcdm = new GroupChatDisplayModel();
                    gcdm.Id = gc.Id;
                    if (gc.GroupName != null && gc.GroupName != "" && gc.GroupChatPic != null)
                    {
                        gcdm.ChatName = gc.GroupName;
                        gcdm.ChatPic  = gc.GroupChatPic;
                    }
                    else
                    {
                        var assembly = Assembly.GetExecutingAssembly();
                        var pic      = EmbeddedResourceToByteArray.GetEmbeddedResourceBytes(assembly, "group.png");
                        gcdm.ChatName = "GruppChatt";
                        gcdm.ChatPic  = pic;
                    }

                    if (gc.Messages.Count() != 0 && gc.Messages != null)
                    {
                        gcdm.LatestMessage     = gc.Messages.Last().Text;
                        gcdm.LatestMessageDate = gc.Messages.Last().MessageDateTime;
                        if (gc.Messages.Last().SenderId != User.Id)
                        {
                            IsMessagesNotViewed = false;
                        }
                        else
                        {
                            if (gc.Views.Count != 0 && gc.Views != null)
                            {
                                var list = gc.Views.Where(x => x.UserId == User.Id);
                                if (list.Count() != 0)
                                {
                                    IsMessagesNotViewed = false;
                                }
                            }
                        }
                    }
                    else
                    {
                        gcdm.LatestMessage  = "Inga meddelanden skickade";
                        IsMessagesNotViewed = false;
                    }
                    gcdm.IsLatestMessageNotViewed = IsMessagesNotViewed;
                    GroupChatDisplayModels.Add(gcdm);
                }
                GroupChatDisplayModels = new ObservableRangeCollection <GroupChatDisplayModel>(GroupChatDisplayModels.OrderByDescending(x => x.LatestMessageDate));
            }
            if (Chats.Count != 0)
            {
                foreach (var c in Chats)
                {
                    var  otherUser           = c.Users.Where(x => x.Id != User.Id).First();
                    bool IsMessagesNotViewed = true;
                    var  chatView            = new ChatDisplayModel
                    {
                        Id          = c.Id,
                        DisplayName = otherUser.FirstName + " " + otherUser.LastName,
                        ChatPic     = otherUser.ProfilePicture
                    };

                    if (c.Messages.Count == 0)
                    {
                        chatView.LatestMessage = "Inga meddelanden skickade";
                        IsMessagesNotViewed    = false;
                    }
                    else
                    {
                        if (c.Messages.Last().SenderId == User.Id)
                        {
                            IsMessagesNotViewed = false;
                        }
                        else if (c.Views.Count != 0 && c.Views != null)
                        {
                            var list = c.Views.Where(x => x.UserId == User.Id);
                            if (list.Count() != 0)
                            {
                                IsMessagesNotViewed = false;
                            }
                        }
                        string latestMessageSender;
                        var    latestMessageSenderId = c.Messages.Last().SenderId;
                        if (latestMessageSenderId == User.Id)
                        {
                            latestMessageSender = "Du: ";
                        }
                        else
                        {
                            latestMessageSender = otherUser.FirstName + ": ";
                        }
                        chatView.LatestMessage            = latestMessageSender + c.Messages.Last().Text;
                        chatView.LatestMessageDate        = c.Messages.Last().MessageDateTime;
                        chatView.IsLatestMessageNotViewed = IsMessagesNotViewed;
                    }
                    ChatDisplayModels.Add(chatView);
                }
                ChatDisplayModels = new ObservableRangeCollection <ChatDisplayModel>(ChatDisplayModels.OrderByDescending(x => x.LatestMessageDate));
            }
        }