Ejemplo n.º 1
0
        public async Task <IActionResult> PutContactListItem([FromRoute] long id, [FromBody] ContactListItem contactListItem)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != contactListItem.Id)
            {
                return(BadRequest());
            }

            _context.Entry(contactListItem).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ContactListItemExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <IActionResult> Edit(long id, [Bind("Id,FirstName,LastName,Phone,Email,JobTitle,Company,City,Country")] ContactListItem contactListItem)
        {
            if (id != contactListItem.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(contactListItem);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ContactListItemExists(contactListItem.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(contactListItem));
        }
Ejemplo n.º 3
0
 private void btOk_Click(object sender, RoutedEventArgs e)
 {
     foreach (var item in lvContact.SelectedItems)
     {
         ContactListItem contact = item as ContactListItem;
         long            userid  = contact.ToUserId;
         if (contact.ToUserId == AppInstance.getInstance().GetUser().Id)
         {
             userid = contact.FromUserId;
         }
         MemberConversation mem_conver = new MemberConversation()
         {
             ConversationId = ConversationId,
             UserId         = userid
         };
         using (HttpClient client = new HttpClient())
         {
             client.BaseAddress = new Uri(Ultils.url);
             client.DefaultRequestHeaders.Accept.Clear();
             client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
             client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AppInstance.getInstance().GetUser().Token);
             HttpResponseMessage response = client.PostAsJsonAsync("/api/Conversations/Members", mem_conver).Result;
             if (response.IsSuccessStatusCode)
             {
                 this.DialogResult = true;
             }
             else
             {
                 _404Mess mess = response.Content.ReadAsAsync <_404Mess>().Result;
                 errlb.Text = mess.Message;
             }
         }
     }
 }
Ejemplo n.º 4
0
        private void Acceptbt_Click(object sender, RoutedEventArgs e)
        {
            Button          button  = sender as Button;
            ContactListItem contact = button.DataContext as ContactListItem;

            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = new Uri(Ultils.url);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AppInstance.getInstance().GetUser().Token);
                HttpResponseMessage response = client.PutAsJsonAsync("/api/Contacts/" + contact.FromUserId, new Contact()
                {
                    Status = 1
                }).Result;
                if (response.IsSuccessStatusCode)
                {
                    try
                    {
                        Bgworker.RunWorkerAsync(100);
                    }
                    catch (Exception ex)
                    {
                    }
                }
                else
                {
                    _404Mess err = response.Content.ReadAsAsync <_404Mess>().Result;
                    System.Windows.MessageBox.Show(err.Message);
                }
            }
        }
        private void OpenChatDialog(object sender, MouseButtonEventArgs e)
        {
            ContactListItem item = (sender as ListBox).SelectedItem as ContactListItem;

            item.RemoveTip();
            var user = item.User;

            if (CurrentUser.DialogTable.ContainsKey(user.UserName))
            {
                var dailog = CurrentUser.DialogTable[user.UserName];
                dailog.Show();
                dailog.Activate();
            }
            else
            {
                ChatDialog dialog = null;
                if (user.UserName.StartsWith("@@") == true)
                {
                    dialog = new GroupChatDialog(user);
                }
                else
                {
                    dialog = new UserChatDialog(user);
                }
                CurrentUser.DialogTable.Add(user.UserName, dialog);
                dialog.Show();
            }
        }
        private void AddSessionList(User user, bool order = false, bool isAddTip = false)
        {
            if (CurrentUser.ChatTable.ContainsKey(user.UserName) == true)
            {
                return;
            }
            CurrentUser.ChatTable[user.UserName] = user;
            user.SetDisplayName();
            Dispatcher.BeginInvoke(new Action(() =>
            {
                ContactListItem listItem = new ContactListItem()
                {
                    DisplayName = user.DisplayName,
                    User        = user
                };
                if (order == true)
                {
                    this.LB_SessionList.Items.Insert(0, listItem);
                }
                else
                {
                    this.LB_SessionList.Items.Add(listItem);
                }

                if (isAddTip == true)
                {
                    listItem.AddTipNumber();
                }
            }));
        }
        public async Task <IActionResult> Create(ContactListItem contactListItem)
        {
            if (ModelState.IsValid)
            {
                _context.Add(contactListItem);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(contactListItem));
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> PutContactListItem([FromRoute] long id, [FromBody] ContactListItem contactListItem)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            _context.Entry(contactListItem).State = EntityState.Modified;
            await _context.SaveChangesAsync();

            return(Ok(contactListItem));
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> PostContactListItem(ContactListItem contactListItem)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.ContactListItems.Add(contactListItem);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetContactListItem", new { id = contactListItem.Id }, contactListItem));
        }
