public static bool Delete(PerfisUtilizador objectToDelete)
 {
     return(Delete(new List <PerfisUtilizador>()
     {
         objectToDelete
     }));
 }
        public static PerfisUtilizador Create(PerfisUtilizador ObjectToCreate)
        {
            try
            {
                using (var ctx = new SuchDBContext())
                {
                    //Add Profile User
                    ObjectToCreate.DataHoraCriação = DateTime.Now;
                    ctx.PerfisUtilizador.Add(ObjectToCreate);

                    //Add ProfileAccesses to UserAccesses
                    List <AcessosPerfil> ProfileAccessesToAdd = DBAccessProfiles.GetByProfileModelId(ObjectToCreate.IdPerfil);

                    ProfileAccessesToAdd.ForEach(pa =>
                    {
                        AcessosUtilizador AU = DBUserAccesses.GetById(ObjectToCreate.IdUtilizador, pa.Funcionalidade);
                        if (AU != null)
                        {
                            ctx.AcessosUtilizador.Remove(AU);
                            ctx.SaveChanges();
                        }

                        AU = new AcessosUtilizador()
                        {
                            IdUtilizador      = ObjectToCreate.IdUtilizador,
                            Funcionalidade    = pa.Funcionalidade,
                            Leitura           = pa.Leitura,
                            Inserção          = pa.Inserção,
                            Modificação       = pa.Modificação,
                            Eliminação        = pa.Eliminação,
                            DataHoraCriação   = DateTime.Now,
                            UtilizadorCriação = pa.UtilizadorCriação
                        };

                        ctx.AcessosUtilizador.Add(AU);
                        ctx.SaveChanges();
                    });
                    ctx.SaveChanges();
                }

                return(ObjectToCreate);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
        public static PerfisUtilizador Update(PerfisUtilizador ObjectToUpdate)
        {
            try
            {
                using (var ctx = new SuchDBContext())
                {
                    ObjectToUpdate.DataHoraModificação = DateTime.Now;
                    ctx.PerfisUtilizador.Update(ObjectToUpdate);
                    ctx.SaveChanges();
                }

                return(ObjectToUpdate);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }