public ActionResult Enviar(long id, string assunto)
        {
            MensagemUsuario mensagem = new MensagemUsuario()
            {
                Destinatario = db.Usuarios.Find(id),
                Assunto      = assunto
            };

            return(View(mensagem));
        }
        public ActionResult Enviar(MensagemUsuario mensagem)
        {
            mensagem.Destinatario = db.Usuarios.Find(mensagem.Destinatario.Id);
            mensagem.Remetente    = db.Usuarios.Find(UsuarioLogado.User.Id);
            mensagem.DataEnvio    = DateTime.Now;

            db.MensagensUsuario.Add(mensagem);
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public IHttpActionResult Put(Usuario usuario)
        {
            MensagemUsuario resposta = repositorio.Alterar(usuario);

            if (resposta.Resultado == true)
            {
                return(Ok(new { dados = resposta.Usuario }));
            }
            else
            {
                return(BadRequest(string.Join(" - ", resposta.Mensagens)));
            }
        }
示例#4
0
        public void SalvarMensagem(MensagemCriacaoDTO obj, string UsuarioCriacao)
        {
            try
            {
                //garante que se alguma das operações falharem, será feito rollback das operações

                using (TransactionScope transaction = new TransactionScope())
                {
                    if (cnn.State == System.Data.ConnectionState.Closed)
                    {
                        cnn.Open();
                    }

                    Mensagem objMensagem = new Mensagem();
                    objMensagem.Descricao = obj.Descricao;
                    objMensagem.DtCriacao = DateTime.Now;

                    mensagemDAL.Inserir(objMensagem);

                    foreach (var item in obj.Destinatarios)
                    {
                        MensagemUsuario mu = new MensagemUsuario();
                        mu.Destinatario   = item;
                        mu.UsuarioCriacao = UsuarioCriacao;
                        mu.DtCriacao      = DateTime.Now;
                        //MensagemID será atribuído pelo DAL
                        mu.MensagemID = objMensagem.MensagemID;

                        mensagemUsuarioDAL.Inserir(mu);
                    }

                    //faz o commit
                    transaction.Complete();
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                //sempre fecha a conexão como  banco de dados
                cnn.Close();
            }
        }
示例#5
0
        public void Inserir(MensagemUsuario obj)
        {
            try
            {
                using (DbCommand cmd = cnn.CreateCommand())
                {
                    //caso queira procedure fica CommandText = "Nome da Stored Procedure"
                    cmd.CommandText = "insert into MensagemUsuario (MensagemID, Destinatario, UsuarioCriacao,DtCriacao) " +
                                      "values (@MensagemID, @Destinatario, @UsuarioCriacao,@DtCriacao); set @MensagemUsuarioID = Scope_Identity()";
                    //não esquecer de alterar caso queira stored procedure
                    cmd.CommandType    = System.Data.CommandType.Text;
                    cmd.CommandTimeout = 10;
                    cmd.Connection     = cnn;

                    DbParameter pMensageUsuarioID = getpMensageUsuarioID(cmd, null);

                    //A ordem dos parâmetros não influencia na inserção dos dados
                    cmd.Parameters.Add(getpDtCriacao(cmd, obj.DtCriacao));
                    cmd.Parameters.Add(getpDestinatario(cmd, obj.Destinatario));
                    cmd.Parameters.Add(getpMensageID(cmd, obj.MensagemID));
                    cmd.Parameters.Add(getpUsuarioCriacao(cmd, obj.UsuarioCriacao));
                    cmd.Parameters.Add(pMensageUsuarioID);

                    //Faz a compilação do comando antes de executar(Torna a execução mais rápida)
                    cmd.Prepare();

                    //Retorna a quantidade de operações executadas no banco de dados
                    var result = cmd.ExecuteNonQuery();

                    //pMensagemID foi atribuído no BD pela propriedade Scope_Identity considerando auto imcremento da PK
                    obj.MensagemID = Convert.ToInt32(pMensageUsuarioID.Value);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#6
0
 public void Atualizar(MensagemUsuario obj)
 {
     throw new NotImplementedException();
 }