Ejemplo n.º 1
0
        /// <summary>: cria um novo item e o associa à uma requisição!
        /// <response>: retorna o id do item criado.
        public int Post(RequestItem item)
        {
            // Herda a aplicação e prioridade da requisição
            RequestService req_service = new RequestService();

            item.SetApplication(req_service.GetApplication(item.GetRequestId()));
            //item.SetPriority(req_service.GetPriority(item.GetRequestId()));

            // Atribue o id do item
            SchemeChecker checker = new SchemeChecker(conn, tran);

            item.SetId(checker.LastId("request_item", "itm_id") + 1);

            // Verifica se a prioridade é a mesma da requisição

            // Insere os dados na tabela de itens
            cmd = new NpgsqlCommand(post, conn, tran);
            cmd.Parameters.AddWithValue("@itm_id", item.itm_id);
            cmd.Parameters.AddWithValue("@itm_request_id", item.itm_request_id);
            cmd.Parameters.AddWithValue("@itm_status_id", item.itm_status_id);
            cmd.Parameters.AddWithValue("@itm_pn", item.itm_pn);
            cmd.Parameters.AddWithValue("@itm_quantity", item.itm_quantity);
            // Por padrão, a quantidade aprovada recebe o mesmo valor da quantidade solicitada!
            cmd.Parameters.AddWithValue("@itm_approved_quantity", item.itm_quantity);
            cmd.Parameters.AddWithValue("@itm_description", item.itm_description);
            cmd.Parameters.AddWithValue("@itm_application", item.GetApplication());
            cmd.Parameters.AddWithValue("@itm_priority", item.itm_priority);
            cmd.Parameters.AddWithValue("@itm_deadline", item.itm_deadline);
            cmd.Parameters.AddWithValue("@itm_active", item.itm_active);
            cmd.Parameters.AddWithValue("@itm_excluded", item.itm_excluded);

            cmd.ExecuteNonQuery();

            return(item.GetId());
        }