Ejemplo n.º 10
0
        private void TB_Search_TextChanged(object sender, TextChangedEventArgs e)
        {
            ListBox list = null;
            Dictionary <string, User> dataList = null;

            if (this.LB_SessionList.Visibility == System.Windows.Visibility.Visible)
            {
                list     = this.LB_SessionList;
                dataList = CurrentUser.ChatTable;
            }
            else
            {
                list     = this.LB_ContactList;
                dataList = CurrentUser.ContactTable;
            }

            list.Items.Clear();
            foreach (var item in dataList)
            {
                string name = item.Value.DisplayName;
                if (name.IndexOf(this.TB_Search.Text, StringComparison.OrdinalIgnoreCase) >= 0)
                {
                    ContactListItem listItem = new ContactListItem()
                    {
                        DisplayName = item.Value.DisplayName,
                        User        = item.Value
                    };
                    list.Items.Add(listItem);
                    continue;
                }

                if (PinYinConverter.Get(name).ToLower().IndexOf(this.TB_Search.Text.ToLower(), StringComparison.OrdinalIgnoreCase) >= 0)
                {
                    ContactListItem listItem = new ContactListItem()
                    {
                        DisplayName = item.Value.DisplayName,
                        User        = item.Value
                    };
                    list.Items.Add(listItem);
                    continue;
                }

                if (PinYinConverter.GetFirst(name).ToLower().IndexOf(this.TB_Search.Text.ToLower(), StringComparison.OrdinalIgnoreCase) >= 0)
                {
                    ContactListItem listItem = new ContactListItem()
                    {
                        DisplayName = item.Value.DisplayName,
                        User        = item.Value
                    };
                    list.Items.Add(listItem);
                }
            }
        }
Ejemplo n.º 11
0
        private void B_Contact_Click(object sender, MouseButtonEventArgs e)
        {
            this.LB_SessionList.Visibility = System.Windows.Visibility.Hidden;
            this.LB_ContactList.Visibility = System.Windows.Visibility.Visible;

            if (this.LB_ContactList.Items.Count == 0)
            {
                foreach (var item in CurrentUser.ContactTable)
                {
                    var             user     = item.Value;
                    ContactListItem listItem = new ContactListItem()
                    {
                        DisplayName = user.DisplayName,
                        User        = user
                    };
                    this.LB_ContactList.Items.Add(listItem);
                }
            }
        }
Ejemplo n.º 12
0
        private async void contacts_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            SendButton.IsEnabled = true;
            ContactListItem selectedContactItem = ((ContactListItem)contacts.SelectedItem);

            if (selectedContactItem != null)
            {
                var selectedId           = selectedContactItem.AccountId;
                var targetedConversation = await core.GetMessagesByTargetIdAsync(CurrentUserAccountID, selectedId);

                DisplayMessages(targetedConversation, selectedId);
                if (!selectedContactItem.gotmessage)
                {
                    await core.markReceived(selectedId, CurrentUserAccountID);

                    await core.markReceived(CurrentUserAccountID, selectedId);
                }
            }
        }
