public static UserType GetUserType(byte[] permissions)
        {
            var comparer = new ByteArrayPermissionsComparer();
            var result   = UserTypes.FirstOrDefault(x => comparer.Compare(x.Permissions, permissions) == 0);

            return(result ?? UserTypes.ElementAt(3));
        }
Beispiel #2
0
        protected void LoadFile()
        {
            if (File.Exists($@"{Environment.CurrentDirectory}\{fileName}"))
            {
                XmlSerializer serializer = null;
                TextReader    reader     = null;

                try
                {
                    serializer = new XmlSerializer(this.GetType());
                    reader     = new StreamReader(fileName);

                    DBDataContext db =
                        (DBDataContext)serializer.Deserialize(reader);

                    this.Species          = db.Species;
                    this.Addresses        = db.Addresses;
                    this.UserTypes        = db.UserTypes;
                    this.Users            = db.Users;
                    this.Pets             = db.Pets;
                    this.Clients          = db.Clients;
                    this.Appointments     = db.Appointments;
                    this.Doctors          = db.Doctors;
                    this.AppointmentTypes = db.AppointmentTypes;

                    Addresses.ForEach(item =>
                                      item.Client = Clients.FirstOrDefault(r => r.Id == item.IdClient));

                    Users.ForEach(item =>
                                  item.UserType = UserTypes.FirstOrDefault(r => r.Id == item.IdUserType));

                    Pets.ForEach(item =>
                    {
                        item.Specie = Species.FirstOrDefault(r => r.Id == item.IdSpecie);
                        item.Owner  = Clients.FirstOrDefault(r => r.Id == item.IdOwner);
                    });

                    Clients.ForEach(item =>
                    {
                        item.Pets      = Pets.Where(r => r.IdOwner == item.Id).ToList();
                        item.Addresses = Addresses.Where(r => r.IdClient == item.Id).ToList();
                    });

                    Appointments.ForEach(item =>
                    {
                        item.Pet             = Pets.FirstOrDefault(r => r.Id == item.IdPet);
                        item.Address         = Addresses.FirstOrDefault(r => r.Id == item.IdAddress);
                        item.Doctor          = Doctors.FirstOrDefault(r => r.Id == item.IdDoctor);
                        item.Client          = Clients.FirstOrDefault(r => r.Id == item.Pet.IdOwner);
                        item.AppointmentType = AppointmentTypes.FirstOrDefault(r => r.Id == item.IdAppointmentType);
                    });
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    if (reader != null)
                    {
                        reader.Close();
                    }
                    if (serializer != null)
                    {
                        GC.SuppressFinalize(serializer);
                    }
                }
            }
        }