示例#1
0
        public void ToAddRequest(User user, User ThisUser, Pet pet, string description, DateTime?sd, DateTime?ed)
        {
            UsersPets      needpet = context.UsersPets.FirstOrDefault(p => p.User.ID == ThisUser.ID && p.Description == description && p.Pet.ID == pet.ID && p.Start == sd && p.End == ed);
            GetterRequests g       = new GetterRequests()
            {
                Request      = needpet,
                User         = user,
                StatusGiver  = "Waiting answer!",
                StatusGetter = "This is a new request!"
            };

            if (user.GetterRequests == null)
            {
                user.GetterRequests = new List <GetterRequests>();
                user.GetterRequests.Add(g);
                context.GetterRequests.Add(g);
                context.SaveChanges();
            }
            else
            {
                user.GetterRequests.Add(g);
                context.GetterRequests.Add(g);
                context.SaveChanges();
            }
        }
示例#2
0
        public void ChangeStatusToDecline(GetterRequests g)
        {
            GetterRequests gr = context.GetterRequests.FirstOrDefault(gg => gg.ID == g.ID);

            gr.StatusGiver = "Your request was rejected";
            context.SaveChanges();
        }
示例#3
0
        public void RemoveGetterRequest(GetterRequests requests)
        {
            List <GetterRequests> getters = new List <GetterRequests>();

            foreach (var g in GetterRequests)
            {
                if (g.Request.ID == requests.Request.ID)
                {
                    getters.Add(g);
                }
            }
            if (getters.Count == 1)
            {
                Mark mark = context.Marks.FirstOrDefault(m => m.IRequest.ID == requests.ID);
                if (mark != null)
                {
                    mark.IRequest = null;
                }
                context.UsersPets.Remove(requests.Request);
                context.GetterRequests.Remove(requests);
                context.SaveChanges();
            }
            else
            {
                Mark mark = context.Marks.FirstOrDefault(m => m.IRequest.ID == requests.ID);
                if (mark != null)
                {
                    mark.IRequest = null;
                }
                context.GetterRequests.Remove(requests);
                context.SaveChanges();
            }
            RestoreRequests();
        }
示例#4
0
        public void ChangeStatusToAccept(GetterRequests g)
        {
            GetterRequests gr = context.GetterRequests.FirstOrDefault(gg => gg.ID == g.ID);

            gr.StatusGiver  = "Your request has been accepted!";
            gr.StatusGetter = "You made a request. Wait for an answer!";
            context.SaveChanges();
        }
 private void Button_ClickDelete(object sender, RoutedEventArgs e)
 {
     if (FromMe.SelectedItem != null)
     {
         GetterRequests request = FromMe.SelectedItem as GetterRequests;
         rep.RemoveGetterRequest(request);
         FromMe.ItemsSource = rep.ToReturnListWithRequestsFromMe(ThisUser);
     }
     else
     {
         MessageBox.Show("Please, select a request", "Oops", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
 private void Button_ClickGet(object sender, RoutedEventArgs e)
 {
     if (ToMe.SelectedItem != null)
     {
         GetterRequests    getterRequests = ToMe.SelectedItem as GetterRequests;
         GetterRequestShow getterRequest  = new GetterRequestShow(ThisUser, rep, context, getterRequests);
         getterRequest.Show();
     }
     else
     {
         MessageBox.Show("Please, select a request", "Oops", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
        private void Button_ClickAccept(object sender, RoutedEventArgs e)
        {
            if (ToMe.SelectedItem != null)
            {
                GetterRequests g = ToMe.SelectedItem as GetterRequests;
                us = rep.ChangeStatusToAccept;
                us.Invoke(g);
                MessageBox.Show("You accepted this request");
            }

            else
            {
                MessageBox.Show("Please, select a request", "Oops", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
 private void Button_ClickDecline(object sender, RoutedEventArgs e)
 {
     if (ToMe.SelectedItem != null)
     {
         GetterRequests g = ToMe.SelectedItem as GetterRequests;
         us = rep.ChangeStatusToDecline;
         us.Invoke(g);
         var RequestsToMe = rep.ToGetRequestsToMe(ThisUser);
         ToMe.ItemsSource = RequestsToMe;
         MessageBox.Show("You declined this request");
     }
     else
     {
         MessageBox.Show("Please, select a request", "Oops", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
示例#9
0
 public GetterRequestShow(User user, IRepositoryInterface repo, Context cont, GetterRequests getter)
 {
     InitializeComponent();
     ThisUser                = user;
     rep                     = repo;
     context                 = cont;
     getterRequest           = getter;
     textBoxAddress.Text     = getterRequest.Request.User.Address;
     textBoxDescription.Text = getterRequest.Request.Description;
     textBoxEmail.Text       = getterRequest.Request.User.Email;
     textBoxFrom.Text        = getterRequest.Request.Start.ToString();
     textBoxGive.Text        = getterRequest.Request.User.NameSurname;
     textBoxPhone.Text       = getterRequest.Request.User.Phone;
     textBoxTo.Text          = getterRequest.Request.End.ToString();
     textBoxType.Text        = getterRequest.Request.Pet.Type;
     textBoxStatus.Text      = getterRequest.StatusGetter;
 }
示例#10
0
        public void AddGrade(double v, User user, GetterRequests g)
        {
            Mark usermark = new Mark()
            {
                RatedUser = user,
                Grade     = v,
                IRequest  = g,
            };

            context.Marks.Add(usermark);
            context.SaveChanges();
            List <Mark> marks = (context.Marks.Where(m => m.RatedUser.ID == user.ID)).ToList();
            double      sum   = 0;

            for (int i = 0; i < marks.Count; i++)
            {
                sum += marks[i].Grade;
            }
            double r = sum / marks.Count;

            user.Rating = r;
            context.SaveChanges();
        }