Commit 336bb3d2 authored by Azkee's avatar Azkee
Browse files

feat: add deadline panic for more spice

parent 9eb9d790
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -11,8 +11,10 @@
                <ui:ThemesDictionary Theme="Dark">
                    <Color x:Key="ExtraLightBlue">#FF36C0</Color>
                    <SolidColorBrush x:Key="PinkJuanLogAccent" Color="#FFB52395"/>
                    <SolidColorBrush x:Key="DarkRedJuanLog" Color="#5b1a1b"/>
                    <SolidColorBrush x:Key="DarkYellowJuanLog" Color="#ce8810"/>
                    <SolidColorBrush x:Key="ExtraDarkGreyJuanLog" Color="#FF1D1E1F"/>
                    
                    <FontFamily x:Key="SegoeFluentIcons">pack://application:,,,/;component/Fonts/#Segoe Fluent Icons</FontFamily>
                </ui:ThemesDictionary>
                <ui:ControlsDictionary>
                    <conv:DateConverter x:Key="dateConverter"/>
+8 −0
Original line number Diff line number Diff line
@@ -16,6 +16,14 @@
    <Page Remove="NewFolder\**" />
  </ItemGroup>

  <ItemGroup>
    <Compile Remove="Views\EditEntryView.xaml.cs" />
  </ItemGroup>

  <ItemGroup>
    <Page Remove="Views\EditEntryView.xaml" />
  </ItemGroup>

  <ItemGroup>
    <Content Include="Resources\JuanLogIco.ico" />
  </ItemGroup>
+19 −0
Original line number Diff line number Diff line
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CommunityToolkit.Mvvm.Messaging.Messages;
using JuanLog.Models;

namespace JuanLog.Messages
{
    public class ExerciseEntryChangedMessage: ValueChangedMessage<ExerciseEntry>
    {
        public ExerciseEntryChangedMessage(ExerciseEntry editedExercise) : base(editedExercise)
        {
            Debug.WriteLine("Exercise changed, sending the new-edited version");
        }
    }
}
+6 −0
Original line number Diff line number Diff line
@@ -22,5 +22,11 @@ namespace JuanLog.Models
            var db = new JuanLogDBContext();
            return await db.Exercises.ToListAsync();
        }

        public static async Task<Exercise?> GetExerciseByName(string exerciseName)
        {
            var db = new JuanLogDBContext();
            return await db.Exercises.Where(e => e.ExerciseName == exerciseName).FirstOrDefaultAsync();
        }
    }
}
+68 −0
Original line number Diff line number Diff line
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Diagnostics.Metrics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -19,13 +21,79 @@ namespace JuanLog.Models

        [ForeignKey("Exercises")]
        public string ExerciseName { get; set; }

        [ForeignKey("ExerciseCategories")]
        public int CategoryId { get; set; }
        public DateTime When { get; set; }
        public int Weight { get; set; }

        public int Sets { get; set; }

        public static async Task<List<ExerciseEntry>> GetAllUserEntries(User user)
        {
            var db = new JuanLogDBContext();
            return await db.ExerciseEntries.Where(e => e.UserId == user.Id).ToListAsync();
        }
        public static async Task<ExerciseEntry> AddEntry(ExerciseEntry toAdd)
        {
            var db = new JuanLogDBContext();
            var addedEntry = db.ExerciseEntries.Add(toAdd);
            await db.SaveChangesAsync();
            return addedEntry.Entity;
        }
        public static async Task RemoveEntry(ExerciseEntry removeEntry)
        {
            var db = new JuanLogDBContext();
            try
            {
                List<Set> removeSets = await ExerciseEntry.GetEntrySets(removeEntry);
                foreach (Set set in removeSets)
                {
                    db.SetTable.Remove(set);
                }
                await db.SaveChangesAsync();
                db.ExerciseEntries.Remove(removeEntry);
                await db.SaveChangesAsync();
            }
            catch
            {
                MessageBox.Show("Mazání neproběhlo úspěšně, promiň...");
            }
        }
        public static async Task UpdateEntry(ExerciseEntry editedEntry)
        {
            var db = new JuanLogDBContext();
            try
            {
                (await db.ExerciseEntries.Where(e => e.EntryId == editedEntry.EntryId).FirstAsync()).Weight = editedEntry.Weight;
                (await db.ExerciseEntries.Where(e => e.EntryId == editedEntry.EntryId).FirstAsync()).When = editedEntry.When;
                (await db.ExerciseEntries.Where(e => e.EntryId == editedEntry.EntryId).FirstAsync()).ExerciseName = editedEntry.ExerciseName;
                await db.SaveChangesAsync();
            }
            catch
            {
                MessageBox.Show("Uložení se nezdařilo");
            }
        }
        public static async Task<List<Set>> GetEntrySets(ExerciseEntry exerciseEntry)
        {
            var db = new JuanLogDBContext();
            return await db.SetTable.Where(s => s.EntryId == exerciseEntry.EntryId).ToListAsync();
        }
        public static async Task UpdateEntrySets(int exerciseEntryId, ObservableCollection<int> reps)
        {
            var db = new JuanLogDBContext();
            foreach (Set set in db.SetTable.Where(s => s.EntryId == exerciseEntryId))
            {
                db.SetTable.Remove(set);
            }
            await db.SaveChangesAsync();

            foreach (int repNumber in reps)
            {
                db.SetTable.Add(new Set { Repetitions = repNumber, EntryId = exerciseEntryId });
            }
            await db.SaveChangesAsync();
        }
    }
}
Loading