Ejemplo n.º 13
0
        private async void AddConversationWithOtherUser()
        {
            ContactListItem item = lvContact.SelectedItem as ContactListItem;

            long id = item.FromUserId;

            if (id == AppInstance.getInstance().GetUser().Id)
            {
                id = item.ToUserId;
            }
            string name = "Conversation with " + AppInstance.getInstance().GetFullname(id);

            if (!conversationnametb.Text.Equals(""))
            {
                name = conversationnametb.Text;
            }

            ConversationWithOther conver = new ConversationWithOther();

            conver.Name    = name;
            conver.UserIds = new long[] { id };
            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = new Uri(Ultils.getUrl());
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AppInstance.getInstance().GetUser().Token);
                HttpResponseMessage response = client.PostAsJsonAsync("/api/Conversations/WithMembers", conver).Result;
                if (response.IsSuccessStatusCode)
                {
                    this.DialogResult = true;
                }
                else
                {
                    _404Mess mess = await response.Content.ReadAsAsync <_404Mess>();

                    errlb.Text = mess.Message;
                }
            }
        }
Ejemplo n.º 14
0
        public async Task <IActionResult> Edit(long id, ContactListItem contactListItem)
        {
            if (id != contactListItem.Id)
            {
                return(NotFound());
            }
            var isExistPhone = _contactListItemRepository.IsExist(a => a.Phone.Trim() == contactListItem.Phone.Trim() && a.Id != id);
            var isExistEmail = _contactListItemRepository.IsExist(a => a.Email.Trim() == contactListItem.Email.Trim() && a.Id != id);

            if (isExistPhone)
            {
                ModelState.AddModelError("Phone", "Already Phone no exist!");
            }
            if (isExistEmail)
            {
                ModelState.AddModelError("Email", "Already Email no exist!");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(contactListItem);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ContactListItemExists(contactListItem.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(contactListItem));
        }
Ejemplo n.º 15
0
        public async Task <IActionResult> Edit(long id, ContactListItem contactListItem)
        {
            var isExistPhone = _context.ContactListItems.FirstOrDefault(a => a.Phone.Trim() == contactListItem.Phone.Trim() && a.Id != id);
            var isExistEmail = _context.ContactListItems.FirstOrDefault(a => a.Email.Trim() == contactListItem.Email.Trim() && a.Id != id);

            if (isExistPhone != null)
            {
                ModelState.AddModelError("Phone", "Already Phone no exist!");
            }
            if (isExistEmail != null)
            {
                ModelState.AddModelError("Email", "Already Email no exist!");
            }
            if (ModelState.IsValid)
            {
                _context.Update(contactListItem);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(contactListItem));
        }
Ejemplo n.º 16
0
        public async Task <IActionResult> Create(ContactListItem model)
        {
            var isExistPhone = _context.ContactListItems.FirstOrDefault(a => a.Phone.Trim() == model.Phone.Trim());
            var isExistEmail = _context.ContactListItems.FirstOrDefault(a => a.Email.Trim() == model.Email.Trim());

            if (isExistPhone != null)
            {
                ModelState.AddModelError("Phone", "Already Phone no exist!");
            }
            if (isExistEmail != null)
            {
                ModelState.AddModelError("Email", "Already Email no exist!");
            }
            if (ModelState.IsValid)
            {
                _context.Add(model);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
Ejemplo n.º 17
0
        private async void CastToContactList()
        {
            if (mostrecent != null)
            {
                contactlist.Clear();
                foreach (var recent_msg in mostrecent)
                {
                    ContactListItem converted = new ContactListItem();
                    converted.AccountId = recent_msg.FirstId == CurrentUserAccountID ? recent_msg.SecondId : recent_msg.FirstId;
                    AccountDTO contact_account = await authcore.GetAccountByIdAsync(converted.AccountId);

                    if (contact_account == null || recent_msg.LastDate == null /* after added but not sent message*/)
                    {
                        continue;
                    }
                    converted.Name = contact_account.Name;
                    converted.LastMessageContent = recent_msg.LastMessage1;
                    converted.Date       = recent_msg.LastDate.Date.ToShortDateString();
                    converted.gotmessage = false; // todo: check if message
                    contactlist.Add(converted);
                }
            }
        }