/// <summary>Cria um novo item e atribui à uma requisição</sumary> public ObjResult Post(ItemProgress progress, int user_id, int item_id, int item_status_id) { connection = db.GetCon(); connection.Open(); NpgsqlTransaction transaction = connection.BeginTransaction(); ItemProgressDao dao = new ItemProgressDao(connection, transaction); ObjResult result = new ObjResult(); try { progress.SetId(dao.Post(progress, user_id, item_id, item_status_id)); transaction.Commit(); result.Success(); result.SetData(progress.GetId()); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.ToString()); } finally { connection.Close(); db.Close(); } return(result); }
/// <summary>Atualiza um item</sumary> public ObjResult Update(int item_progress_id, ItemProgress progress) { connection = db.GetCon(); connection.Open(); NpgsqlTransaction transaction = connection.BeginTransaction(); ItemProgressDao dao = new ItemProgressDao(connection, transaction); ObjResult result = new ObjResult(); try { item_progress_id = dao.Update(item_progress_id, progress); transaction.Commit(); result.Success(); result.SetData(item_progress_id); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.ToString()); } finally { connection.Close(); db.Close(); } return(result); }
/// <summary>Cria um novo usuário</sumary> public ObjResult Post(User user) { connection = db.GetCon(); connection.Open(); NpgsqlTransaction transaction = connection.BeginTransaction(); UserDao dao = new UserDao(connection, transaction); ObjResult result = new ObjResult(); try { user.SetId(dao.Post(user)); transaction.Commit(); result.Success(); result.SetData(user.GetId()); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.ToString()); } finally { connection.Close(); } return(result); }
/// <summary>Define o status de um determinado item</sumary> public ObjResult SetStatus(int item_id, string status_name) { connection = db.GetCon(); connection.Open(); NpgsqlTransaction transaction = connection.BeginTransaction(); RequestItemDao dao = new RequestItemDao(connection, transaction); ObjResult result = new ObjResult(); try { item_id = dao.SetStatus(item_id, status_name); transaction.Commit(); result.Success(); result.SetData(item_id); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.ToString()); } finally { connection.Close(); db.Close(); } return(result); }
/// <summary>Exclui uma determinada mensagem</sumary> public ObjResult DeleteMessage(int msg_id) { connection = db.GetCon(); connection.Open(); NpgsqlTransaction transaction = connection.BeginTransaction(); MessageDao dao = new MessageDao(connection, transaction); ObjResult result = new ObjResult(); try { msg_id = dao.Delete(msg_id); result.SetData(msg_id); result.Success(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.ToString()); } finally { connection.Close(); } return(result); }
/// <summary>Atualiza uma requisição</sumary> public ObjResult Update(int request_id, Request request) { connection = db.GetCon(); connection.Open(); NpgsqlTransaction transaction = connection.BeginTransaction(); RequestDao dao = new RequestDao(connection, transaction); ObjResult result = new ObjResult(); try { request_id = dao.Update(request_id, request); transaction.Commit(); result.Success(); result.SetData(request_id); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.ToString()); } finally { connection.Close(); db.Close(); } return(result); }
/// <summary>Exclui uma determinada requisição</sumary> public ObjResult Delete(int request_id) { connection = db.GetCon(); connection.Open(); ObjResult result = new ObjResult(); List <RequestItem> items = new List <RequestItem>(); List <Message> messages = new List <Message>(); // Excluir a requisição NpgsqlTransaction transaction = connection.BeginTransaction(); RequestDao dao = new RequestDao(connection, transaction); RequestItemDao itemDao = new RequestItemDao(connection, transaction); MessageDao messageDao = new MessageDao(connection, transaction); try { // Verifica se a requisição possui itens items = itemDao.GetItemsByRequest(request_id); if (items.Count > 0) { // Exclui todos os itens que pertencem à requisição foreach (RequestItem item in items) { itemDao.Delete(item.itm_id); } } // Verifica se a requisição possui mensagens messages = messageDao.GetMessagesBySourceKey(request_id); if (messages.Count > 0) { // Exclui todas as mensagens associadas à requisição foreach (Message msg in messages) { messageDao.Delete(msg.msg_id); } } request_id = dao.Delete(request_id); result.SetData(request_id); result.Success(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.ToString()); } finally { connection.Close(); } return(result); }
/// <summary>Atualiza um item</sumary> public ObjResult Update(int item_id, RequestItem item, int user_id, string action) { connection = db.GetCon(); connection.Open(); RequestItemBusiness business = new RequestItemBusiness(connection, null); List <string> messages_list = new List <string>(); ObjResult result = new ObjResult(); try { item.SetId(item_id); // <-- Assegura que o item possua um id para atualização messages_list = business.Validate(item, user_id, action); if (messages_list.Count > 0) { result.resultStatus = "error"; result.resultMessages = messages_list; connection.Close(); return(result); } } finally { connection.Close(); } connection.Open(); NpgsqlTransaction transaction = connection.BeginTransaction(); RequestItemDao dao = new RequestItemDao(connection, transaction); try { item_id = dao.Update(item_id, item); transaction.Commit(); result.Success(); result.SetData(item_id); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.ToString()); } finally { connection.Close(); db.Close(); } return(result); }
/// <summary>Marca como importante uma determinada mensagem</sumary> public ObjResult MarkAsImportant(int msg_id) { connection = db.GetCon(); connection.Open(); MessageDao dao = new MessageDao(connection, null); ObjResult result = new ObjResult(); try { msg_id = dao.IsImportant(msg_id); result.SetData(msg_id); result.Success(); } finally { connection.Close(); } return(result); }
/// <summary>Exclui um determinado progresso de item</sumary> public ObjResult Delete(int item_progress_id) { connection = db.GetCon(); connection.Open(); ItemProgressDao dao = new ItemProgressDao(connection, null); ObjResult result = new ObjResult(); try { item_progress_id = dao.Delete(item_progress_id); result.SetData(item_progress_id); result.Success(); } finally { connection.Close(); db.Close(); } return(result); }
/// <summary>Cancela um determinado item</sumary> public ObjResult Cancel(int item_id) { connection = db.GetCon(); connection.Open(); RequestItemDao dao = new RequestItemDao(connection, null); ObjResult result = new ObjResult(); try { item_id = dao.Cancel(item_id); result.SetData(item_id); result.Success(); } finally { connection.Close(); db.Close(); } return(result); }
/// <summary>Retorna uma determinada mensagem</sumary> public ObjResult GetMessageById(int msg_id) { connection = db.GetCon(); connection.Open(); Message msg = new Message(); ObjResult result = new ObjResult(); MessageDao dao = new MessageDao(connection, null); try { msg = dao.GetById(msg_id); result.SetData(msg); result.Success(); } finally { connection.Close(); } return(result); }
/// <summary>Retorna as dependências de que existem do item para com a requisição</sumary> /// <values>A prioridade, a data limite e a aplicação</values> public ObjResult GetRequestDependencies(int request_id) { connection = db.GetCon(); connection.Open(); Request request = new Request(); ObjResult result = new ObjResult(); RequestItemDao dao = new RequestItemDao(connection, null); try { request = dao.GetRequestDependencies(request_id); result.SetData(request); result.Success(); } finally { connection.Close(); db.Close(); } return(result); }
/// <summary>Retorna um determinado usuário</sumary> public ObjResult GetById(int user_id) { connection = db.GetCon(); connection.Open(); User user = new User(); ObjResult result = new ObjResult(); UserDao dao = new UserDao(connection, null); try { user = dao.GetById(user_id); result.SetData(user); result.Success(); } finally { connection.Close(); db.Close(); } return(result); }
/// <summary>Faz a publicação de uma determinada requisição</sumary> public ObjResult Send(int request_id, int user_id, string action, Message msg) { connection = db.GetCon(); connection.Open(); Request request = new Request(); ObjResult result = new ObjResult(); List <string> messages_list = new List <string>(); RequestDao requestDao = new RequestDao(connection, null); RequestBusiness business = new RequestBusiness(connection, null); try { // Validar requisição request = requestDao.GetById(request_id); Console.WriteLine("Status da requisição: " + request.req_status); messages_list = business.Validate(request, user_id, action); if (messages_list.Count > 0) { result.resultStatus = "error"; result.resultMessages = messages_list; connection.Close(); return(result); } } finally { connection.Close(); } connection.Open(); NpgsqlTransaction transaction = connection.BeginTransaction(); RequestItemDao itemDao = new RequestItemDao(connection, transaction); MessageDao messageDao = new MessageDao(connection, transaction); RequestDao r_dao = new RequestDao(connection, transaction); try { // Altera o status da requisição para ativa request_id = r_dao.ChangeStatus(request_id, 'A'); // Altera o status de todos os itens para <AAT> Aguardando Aprovação Técnica foreach (RequestItem item in itemDao.GetItemsByRequest(request_id)) { itemDao.SetStatus(item.itm_id, "AAT"); } // Envia mensagem e informa que foi gerada por meio de uma requisição de compra msg.SetSourceKey(request_id); msg.SetSourceType("request"); messageDao.Post(msg); // Adiciona o status de sucesso e data result.Success(); result.SetData(request_id); // Comita as alterações transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.ToString()); } finally { connection.Close(); } return(result); }