protected override void AtualizarChamado(Chamado chamado, EmpresaSecurity <SecurityContext> empresaSecurity) { if (!chamado.usuarioId.HasValue) { chamado.usuarioId = empresaSecurity.getUsuario().usuarioId; } db.Entry(chamado).State = EntityState.Modified; }
public AtendimentoViewModel Create(AtendimentoViewModel value) { using (db = getContextInstance()) { int _fuso_horario = int.Parse(db.Parametros.Find((int)DWM.Models.Enumeracoes.Enumeradores.Param.FUSO_HORARIO).valor); Atendimento entity = new Atendimento() { chamadoId = value.chamadoId, fluxo = value.fluxo, dt_atendimento = DateTime.Now.AddHours(_fuso_horario) }; #region verifica se o chamado existe if (db.Chamados.Find(value.chamadoId) == null) { value.mensagem = new Validate() { Code = 20, Message = MensagemPadrao.Message(20).ToString() }; return(value); } #endregion value = MapToRepository(entity); #region Valida se o usuário corrente é o usuário do chamado EmpresaSecurity <SecurityContext> security = new EmpresaSecurity <SecurityContext>(); Usuario usuario = security.getUsuario(); Associado ass = db.Associados.Find(value.chamado.associadoId); if (ass.usuarioId == null || usuario.usuarioId != ass.usuarioId) { if (value.chamado.usuarioId != null && value.chamado.usuarioId != usuario.usuarioId) { value.mensagem = new Validate() { Code = -1, Message = "Acesso negado" } } } ;
public override IEnumerable <ComunicacaoViewModel> Bind(int?index, int pageSize = 50, params object[] param) { string path = System.Configuration.ConfigurationManager.AppSettings["Comunicados"].Replace("~", "..") + "/"; EmpresaSecurity <SecurityContext> security = new EmpresaSecurity <SecurityContext>(); int _usuarioId = security.getUsuario().usuarioId; return((from ass in db.Associados join asg in db.AssociadoGrupos on ass.associadoId equals asg.associadoId join gas in db.GrupoAssociados on asg.grupoAssociadoId equals gas.grupoAssociadoId join cog in db.ComunicacaoGrupos on gas.grupoAssociadoId equals cog.grupoAssociadoId join com in db.Comunicacaos on cog.comunicacaoId equals com.comunicacaoId where ass.usuarioId == _usuarioId orderby com.dt_publicacao descending select new ComunicacaoViewModel { comunicacaoId = com.comunicacaoId, dt_comunicacao = com.dt_comunicacao, dt_publicacao = com.dt_publicacao, dt_expiracao = com.dt_expiracao, cabecalho = com.cabecalho, resumo = com.resumo, mensagemDetalhada = com.mensagemDetalhada, arq_imagem_300x200 = path + com.arq_imagem_300x200, arq_imagem_100x100 = path + com.arq_imagem_100x100, arq_imagem_400x300 = path + com.arq_imagem_400x300, PageSize = pageSize, TotalCount = (from ass1 in db.Associados join asg1 in db.AssociadoGrupos on ass1.associadoId equals asg1.associadoId join gas1 in db.GrupoAssociados on asg1.grupoAssociadoId equals gas1.grupoAssociadoId join cog1 in db.ComunicacaoGrupos on gas1.grupoAssociadoId equals cog1.grupoAssociadoId join com1 in db.Comunicacaos on cog1.comunicacaoId equals com1.comunicacaoId where ass1.usuarioId == _usuarioId orderby com1.dt_comunicacao descending select com1).Count() }).Skip((index ?? 0) * pageSize).Take(pageSize).ToList()); }