namespace Demo.Domain.Models
{
    public class User
    {
        public required string FIO{get; set; }
        public Guid Guid{get; set; }
        public required Group Group{get; set; }

        public static User Parse(string input)
        {
            string[] words = input.Split(" ");
            
            if (words.Length < 4)
            {
                throw new FormatException("Input string does not have the expected number of elements.");
            }

            try
            {
                return new User
                {
                    FIO = words[0],
                    Guid = Guid.Parse(words[1]),
                    Group = new Group
                    {
                        ID = Convert.ToInt32(words[2]),
                        Name = words[3]
                    }
                };
            }
            catch (FormatException ex)
            {
                Console.WriteLine("Error parsing input: " + ex.Message);
                throw;
            }
        }
    }
}